




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)實(shí) 驗(yàn)驗(yàn) 指指 導(dǎo)導(dǎo) 書書基于基于 STC 系列單片機(jī)教學(xué)實(shí)驗(yàn)箱系統(tǒng)系列單片機(jī)教學(xué)實(shí)驗(yàn)箱系統(tǒng)中南民族大學(xué)中南民族大學(xué) 0目錄1、STC89C52 簡介.11.1 特性.11.2 結(jié)構(gòu).22、ST89C52 試驗(yàn)箱硬件說明.32.1 實(shí)驗(yàn)箱概述.32.2 電源系統(tǒng).42.3 實(shí)驗(yàn)箱具體電路簡介.42.3.1 復(fù)位、晶振電路.42.3.2 蜂鳴器.52.3.3 開關(guān).52.3.4 發(fā)光二極管 LED 電路.62.3.5 脈沖發(fā)生電路.72.3.6 幾個常見的擴(kuò)展芯片.82.3.7 串口通信.112.3.8 CH451 鍵盤和七段 LED 擴(kuò)展電路.122.3.9 溫度傳感器及日時鐘.142.3.
2、10 LCD 的擴(kuò)展.153、開發(fā)環(huán)境簡介.173.1 keil 軟件.173.1.1 Keil C51 的安裝.173.1.2 Keil C51 的使用.223.2 Keil C51 的編譯環(huán)境 Vision2 .293.2.1 Vision2 的菜單.313.2.2 Vision2 的幾個窗口.373.3 創(chuàng)建項(xiàng)目.403.4 開發(fā)工具選項(xiàng).433.5 代碼分塊(Code Banking).483.6 用戶上電初始化程序 STARTUP.A51.493 STC 下載軟件.59Keil C51 與標(biāo)準(zhǔn) C .614.1 數(shù)據(jù)類型.614.2 C51 的關(guān)鍵字及擴(kuò)展關(guān)鍵字.644.3 存儲類型
3、.664.3.1 DATA 區(qū) .664.3.2 BDATA 區(qū).674.3.3 IDATA 段.674.3.4 PDATA 和 XDATA 段.684.3.5 CODE 段.684.3.6 指針.684.3.7 中斷服務(wù).694.3.8 宏.704.5 使用 Keil C 時的幾點(diǎn)注意.704.6 Keil C51 的配置文件.7114.6.1 專用寄存器 include 文件.724.6.2 絕對地址 include 文件.754.6.3 動態(tài)內(nèi)存分配 include 文件.764.6.4 緩沖區(qū)處理 include 文件.784.6.5 輸入輸出流 include 文件.804.7 Ke
4、il C51 庫函數(shù)原型.814.7.1 字符函數(shù) CTYPE.H.824.7.2 串函數(shù) INTRINS.H.854.7.3 一般 I/O 函數(shù) STDIO.H.884.7.4 標(biāo)準(zhǔn)函數(shù) STDLIB.H.934.7.5 數(shù)學(xué)函數(shù) MATH.H.934.7.6 絕對地址訪問 ABSACC.H.954.7.7 本征函數(shù) INTRINS.H.964.7.8 變量參數(shù)表 STDARG.H.984.7.9 全程跳轉(zhuǎn) SETJMP.H.994.7.10 訪問 SFR 和 SFR-BIT 地址 REGxxx.H.994.8 C51 與匯編的接口.1004.9 C51 的代碼優(yōu)化.1054.9.1 51
5、單片機(jī)變量優(yōu)化.1054.9.2 代碼生成選項(xiàng).1085、基本實(shí)驗(yàn).109實(shí)驗(yàn)要求.109實(shí)驗(yàn)報告內(nèi)容及格式.1095.1 存儲器實(shí)驗(yàn).1105.2 二進(jìn)制數(shù)與 BCD 的轉(zhuǎn)換.1115.3 P1 口實(shí)驗(yàn).1145.4 七段 LED 動態(tài)顯示.1165.5 矩陣鍵盤的使用.1195.6 外部中斷使用.1225.7 定時器/計數(shù)器的實(shí)驗(yàn) .1235.8 A/D 實(shí)驗(yàn).1245.9 D/A 實(shí)驗(yàn).1275.10 RS232 串口.1286、綜合實(shí)驗(yàn).1306.1 交通燈控制.1306.2 鍵盤及 LED 擴(kuò)展專用芯片 CH451 的使用.1346.2.1 CH451 原理介紹.1346.2.2 系
6、統(tǒng)硬件.1396.2.3 實(shí)例介紹.1396.3 看門狗的使用(復(fù)位判斷:上電、看門狗、按鍵復(fù)位).1426.4 電子琴的制作.1446.5 字符型 LCD1602A 使用.1466.5.1 LCD1602A 原理介紹.1476.5.2 系統(tǒng)硬件.15126.5.3 實(shí)例介紹.1516.6 點(diǎn)陣型 LCD 使用.1546.6.1 OCMJ48C 模塊介紹.1546.6.2 系統(tǒng)硬件.1606.6.3 實(shí)例介紹.1606.7 單總線溫度采集系統(tǒng).1636.7.1 DS18B20 原理介紹.1636.7.2 系統(tǒng)硬件設(shè)計.1726.7.3 實(shí)例介紹.1726.8 SPI 總線日歷系統(tǒng).1766.8
7、.1 DS1302 原理介紹 .1776.8.2 系統(tǒng)硬件設(shè)計.1806.8.3 實(shí)例介紹.180附件實(shí)驗(yàn)箱常用接口函數(shù).185- 0 - 1、STC89C52 簡介簡介1.1 特性特性80C51 核心處理器單元;3V/5V 工作電壓,操作頻率 033MHz;5V 工作電壓,操作頻率040MHz;大容量內(nèi)部數(shù)據(jù) RAM:1K 字節(jié) RAM;64/32/16/8kB 片內(nèi) Flash 程序存儲器,具有在應(yīng)用可編程(IAP) ,在系統(tǒng)可編程(ISP),可實(shí)現(xiàn)遠(yuǎn)程軟件升級,無需編程器;支持 12 時鐘(默認(rèn))或 6 時鐘模式;雙 DPTR 數(shù)據(jù)指針;SPI(串行外圍接口)和增強(qiáng)型 UART ;PCA
8、(可編程計數(shù)器陣列),具有 PWM 的捕獲/比較功能;4 個 8 位 I/O 口,含 3 個高電流 P1 口,可直接驅(qū)動 LED;3 個 16 位定時器/計數(shù)器;可編程看門狗定時器(WDT);低 EMI 方式(ALE 禁止);兼容 TTL 和 COMS 邏輯電平;掉電檢測和低功耗模式等。- 1 -1.2 結(jié)構(gòu)結(jié)構(gòu) 圖 1.1 STC89C52 的內(nèi)部結(jié)構(gòu)圖- 2 -2、ST89C52 試驗(yàn)箱硬件說明試驗(yàn)箱硬件說明2.1 實(shí)驗(yàn)箱概述實(shí)驗(yàn)箱概述ST89C52試驗(yàn)箱板圖以及區(qū)域劃分如圖2.1.2所示。主要由復(fù)位、晶振電路、蜂鳴器、開關(guān)、16個發(fā)光二極管LED、脈沖發(fā)生電路、8155擴(kuò)展(包括七段LE
9、D顯示和4*4鍵盤等)、A/D擴(kuò)展、D/A擴(kuò)展、溫度傳感器、日時鐘、16*16的LED點(diǎn)陣、CH451鍵盤和七段LED擴(kuò)展、字符LCD、點(diǎn)陣LCD、RS232/485串口等組成,用戶可以單獨(dú)使用每個部分,也可根據(jù)實(shí)際需要進(jìn)行不同的組合,以實(shí)現(xiàn)功能復(fù)雜的系統(tǒng):電源開關(guān)電源指示燈復(fù)位開關(guān)蜂鳴器RS232串口485串口16*16LED點(diǎn)陣時鐘CH451鍵盤及LED控制區(qū)按鍵區(qū)A/D轉(zhuǎn)換區(qū)D/A轉(zhuǎn)換區(qū)8155擴(kuò)展區(qū)時鐘源區(qū)發(fā)光二極管區(qū)點(diǎn)陣、字符LCD區(qū)STC89c52- 3 -圖 2.1.2 STC89C52 實(shí)驗(yàn)箱的俯視圖2.2 電源系統(tǒng)電源系統(tǒng)系統(tǒng)電源直接由開關(guān)電源模塊提供+5 V、+12 V、-
10、12 V;開關(guān)電源模塊放置于實(shí)驗(yàn)箱PCB板下方。2.3 實(shí)驗(yàn)箱具體電路簡介實(shí)驗(yàn)箱具體電路簡介2.3.1 復(fù)位、晶振電路復(fù)位、晶振電路1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:R4001200R400310K+C400310ufS4000RESETVCCRESET圖2.3.1 復(fù)位電路 圖2.3.2 晶振電路1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet
11、 of File:E:書書書書書書書mcu51_090212.ddbDrawn By:C400847pfC400947pfY400111.0592MHZR40041MR40050X2X1- 4 -2.3.2 蜂鳴器蜂鳴器1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:LS40005V-SPEAKERR400910KVCCP14C40101ufR400610KQ4000S855012J4004BEE P圖2.3.4 蜂鳴器電路使用蜂鳴器
12、電路時需用跳線將J4004接通。2.3.3 開關(guān)開關(guān)實(shí)驗(yàn)箱中提供的開關(guān)有兩種:單脈沖按鍵、單刀雙置開關(guān)。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:R800810kR800910kVCCP10P11C800610412J8004P1.0K ey12J8005P1.1K eyK8000KEY0K8001KEY1P10P11圖2.3.5 單脈沖開關(guān)電路單脈沖按鍵有兩個KEY0和按鍵KEY1,按下為0,放開為1,由J8004和J8005
13、跳線決定是否與P10和P11相連。- 5 -1234ABCD4321DCBATitleNumberRevisionSizeA4Date:22-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:123U8000A74ALS00456U8000B74ALS00R800210kR800410kR8000120S8000SW SPDTGNDVCCVCCP33C8000104GND12J8000ExtINT1E nableP33圖2.3.6 單刀雙置開關(guān)電路圖單刀雙置開關(guān)電路由RS觸發(fā)器組成,有兩組,分別由跳線J8000和J8001選擇是否接
14、P33和P34,其邏輯關(guān)系圖如下表表2.3.1 擴(kuò)展口地址及用途表2.3.1 單刀雙置開關(guān)的真值表/S/RQ0101012.3.4 發(fā)光二極管發(fā)光二極管 LED 電路電路發(fā)光二極管共有16個,由跳線J6000決定是否選擇使用,低電平使之亮,高電平使之滅。/S/RQ- 6 -123456ABCD654321DCBATitleNumberRevisionSizeBDate:22-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:D6000LE DD6002LE DR6001510R6003510A02A13A24A35A46A57A68
15、A79B018B117B216B315B414B513B612B711E19DIR1U600074HC245R6009510D6008LE DR6008510D6007LE DR6007510D6006LE DR6006510D6005LE DR6005510D6003LE DD6004LE DR6004510VCCVCCLE D0LE D1LE D2LE D3LE D4LE D5LE D6LE D7ENABLE12J6000LE DEnableR600010kVCCGNDP6007LE DP6006LE DP6005LE DP6004LE DP6003LE DP6002LE DP6001LE
16、 DP6000LE D圖2.3.7 發(fā)光二極管電路圖2.3.5 脈沖發(fā)生電路脈沖發(fā)生電路123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:R3021360C30170.01ufR3022360Y30008M8M34U3006B74LS0456U3006C74LS0412U3006A74LS04圖2.3.8 脈沖發(fā)生電路123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2
17、009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:8M500KT0T1T2T4T5T6T7P30054MHzP30072MHzP30091MHzP3011500kHzP3006250kHzP3008125kHzP301062.5kHzP301231.25kHzR3009120R3010120R3011120R3012120R3013120R3014120R3015120R3016120CLK1Q03Q14Q25Q36MR2U3009A74HC393CLK13Q011Q110Q29Q38MR12U3009B74HC393圖2.3.9 分頻電路-
18、 7 -該部分的各個分頻信號的輸出在實(shí)驗(yàn)箱上都可以找到對應(yīng)的輸出插口,使用時用導(dǎo)線直接相連即可。2.3.6 幾個常見的擴(kuò)展芯片幾個常見的擴(kuò)展芯片該實(shí)驗(yàn)箱中常見的擴(kuò)展芯片包括: 8155、ADC0809、DAC0832、TLC7225。它們的I/O地址分配如下表2.3.2。表2.3.2 擴(kuò)展口地址及用途口地址擴(kuò)展名稱用途1000H8155控制口寫方式字1001H8155A口位選碼口、PA0-PA3為鍵盤L1-L4列選1002H8155B口字形碼口1003H8155C口PC0-PC3為鍵盤H1-H4行選2000H0832片選4000H0809片選6000H7225-2待轉(zhuǎn)換數(shù)據(jù)鎖存8000H722
19、5-1通道選擇其中DA0832、ADC0809及TLC7225芯片具體電路圖如2.3.10、2.3.11、2.3.12所示。8155在該實(shí)驗(yàn)箱中用途為擴(kuò)展8個LED及4*4鍵盤,具體電路如圖2.3.13所示。其中,74ls240為三態(tài)緩沖非門輸出;75452為雙通道與非門。若8155工作在擴(kuò)展LED及鍵盤狀態(tài),需用數(shù)據(jù)線連接插件J2000和J2001。123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:VREF8RFB9GND10I
20、OUT111IOUT212DI713DI614DI515DI416DI07CS1WR12GND3DI34DI25DI16XFE R17WR218ILE19VDD20U3010DAC0832L CJD0D1D2D3D4D5D6D7WRIOCS0832VCCVCC85326741U3011LM741CN+12V-12VC30214.7uFAOUTR30240GNDC3019104+C301810uf-12VR302510KVin2GND1-5V3U3012LM79L05ACZGNDC30201uFGNDP3013AnalogOutP3014AnalogGndGND圖2.3.10 DA0832電路圖
21、- 8 -123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:500KD0D1D2D3D4D5D6D7D0D1D2WRIOCS0809CS0809RDIOADINTAIN0AIN1AIN2AIN3AIN4AIN5AIN6AIN7VCCVCC231U3000ASN74S02D8910U3000CSN74S02D564U3000BSN74S02DIN31IN42IN53IN64IN75ST ART6EOC7D38OE9CLK10VCC1
22、1REF+12GND13D114D215REF-16D017D418D519D620D721ALE22ADD C23ADD B24ADD A25IN026IN127IN228U3003ADC0809NST ARTOEALE 0C3010 104+C300910ufR300812089U3006D74LS04圖2.3.11 AD0809電路圖123456ABCD654321DCBATitleNumberRevisionSizeBDate:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:D0D1D2D3D4D5D6D7DAA0D
23、AA1CS7225_1outB1outA2Vss3refB4refA5AGND6DGND7LDAC8DB79DB610DB511DB412outC13outD14VDD15refC16refD17A018A119WR20DB021DB122DB223DB324U3002TL C7225VCCGNDGND+12VC3011104+C301210ufR3017680R3018680R3019680R3020680C30130.01uFC30140.01uFC30150.01uFC30160.01uFC3008104GNDP3000AoutAP3001AoutBP3002AoutCP3003Aout
24、DP3004GNDGNDWRIO123U3005A74ALS028910U3005C74ALS02CS7225_2WRIO456U3005B74ALS02111213U3005D74ALS02圖2.3.12 TLC7225電路圖- 9 -1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:PA021VCC40PA122IO/M7PA223CE8PA324TMout6PA425TMin3PA526ALE11PA627WR10PA728RD9
25、PB130AD719PB231AD618PB332AD517PB433AD416PB534AD315PB635AD214PB736AD113PC037AD012PC138PC55PC239PC42PC31PB029GND20RESET4U20008155AD0AD1AD2AD3AD4AD5AD6AD7ALEIOIO/Meedddpdpccggdig4com4dig1com1aaffdig2com2dig3com3bbU2003LEDNumber*41A11B21Y3GND42Y52A62B7VCC8U2002754521A11B21Y3GND42Y52A62B7VCC8U2005754521A
26、11B21Y3GND42Y52A62B7VCC8U2006754521A11B21Y3GND42Y52A62B7VCC8U200775452a0b0c08155d0e0f0g0dp0aledbledcleddledeledfledgleddpledaledbledcleddledeledgleddpledN01N02N03N04N05N06N07N08PA7PA6PA5PA4PA3PA2PA1PA0PA0PA1PA2PA3PA4PA5PA6PA7VCCVCCVCCVCCN1N2N3N4N5N6N7N8PC0PC1PC2PC3S2000SW-PBS2001SW-PBS2002SW-PBS2003
27、SW-PBS2004SW-PBS2005SW-PBS2006SW-PBS2007SW-PBS2008SW-PBS2009SW-PBS2010SW-PBS2011SW-PBS2012SW-PBS2013SW-PBS2014SW-PBS2015SW-PBR200010kR200110kR200210kR200310kVCCL4L3L2L1H1H2H3H4PB0PB1PB2PB3PB4PB5PB6PB7RDWRPC4PC5C2008104C2004104C2005104C2006104C2007104aledbledcleddledeledfledgledN1N2N3N4N5N6N7N8H1L1dp
28、led1234567891011 1213 1415 1617 1819 2021 2223 2425 26J2001LED&KEYto8155L2L3L4H2H3H4fleda0b0c08155d0e0f0g0N01N02N03N04N05N06N07N08PC0PA0dp01234567891011 1213 1415 1617 1819 2021 2223 2425 26J20008155toLED&KEYPA1PA2PA3PC1PC2PC3CS8155GNDGNDGNDGND1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y
29、3141Y4122Y192Y272Y352Y431G12G19U200174ALS240eedddpdpccggdig4com4dig1com1aaffdig2com2dig3com3bbU2004LEDNumber*4圖2.3.13 8155擴(kuò)展LED及鍵盤電路圖- 10 -2.3.7 串口通信串口通信實(shí)驗(yàn)箱提供的串口通訊包括:RS232和RS485兩種,采用了專用的接口轉(zhuǎn)換芯片,分別將單片機(jī)的TTL電平轉(zhuǎn)換成RS232或RS485電平,某個時刻只能選用一種串口類型,通過J9004選擇,見圖2.3.14、2.3.15、2.3.16。當(dāng)選用RS485通訊時,需接通J9002,P14為高時,單片
30、機(jī)可通過RS485發(fā)送數(shù)據(jù);P14為低時,單片機(jī)可通過RS485接受數(shù)據(jù)。RS232電平即計算機(jī)9針串口得電平,采用負(fù)邏輯,15v3v代表1、3v15v代表0。RS485電平采用差分傳輸(平衡傳輸)的方式,由兩個引腳 A,B間的壓差決定電平的高低,發(fā)送端AB間的電壓差為26v代表1、26v代表0;接收端AB間的電壓差大于200mv時即代表1、壓差小于ABUU200mv時即代表0。ABUU 1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By
31、:R1 IN13R2 IN8T1 IN11T2 IN10GND15V+2V-6VCC16R1 OUT12R2 OUT9T1 OUT14T2 OUT7C1+1C1 -3C2+4C2 -5U9001MAX232C90030.1ufC90040.1ufC90060.1uf+C900510ufVCCC90020.1ufVCC162738495J9001RS232ConnectionRXD232TXD232GND圖2.3.14 RS232通訊電路1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:書書書書書書書
32、mcu51_090212.ddbDrawn By:VCCC9000103+C900110uf12J9000RS485Connection234VCC8167GND5DRABU9000MAX485CPATXD485RXD485R900420KR900320KR900212012J9003120ohmJumperVCCR900020KVCCDIR48512J9002RS485ControlDIR485P14R900120kGNDP14圖2.3.15 RS485通訊電路- 11 -值得注意的是,由于STC89c52是采用RS232串口下載數(shù)據(jù)的,因此在下載程序時J9004一定要選擇RS232的通訊。
33、1234ABCD4321DCBATitleNumberRevisionSizeA4Date:23-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:123J9004SerialDataReceiveRXD485P30RXD232TXD232P31TXD485P30圖2.3.16 RS232與RS485選擇電路2.3.8 CH451 鍵盤和七段鍵盤和七段 LED 擴(kuò)展電路擴(kuò)展電路為方便用戶的使用,增加實(shí)驗(yàn)箱操作的人性化,使用CH451擴(kuò)展了16個鍵盤及8個LED,方便用戶信息的輸入及簡單數(shù)據(jù)結(jié)果的輸出顯示,我們提供了CH451標(biāo)準(zhǔn)接口
34、函數(shù),用戶直接調(diào)用即口,CH451的具體使用可見PDF文檔。- 12 -123456ABCD654321DCBAabfcgde76421910abcdefg5dpdpGND3GND8DIS70077SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70067SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70057SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70047SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70037S
35、EG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70027SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70017SEG-LEDabfcgde76421910abcdefg5dpdpGND3GND8DIS70007SEG-LEDR70122KR70132KR70142KR70152KK7015SW-PBK7014SW-PBK7012SW-PBK7013SW-PBK7010SW-PBK7011SW-PBK7008SW-PBK7009SW-PBK7006SW-PBK7007SW-PBK7004SW-PBK7005S
36、W-PBK7002SW-PBK7003SW-PBK7000SW-PBK7001SW-PBDPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBADPGFEDCBAR7000200R7001200ABVCCSEG71VCC2DOUT3LOAD4DIN5DCLK6DIG77DIG68DIG59DIG410DIG311DIG212DIG113DIG014GND15RST16NC17SEG018SEG119SEG220SEG321SEG523SEG422SEG624D7000CH451DIPDIG7DIG6DIG5DIG4DIG3D
37、IG2DIG1DIG0DIG0DIG1DIG2DIG3DIG4DIG5DIG6DIG7SEG7SEG6SEG5SEG4SEG3SEG2SEG1SEG0SEG0SEG112345678JP7000MCU-InterfaceP10P11P12P13R70112KR70102KR70092KR70082KDOUTLOADDINDCLKDOUTLOADDINDCLK圖2.3.17 CH451鍵盤和七段LED擴(kuò)展電路- 13 -2.3.9 溫度傳感器及日時鐘溫度傳感器及日時鐘為拓寬學(xué)生的學(xué)習(xí)思路及與實(shí)際應(yīng)用相結(jié)合,我們在傳統(tǒng)的單片機(jī)運(yùn)用上,加入一些實(shí)際應(yīng)用中常見的總線結(jié)構(gòu),如單總線、SPI總線等;單總線
38、以溫度傳感器18B20為例;SPI總線以日時鐘DS1302為例。溫度傳感器18B20電路及引腳如圖2.3.18及表2.3.3,該接口可兼容紅外接線頭。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:27-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:R400310KVCCP17+ C400710uf123J4002P1.7to?圖2.3.18 溫度傳感器18B20電路表2.3.3 18B20的引腳定義18B20引腳定義1GND 2DQ3VCC串行時鐘芯片DS1302電路如圖2.3.19
39、,使用時需用跳線將J4000、J4001、J4002選擇到相應(yīng)的狀態(tài)。則DS1302與STC89C52的引腳對應(yīng)關(guān)系如表2.3.4。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:27-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:Vbat1x12x23GND4CS5SDA6SCL7VCC8U4000DS1302Y400032768VCCP15P16P17D40001N4001L4000100uh101VCCC4002FS0.047123J4000P1.5to?123J4001P1.6
40、to?123J4002P1.7to?SCLSDACS1302LCDRCLCDRWLCDE圖2.3.19 DS1302電路連接圖表2.3.4 DS1302與89c52的引腳連接對應(yīng)關(guān)系DS1302引腳STC89C52引腳SCLP1.5SDAP1.6CSP1.7- 14 -2.3.10 LCD 的擴(kuò)展的擴(kuò)展LCD的擴(kuò)展提供了字符型和點(diǎn)陣型的兩種,分別為:16字符2行的LCD1602A及128 64點(diǎn)陣的OCMJ48C,雖然他們的引腳定義稍有不同,但可共用同一個接口,電路圖如2.3.20,LCD1602A及OCMJ48C的引腳定義如表2.3.5和2.3.6。1234ABCD4321DCBATitle
41、NumberRevisionSizeA4Date:28-Apr-2009Sheet of File:E:書書書書書書書mcu51_090212.ddbDrawn By:VCCR40082KR400751LCDRCLCDRWLCDEP20P21P22P23P24P25P26P27R401151VSS1VCC2NC3RS/CS4R/W ST D5E(SCK)6DB07DB18DB29DB310DB411DB512DB613DB714PSB15NC16/RST17NC18LE DA19LE DK20LCD4000LCD128*6412J4005LCD_LED_ON圖 2.3.20 LCD 接口圖表2
42、.3.5 LCD1602A的引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀寫選擇端(H/L)13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極表2.3.6 OCMJ48C(12864)引腳說明引腳名稱方向說明引腳名稱方向說明1VSS-電源端11DB4I/O數(shù)據(jù) 42VDD-電源地12DB5I/O數(shù)據(jù) 53VO-驅(qū)動電壓輸入
43、端13DB6I/O數(shù)據(jù) 64RSIH:數(shù)據(jù) L:指令14DB7I/O數(shù)據(jù) 75R/WIH:寫 L:讀15PSBIH:并 L:串- 15 -6EI使能信號高有效16NC7DB0I/O數(shù)據(jù) 017/RSTI復(fù)位8DB1I/O數(shù)據(jù) 118NC9DB2I/O數(shù)據(jù) 219LEDK-10DB31/0數(shù)據(jù) 320LEDA- 16 -3、開發(fā)環(huán)境簡介、開發(fā)環(huán)境簡介3.1 keil 軟件軟件Keil C51 是德國知名軟件公司 Keil(現(xiàn)已并入 ARM 公司)開發(fā)的基于8051 內(nèi)核的微控制器軟件開發(fā)平臺,是眾多單片機(jī)應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,為目前開發(fā) 8051 內(nèi)核單片機(jī)的主流工具。它集編輯,編譯,仿
44、真等于一體,同時還支持 PLM、匯編和 C 語言的程序設(shè)計,其界面和常用的微軟 VC+的界面相似,界面友好,易學(xué)易用,在調(diào)試程序,軟件仿真方面也有很強(qiáng)大的功能。與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51 軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows 界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹 Keil C51 的安裝和開發(fā)系統(tǒng)各部分功能和使用。3.1.1
45、Keil C51 的安裝的安裝以安裝 Keil C51 V7.02 版本為例,安裝 Keil C51 V7.02 需要的計算機(jī)系統(tǒng)要求比較低,只要計算機(jī)安裝了 Windows 環(huán)境就可以了,操作步驟如下。1) 在 Windows 環(huán)境下運(yùn)行軟件包中 SetupSetup.exe, 出現(xiàn)圖?1 所示對話框,選擇安裝版本。- 17 -圖?1 安裝Keil C51 首先出現(xiàn)的版本選擇2) 選擇,出現(xiàn)?2 對話框,說明當(dāng)前版本號,并要求確認(rèn)是否安裝。圖?2 安裝確認(rèn)對話框3) 單擊,出現(xiàn)如圖?3 的版權(quán)對話框。圖?3 版權(quán)對話框4) 選擇,出現(xiàn)如圖?4 的安裝路徑對話框。系統(tǒng)默認(rèn)的安裝路徑為:C:Ke
46、il,用戶可以選擇其他安裝路徑。- 18 -圖?4 安裝路徑對話框5) 確定好安裝路徑后,單擊,出現(xiàn)如圖?5 的信息對話框,用戶需按照要求填好,其中序列號需要到安裝軟件包中的 sn.txt 中找。圖?5 安裝信息對話框6) 各類信息正確填好后,單擊,出現(xiàn)如圖?6 的安裝盤所在目錄選擇對話框,默認(rèn)的為 A:,瀏覽選擇真正的安裝盤所在目錄為安裝軟件包中的 disk 目錄。- 19 -圖?6 安裝盤所在目錄選擇對話框7) 選擇好安裝盤目錄后,單擊,出現(xiàn)如圖?7 所示的 Security key 的選擇,選擇默認(rèn)狀態(tài)。圖?7 安裝盤所在目錄選擇對話框8) 單擊, ,出現(xiàn)如圖?8 所示的用戶資料對話框。
47、- 20 -圖?8 用戶資料對話框9) 單擊, ,出現(xiàn)如圖?9 所示的安裝畫面。圖?9 安裝畫面10) 安裝完成后,系統(tǒng)會提問是否選擇在線登記等,同時出現(xiàn)完成對話框,單擊,安裝過程就全部結(jié)束了。以上簡單介紹了 KEIL51 軟件的安裝過程,要使用 KEIL51 軟件,必需先要安裝好它。安裝好的路徑 C:KEIL 文件夾下包含了所有 8051 開發(fā)工具的全部安裝信息,如表?所示。表? 8051 開發(fā)工具的安裝信息文件夾描述C:KEILC51ASM匯編 SFR 定義文件和模板源程序文件C:KEILC51BIN 8051 工具的執(zhí)行文件C:KEILC51EXAMPLES示例應(yīng)用C:KEILC51RT
48、X51完全實(shí)時操作系統(tǒng)文件C:KEILC51RTX_TINY小型實(shí)時操作系統(tǒng)文件C:KEILC51INCC 編譯器包含文件C:KEILC51LIBC 編譯器庫文件啟動代碼和常規(guī) I/O 資源C:KEILC51MONITOR目標(biāo)監(jiān)控文件和用戶硬件的監(jiān)控配置C:KEILUV2普通 uVision2 文件- 21 -3.1.2 Keil C51 的使用的使用進(jìn)入 Keil C51 后,屏幕如下圖 3.1.1、3.1.2 所示。幾秒鐘后出現(xiàn)編輯界。圖 3.1.1 啟動 Keil C51 時的屏幕圖 3.1.2 進(jìn)入 Keil C51 后的編輯界面簡單程序的調(diào)試、學(xué)習(xí)最好的方法是直接操作實(shí)踐。下面通過簡
49、單的編程、調(diào)試,引導(dǎo)大家學(xué)習(xí) Keil C51 軟件的基本使用方法和調(diào)試技巧。1)建立一個新工程。單擊 Project 菜單,在彈出的下拉菜單中選中 New Project 選項(xiàng)。- 22 -圖 3.1.3 新建工程文件2)然后選擇你要保存的路徑,輸入工程文件的名字,比如保存到 C51 目錄里,工程文件的名字為 C51 如下圖所示,然后點(diǎn)擊保存。建議:今后每新建一個工程都要在適當(dāng)?shù)拇疟P位置新建一個文件夾用來保存工程文件,以方便管理,并養(yǎng)成良好的習(xí)慣。圖 3.1.4 工程文件保存路徑3)這時會彈出一個對話框,要求你選擇單片機(jī)的型號,你可以根據(jù)你使用的單片機(jī)來選擇,keil c51 幾乎支持所有的
50、 51 核的單片機(jī),此處以 Atmel 的89C51 為例,如圖 3.1.5 所示,選擇 89C51 之后,右邊欄是對這個單片機(jī)的基本的說明,然后點(diǎn)擊確定。 圖 3.1.5 選擇所用單片機(jī)4)完成上一步驟后,屏幕如圖 3.1.6 所示 。此時可開始編寫程序了。- 23 -圖 3.1.6 新建工程完成圖5)在圖 3.1.7 中,單擊“File”菜單,再在下拉菜單中單擊“New”選項(xiàng)。圖 3.1.7 新建文件6)新建文件后屏幕如圖 3.1.8 所示。圖 3.1.8 新建文件框此時光標(biāo)在編輯窗口里閃爍,可以鍵入用戶的應(yīng)用程序了,建議首先保存該空白的文件,單擊菜單上的“File”,在下拉菜單中選中 “
51、Save As”選項(xiàng)單擊,屏幕如圖 3.1.9 所示,在“文件名”欄右側(cè)的編輯框中,鍵入欲使用的文件名,同時,必須鍵入正確的擴(kuò)展名。注意,如果用語言編寫程序,則擴(kuò)展 - 24 -名為(.c);如果用匯編語言編寫程序,則擴(kuò)展名必須為(.a)。然后,單擊“保存”按鈕。 圖 3.1.9 保存新建文件7)回到編輯界面后,單擊“Target 1”前面的“”號,然后在“Source Group 1”上單擊右鍵,彈出如下菜單。圖 3.1.10 在工程文件中加入文件然后單擊“Add File to Group Source Group 1” 屏幕如圖 3.1.11 所示。圖 3.1.11 選擇所加文件選中 T
52、est.c,然后單擊“Add ”屏幕好圖 3.1.12 所示。- 25 -圖 3.1.12 輸入源程序 注意,此時“Source Group 1”文件夾中多了一個子項(xiàng)“Text1.c”。子項(xiàng)的多少與所增加的源程序的多少相同。8)輸入 C 語言源程序。#include /包含文件#includevoid main(void) /主函數(shù)SCON=0 x52;TMOD=0 x20;TH1=0 xf3; TR1=1; /此行及以上3行為PRINTF函數(shù)所必須printf(“Hello I am KEIL. n”); /打印程序執(zhí)行的信息printf(“I will be your friend.n”)
53、; while(1); 輸入上述程序后,讀者已經(jīng)看到了事先保存待編輯的文件的好處了吧,即Keil c51會自動識別關(guān)鍵字,并以不同的顏色提示用戶加以注意,這樣會使用戶少犯錯誤,有利于提高編程效率。程序輸入完畢后,如圖3.1.13所示。- 26 -圖 3.1.13 完成源程序輸入在上圖中,單擊“Project”菜單,再在下拉菜單中單擊“Built Target”選項(xiàng)(或者使用快捷鍵 F7) ,編譯成功后,再單擊“Project”菜單,在下拉菜單中單擊“Start/Stop Debug Session”(或者使用快捷鍵 Ctrl+F5) ,屏幕如圖 3.1.14 所示。注意,編譯時如果是“0 Er
54、ror(s), 0 Warning(s).”就表示程序沒有問題了(至少是在語法上不存在問題了) 。如果存在錯誤或警告,請仔細(xì)檢查程序,修改后,再編譯,直到通過為止。圖 3.1.14 編譯程序- 27 -9)調(diào)試程序。在上圖中,單擊“Debug”菜單,在下拉菜單中單擊“Go”選項(xiàng), (或者使用快捷鍵 F5) ,然后再單擊“Debug”菜單,在下拉菜單中單擊“Stop Running”選項(xiàng)(或者使用快捷鍵 Esc) ;再單擊“View”菜單,再在下拉菜單中單擊“Serial Windows #1”選項(xiàng),就可以看到程序運(yùn)行后的結(jié)果,其結(jié)果如圖 3.1.15 所示。圖 3.1.15 調(diào)試程序到此為止,
55、我們已經(jīng)在 Keil C51 上完成了一個完整工程。但這只是純軟件的開發(fā)過程,如何使用程序下載器看一看程序運(yùn)行的結(jié)果呢?需將編譯后的結(jié)果會生成 HEX 格式的程序文件通過專門的芯片燒寫工具載入并最終燒錄到具體的芯片中。芯片安裝到自己的電路板上,通電,就可以運(yùn)行里面的程序了。10)單擊“Project”菜單,再在下拉菜單中單擊“ ” 在圖 3.1.16 中,單擊“Output”中單擊“Create HEX File” 選項(xiàng),使程序編譯后產(chǎn)生HEX 代碼。使用專用下載軟件可以把該程序下載到所用單片機(jī)中運(yùn)行。圖 3.1.16 選擇目標(biāo)代碼文件的格式- 28 -3.2 Keil C51 的編譯環(huán)境的編
56、譯環(huán)境 Vision2Keil C51 的項(xiàng)目開發(fā)流程與一般軟件項(xiàng)目開發(fā)流程的方法是相似的。1) 用戶可用 IDE 本身或其它編輯器編輯 C 或匯編源文件;2) 分別由 C51 或 A51 編譯器編譯生成目標(biāo)文件(.OBJ);3) 目標(biāo)文件可由 LIB51 創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng) L51 連接定位生成絕對目標(biāo)文件(.ABS);4) 使用 OH51 將 ABS 文件轉(zhuǎn)換成標(biāo)準(zhǔn)的 Hex 文件,以供調(diào)試器使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如 EPROM 中。Keil C51 的工具包整體結(jié)構(gòu)圖就可以很好地表述上述過程,如圖?所示。 V
57、ision2集成開發(fā)環(huán)境(IDE)C51編譯器(ANSI C Compiler)A51匯編編譯器(Macro Assembler)C51庫(ANSI standard library)LIB51庫(LIB Library Manager)RTX51實(shí)時操作系統(tǒng)(RTX51 Real-Time Operating System)BL51連接(BL51 Linker/Locater) Vision2調(diào)試器( Vision2 Debugger)HEX文件生成高速CPU外設(shè)仿真(High-speed CPU/Peripheral Simulation)51監(jiān)視器調(diào)試器(Monitor-51 Targe
58、t Debugger)外接仿真(Interface for Emulators & Target Debugger)圖? Keil C51 工具包整體結(jié)構(gòu)圖 Vision2 是一種集成化的文件管理編譯環(huán)境,是 keil C 的 Windows 集成開發(fā)環(huán)境(IDE),支持所有的 KEIL 8051 工具,可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程,是功能相當(dāng)強(qiáng)大的 C51 開發(fā)工具, 。- 29 -由于集成編譯環(huán)境 Vision 2 將 Keil C51 的C51、A51、BL51、LIB51、OH51 及 RTX-51 等在內(nèi)的編輯、匯編、定位連接、庫、轉(zhuǎn)換和模擬等軟件集成在
59、一個環(huán)境下,因此使用者使用起來是很簡單方便的,可以大大加速用戶的嵌入式系統(tǒng)的開發(fā)過程。C51 編譯器和 A51 匯編器源代碼由 uVision2 IDE 創(chuàng)建,并被 C51 編譯或 A51 匯編,編譯器和匯編器從源代碼生成可重定位的目標(biāo)文件。Keil C51 編譯器完全遵照 ANSI C 語言標(biāo)準(zhǔn),支持 C 語言的所有標(biāo)準(zhǔn)特性,及添加了直接支持 8051 結(jié)構(gòu)的幾個特性。Keil A51 宏匯編器支持 8051 及其派生系列的全部指令集。LIB51 庫管理器 LIB51 庫管理器允許用戶從由編譯器或匯編器生成的目標(biāo)文件創(chuàng)建目標(biāo)庫庫,是一種被特別地組織過并在以后可以被連接重用的對象模塊。當(dāng)連接器
60、處理一個庫時,僅僅那些被使用的目標(biāo)模塊才被真正使用。BL51 連接器/定位器 BL51 連接器/定位器利用從庫中提取的目標(biāo)模塊和由編譯器或匯編器生成的目標(biāo)模塊創(chuàng)建一個絕對地址的目標(biāo)模塊,一個絕對地址目標(biāo)模塊或文件包含不可重定位的代碼和數(shù)據(jù),所有的代碼和數(shù)據(jù)被安置在固定的存儲器單元中,該絕對地址目標(biāo)文件可以用來:寫入 EPROM 或其它存儲器件中;由 uVision2 調(diào)試器使用來模擬和調(diào)試;及由仿真器用來測試程序。uVision2 調(diào)試器 uVision2 源代碼級調(diào)試器是一個理想地快速可靠的程序調(diào)試器,此調(diào)試器包含一個高速模擬器,能夠讓用戶模擬整個 8051 系統(tǒng),包括片上外圍器件和外部硬件,當(dāng)用戶從器件庫中選擇器件時,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 夾具設(shè)計工作總結(jié)
- 中華優(yōu)傳統(tǒng)文化 課件 第八章 中國傳統(tǒng)科學(xué)與技術(shù)
- 2025西華師范大學(xué)輔導(dǎo)員考試試題及答案
- 2025西安電子科技大學(xué)長安學(xué)院輔導(dǎo)員考試試題及答案
- 2025遼河石油職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 2025石河子大學(xué)輔導(dǎo)員考試試題及答案
- 2025電子科技大學(xué)輔導(dǎo)員考試試題及答案
- 生物畢業(yè)設(shè)計中期答辯
- 蕪湖宜居投資(集團(tuán))有限公司招聘筆試題庫2025
- 合肥創(chuàng)和資產(chǎn)管理有限責(zé)任公司招聘筆試題庫2025
- 試卷交接簽字單
- 高考化學(xué)答題技巧與規(guī)范課件
- 2022屆高考英語復(fù)習(xí):最后一節(jié)英語課(13張PPT)
- 加強(qiáng)評標(biāo)專家管理實(shí)施方案
- 初中畢業(yè)典禮畢業(yè)季博士帽藍(lán)色創(chuàng)意PPT模板
- 股票實(shí)戰(zhàn)技巧(一)薛斯通道_CCI_DMI經(jīng)典指標(biāo)組合
- 小學(xué)生德育教育ppt課件
- 配電箱系統(tǒng)圖
- 精選靜電感應(yīng)現(xiàn)象的應(yīng)用練習(xí)題(有答案)
- 初中音樂--人聲的分類--(1)pptppt課件
- 小作坊生產(chǎn)工藝流程圖(共2頁)
評論
0/150
提交評論