單片機(jī)--多功能電子鐘--課程設(shè)計報告_第1頁
單片機(jī)--多功能電子鐘--課程設(shè)計報告_第2頁
單片機(jī)--多功能電子鐘--課程設(shè)計報告_第3頁
單片機(jī)--多功能電子鐘--課程設(shè)計報告_第4頁
單片機(jī)--多功能電子鐘--課程設(shè)計報告_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)原理及應(yīng)用課程設(shè)計報告課題: 以電子鐘為主的多功能設(shè)計 班級 車輛3101 學(xué)號 3102117107 學(xué)生姓名 秦延力 指導(dǎo)教師 段衛(wèi)平 淮陰工學(xué)院電子與電氣工程學(xué)院目 錄1 課程設(shè)計概述4 1.1 設(shè)計課題任務(wù)4 1.2 功能要求說明4 1.3 設(shè)計課題總體方案及工作原理42 設(shè)計課題硬件系統(tǒng)的設(shè)計62.1 硬件系統(tǒng)各模塊功能簡要介紹62.2 原理電路圖72.3 設(shè)計PCB圖,元器件布局圖與與器件清單73 軟件系統(tǒng)的設(shè)計83.1 軟件系統(tǒng)各功能模塊簡要介紹83.2 設(shè)計課題軟件系統(tǒng)程序流程框圖83.3 設(shè)計課題軟件系統(tǒng)程序清單 114 仿真與誤差分析 124.1 設(shè)計課題的設(shè)計結(jié)論及

2、使用說明 124.2 設(shè)計課題的仿真結(jié)果 124.3 設(shè)計課題的誤差分析 124.4 設(shè)計體會 134.5 教學(xué)建議 13參考文獻(xiàn) 14致謝 15附錄 16一、設(shè)計目的1總體要求(1) 獨(dú)立完成設(shè)計任務(wù)(2) 繪制系統(tǒng)硬件總框圖(3) 繪制系統(tǒng)原理電路圖(4) 制定編寫設(shè)計方案,編制軟件框圖,完成詳細(xì)完整的程序清單和注釋;(5) 制定編寫調(diào)試方案,編寫用戶操作使用說明書 (6) 寫出設(shè)計工作小結(jié)。對在完成以上文件過程所進(jìn)行的有關(guān)步驟如設(shè)計思想、指標(biāo)論證、方案確定、參數(shù)計算、元器件選擇、原理分析等作出說明,并對所完成的設(shè)計作出評價,對自己整個設(shè)計工作中經(jīng)驗(yàn)教訓(xùn),總結(jié)收獲和今后研修方向。2 具體要

3、求本次工程實(shí)踐的校內(nèi)部分主要以單片機(jī)為基礎(chǔ),進(jìn)行單片機(jī)軟件編程,目的是為了提高學(xué)生的軟件編程和系統(tǒng)設(shè)計能力,整個設(shè)計系統(tǒng)包括兩個部分,硬件及軟件部分,硬件部分已經(jīng)制作成功,學(xué)生只需要掌握其原理和焊接相應(yīng)的元器件,掌握元器件的辨別和元器件的作用以及應(yīng)用場所即可,另外對所焊接的電路還需要進(jìn)行仔細(xì)的檢查,判斷是否有焊接錯誤的地方或者短路的地方,對出現(xiàn)的異常情況要能夠根據(jù)現(xiàn)象判別原因,并具備解決問題的能力,從而切實(shí)提高學(xué)生的硬件電子電路的分析、判斷能力。 軟件編程是本次工程實(shí)踐的重要環(huán)節(jié)。在為期兩周的工程實(shí)踐中,將占據(jù)主要時間,學(xué)生要完成的軟件編程任務(wù)主要包括以下幾點(diǎn): 1)、熟悉Keil C51編程

4、平臺及相關(guān)編程軟件 2)、編寫、調(diào)試蜂鳴器、繼電器動作、方波程序并進(jìn)行軟硬件聯(lián)調(diào) 3)、編寫、調(diào)試LED流水燈(循環(huán)顯示)程序并進(jìn)行軟硬件聯(lián)調(diào) 4)、編寫、調(diào)試鍵盤掃描子程序并進(jìn)行軟硬件聯(lián)調(diào) 5)、編寫、調(diào)試數(shù)碼管動態(tài)掃描程序并進(jìn)行軟硬件聯(lián)調(diào) 6)、電子鐘設(shè)計(包括鍵盤、時鐘、顯示等) 7)、溫度測量控制系統(tǒng)設(shè)計(包括鍵盤、顯示、控制、報警等) 其中前五個內(nèi)容是后兩個內(nèi)容的基礎(chǔ),主要是編制一些子程序,為后繼的整個系統(tǒng)設(shè)計打下基礎(chǔ)。 電子鐘設(shè)計一個簡單的單片機(jī)編程設(shè)計,要求電子鐘軟件程序必須具備鍵盤掃描、數(shù)碼管顯示、時鐘以及日歷、秒表和鬧鐘功能。 溫度測量與控制系統(tǒng)設(shè)計是一種非常簡單而又應(yīng)用普遍

5、的溫度控制系統(tǒng)、他包括溫度采集、信號轉(zhuǎn)換、單片機(jī)處理以及控制、報警等部分。要求學(xué)生采用聲光報警方式。二 、總體設(shè)計2.1 系統(tǒng)硬件總框圖圖1 系統(tǒng)設(shè)計總框圖此次課程設(shè)計,AT89C52是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。此次課程設(shè)計的電子鐘就是由AT89C52單片機(jī)、時鐘電路、報警電路,LED流水燈電路,動態(tài)數(shù)碼管顯示電路、音樂電路等組成。運(yùn)用匯編語言來控制單片機(jī)AT89C52來實(shí)現(xiàn)LED流水燈、報警器、動態(tài)數(shù)碼顯示、電子音樂

6、等功能,并在此基礎(chǔ)上綜合運(yùn)用上述功能,實(shí)現(xiàn)電子鐘的設(shè)計(包括鍵盤、時鐘、顯示等),溫度測量控制系統(tǒng)(包括鍵盤、顯示、控制、報警等)。且本設(shè)計中的AT89C52單片機(jī)是整個工作過程的核心,是整個設(shè)計靈魂,它控制了脈沖時序的產(chǎn)生,顯示信號的發(fā)送控制顯示LED的選擇。同時也考慮到AT89C52單片機(jī)來制作電子時鐘其最大的好處就是可最大的調(diào)整時鐘使其準(zhǔn)確度更高。2.2 設(shè)計原理圖圖2 時鐘電路原理圖三、硬件單元設(shè)計3.1 NE555P模塊圖3為555定時器管腳分布。555定時器可構(gòu)成多諧振蕩器,是一種性能較好的時鐘源。調(diào)節(jié)電位器RW1,使在555輸出端3獲得頻率為5060Hz的矩形波信號,當(dāng)基本RS觸

7、發(fā)器Q為1時,門5開啟,此時脈沖信號通過門5作為計數(shù)脈沖加于計數(shù)器的計數(shù)輸入端CP。3.2 數(shù)碼管顯示為了能使電路簡單我們采用數(shù)碼管動態(tài)顯示方式。數(shù)碼管不同位顯示的時間間隔可以通過調(diào)整延時程序的延時長短來完成。數(shù)碼管顯示的時間間隔也能夠確定數(shù)碼管顯示時的亮度,若顯示的時間間隔長,顯示時數(shù)碼管的亮度將亮些,若顯示的時間間隔短,顯示時數(shù)碼管的亮度將暗些。若顯示的時間間隔過長的話,數(shù)碼管顯示時將產(chǎn)生閃爍現(xiàn)象。圖4 數(shù)碼管顯示圖3.3 DS1302模塊DS1302的RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行

8、操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。其管腳圖如下:圖5 DS1302管腳圖各引腳功能:Vcc1為后備電源,VCC2為主電源,X1和X2是振蕩源, SCLK為輸入端RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入 移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送 手段。3.4時鐘控制 石英晶體振蕩器是利用石英晶體的壓電效應(yīng)制成的一種諧振器件,它的基本構(gòu)成大致是:從一塊石英晶體上按一定方位角切下薄片,在它的兩個對應(yīng)面上涂敷銀層作為電極,在每個電極上各焊一根引線接到管腳上,再加上封裝外殼就構(gòu)成了石英晶體諧振器。其產(chǎn)品一般用

9、金屬外殼封裝,也有用玻璃殼、陶瓷或塑料封裝的。HMOS型MCS-51外部時鐘源的接發(fā):在XTLA1和XTLA2兩端跨接晶體或陶瓷振蕩器,與內(nèi)部反相器構(gòu)成穩(wěn)定的自激振蕩器。其發(fā)出的時鐘脈沖直接送入片內(nèi)定時控制部件,其中C電容對頻率有微調(diào)作用。圖6 時鐘電路3.5 揚(yáng)聲器圖7 揚(yáng)聲器原理圖蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的。因此需要一定的電流才能驅(qū)動它,單片機(jī)IO口輸出的電流較小,其TTL電平基本上驅(qū)動不了蜂鳴器,因此需要增加一個電流放大的電路。程序中通過改變單片機(jī)對應(yīng)IO口輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音調(diào)的聲音。另外,改變其占空

10、比,也可以控制蜂鳴器的聲音大小??梢杂袃煞N驅(qū)動方式,即用PNP或NPN三極管電流放大電路驅(qū)動。本電路通過一個PNP三極管9012來放大驅(qū)動蜂鳴器,當(dāng)輸出高電平時,三極管Q1截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當(dāng)輸出低電平時,三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制IO口輸出的電平來使蜂鳴器發(fā)出聲音和關(guān)閉,從而實(shí)現(xiàn)各種可能音響的產(chǎn)生。啟動報警子程序如下: 停止報警子程序如下:START: SETB P1.0 STOP: CLR P1.0RET RET3.6 LED燈顯示圖8 LED燈顯示電路圖本次課程設(shè)計中,“程序語言”通過“翻譯”軟件“翻譯”成單片機(jī)所需的二

11、進(jìn)制代碼,單片機(jī)可工作。要用外加電源和分壓電阻來控制低電平驅(qū)動點(diǎn)亮,因?yàn)閱纹瑱C(jī)不能直接高電平驅(qū)動LED燈。如圖D1-D8和R1、R2以及R6-R11連接到單片機(jī)IO口,當(dāng)P1口某腳變低時相應(yīng)LED發(fā)光。實(shí)現(xiàn)LED燈的閃爍,只需利用編程方法依次從低位到高位逐個變?yōu)榈碗娖?,等待少許時刻再變高即可。3.7 鍵盤圖9 鍵盤電路在MCS-51系列單片機(jī)的指令系統(tǒng)中設(shè)有散轉(zhuǎn)指令JMP A+DPTR,可看成是專門配合鍵入程序是整個應(yīng)用程序的核心部分。鍵盤的操作,無論是按鍵或鍵盤都是利用機(jī)械觸點(diǎn)的合、斷作用。一個電壓信號通過機(jī)械觸點(diǎn)的閉合、斷開過程。由于機(jī)械觸點(diǎn)的彈性作用,在閉合及斷開瞬間均有抖動過程,會出現(xiàn)

12、一系列負(fù)脈沖。抖動時間的長短,與開關(guān)的機(jī)械特性有關(guān),一般為510ms。一組按鍵或鍵盤都要通過I/O口線查詢按鍵的開關(guān)狀態(tài)。且獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單,但每個按鍵必須占用一根I/O口線,在按鍵數(shù)量較多時,I/O口線浪費(fèi)較大。3.8 AT89C52 AT89C52是此次課程設(shè)計的核心部分。其管腳圖如下:圖10 AT89C52管腳圖AT89C52是低功耗、高性能的CMOS8位單片機(jī)。片內(nèi)帶有8KB的Flash存儲器,且允許在系統(tǒng)內(nèi)改寫或用編程器編程。另外,AT89C52的指令系統(tǒng)和引腳與80C52完全兼容。AT89C52各管腳功能如下:VCC:供電電壓;GND:接地;P0口:P0口為一個

13、8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。;P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流;P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流;P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入;P3口管腳功能: P3.0是RXD(串行輸入口);P3.1是TXD(串行輸出口);P3.2是/INT0(

14、外部中斷0);P3.3是/INT1(外部中斷1);P3.4是T0(記時器0外部輸入);P3.5是T1(記時器1外部輸入);P3.6是/WR(外部數(shù)據(jù)存儲器寫選通);P3.7是/RD(外部數(shù)據(jù)存儲器讀選通);P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許輸出電平用于鎖存地址的地位字節(jié)。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保

15、持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。四、軟件單元設(shè)計4.1程序流程圖開始取系統(tǒng)時間并轉(zhuǎn)二進(jìn)制為ACSII碼將時間存入顯示緩沖區(qū)顯示時間和界面調(diào)用延時子程序返回DOS程序結(jié)束調(diào)用清屏子程序C鍵按下?ESC鍵按下?否是是否調(diào)用時間修改程序讀鍵盤輸入值4.2程序清單T_R Bit P3.4 ;實(shí)時時鐘復(fù)位線引腳 T_C Bit P3.2 ;實(shí)時時鐘時鐘線引腳 T_I Bit P3.3 ;實(shí)時時鐘數(shù)據(jù)線引腳 SEC EQU 30H MIN EQU 31H H

16、 EQU 32H D EQU 33H MON EQU 34H W EQU 35H Y EQU 36H ORG 0000H LJMP start ORG 001bH AJMP INTT1 ORG 0030HSTART: LCALL KEY AJMP START ;*蜂鳴器*KEY0: SETB P3.4 LCALL DELAY LCALL DELAY CLR P3.4 LCALL DELAY LCALL DELAYSETB P3.4LCALL DELAYLCALL DELAYCLR P3.4LCALL DELAYLCALL DELAYSETB P3.4LCALL DELAYLCALL DELAY

17、CLR P3.4RET ;*流水燈*KEY1: MOV R2,#2REB: MOV R1,#8 MOV A,#0AFHLOOPB: MOV P2,A RL A LCALL DELAY DJNZ R1,LOOPB DJNZ R2,REB RET;*日期* KEY2: CLR T_R CLR T_C MOV SP,#60H ;修改堆棧 MOV SEC,#00H ;初始時間設(shè)為10:00:00 MOV MIN,#00H MOV H,#10H MOV D,#18h ;初始日期設(shè)為08年1月18日第一周 MOV MON,#01H MOV W,#01H MOV Y,#08H LCALL SETDS1302

18、 LCALL GET1302 LCALL DISPLAY MOV R3,#25 MOV TMOD,#01H MOV TH0,#70H ;置定時器初值(定時40ms) MOV TL0,#00H SETB TR0 ;啟動定時器0LP1: JBC TF0,LP2 ;查詢計數(shù)溢出 SJMP LP1 ;未到40 ms繼續(xù)計數(shù)LP2: MOV TH0,#0B8H ;重新置定時器初值 MOV TL0,#00H LCALL DISPLAY ;顯示 DJNZ R3,LP1 ;未到1 S繼續(xù)循環(huán) LCALL GET1302 ;每過1s從DS1302讀取一次時間 MOV r3,#25 SJMP LP1;數(shù)碼顯示子程

19、序DISPLAY: MOV DPTR,#DIG_CODE;顯示分鐘 MOV P1,#11110111b MOV A,MIN ANL A,#0FH MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY MOV P1,#11111011b MOV A, MIN SWAP A ANL A,#07H MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY;顯示小時 MOV P1,#11111101b MOV A,H ANL A,#0FH MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY MOV P1,#11111110b MOV

20、 A,H SWAP A ANL A,#03H MOVC A,A+DPTR MOV P0,A LCALL DIS_DELAY RET ;顯示延時5ms子程序DIS_DELAY: PUSH PSW MOV R7,#10D1: MOV R6,#248D2: DJNZ R6,$ DJNZ R7,D1 POP PSW RET;設(shè)置DS1302初始時間,并啟動計時SETDS1302: CLR T_R NOP CLR T_C NOP SETB T_R NOP MOV B,#8EH ;寫控制命令字 LCALL INPUTBYTE MOV B,#00H ;寫保護(hù)關(guān)閉 LCALL INPUTBYTE SETB T

21、_C NOP CLR T_R MOV R0,#SECOND ;內(nèi)存中的時間首地址 MOV R1,#80H ;DS1302中的時間首地址 MOV R7,#7 ;字節(jié)數(shù)SETLOOP: CLR T_R NOP CLR T_C NOP SETB T_R NOP MOV B,R1 ;寫命令字 LCALL INPUTBYTE MOV A,R0 ;設(shè)置時間 MOV B,A LCALL INPUTBYTE INC R0 INC R1 INC R1 SETB T_C NOP CLR T_R NOP DJNZ R7,SETLOOP CLR T_R NOP CLR T_C NOP SETB T_R NOP MOV

22、 B,#8EH LCALL INPUTBYTE MOV B,#80H ;開寫保護(hù) LCALL INPUTBYTE SETB T_C NOP CLR T_R NOP RET;從DS1302讀取時間GET1302: MOV R0,#SECOND MOV R1,#81H ;DS1302中讀時間的首地址 MOV R7,#7GETLOOP: CLR T_R NOP CLR T_C NOP SETB T_R NOP MOV B,R1 LCALL INPUTBYTE ;寫命令字 LCALL OUTPUTBYTE ;讀時間 MOV R0,A ;將從DS1302中讀取的時間從內(nèi)存中保存 INC R0 ;修改地址

23、指針 INC R1 INC R1 SETB T_C NOP CLR T_R NOP DJNZ R7,GETLOOP RET;向DS1302寫一個字節(jié)INPUTBYTE: MOV R4,#8INPUTLOOP: MOV A,B RRC A MOV B,A MOV T_I,C SETB T_C NOP NOP NOP CLR T_C DJNZ R4,INPUTLOOP RET;從DS1302讀一個字節(jié)OUTPUTBYTE: CLR a CLR c MOV R4,#8OUTPUTLOOP: NOP NOP MOV C,T_I RRC A SETB T_C NOP NOP NOP CLR T_C DJ

24、NZ R4,OUTPUTLOOP RETKEY: MOV P1,#0F0H MOV A,P1 MOV B,A ACALL DELAY MOV A,P1 CJNE A,B,DO CJNE A,#0E0H,K1 AJMP KEY0K1: CJNE A,#0D0H,K2 AJMP KEY1K2: CJNE A,#0B0H,K3 AJMP KEY2K3: CJNE A,#070H,DO AJMP KEY3DO: RETDELAY: MOV R6,(#200)DL1: MOV R5,#250 DJNZ R5,$ DJNZ R6,DL1 RETDEL1: MOV R7,#02 DL2:MOV R6,#0F

25、FH DJNZ R6,$ DJNZ R7,DL2 RETDELAYY1:MOV R7,#02DELAY10:MOV R4,#187DELAY11:MOV R3,#248 DJNZ R3,$ DJNZ R4,DELAY11 DJNZ R7,DELAY10 DJNZ R5,DELAYY1 RETkey3: MOV SP,#60H MOV TMOD,#10H SETB ET1 SETB EA SETB TR1START0:clr p3.4 MOV 30H,#00HNEXTT:MOV A,30H MOV DPTR,#TABLE MOVC A,A+DPTR MOV R2,A JZ ENDD ANL A,

26、#0FH MOV R5,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR1 AJMP DD1SING:DEC A MOV 22H,A RL A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV TH1,A MOV 21H,A MOV A,22H RL A INC A MOVC A,A+DPTR MOV TL1,A MOV 20H,A SETB TR1DD1: LCALL DELAYY INC 30H AJMP NEXTTENDD:CLR TR1 AJMP START0INTT1:PUSH PSW PUSH ACC MOV TL1,20

27、H MOV TH1,21H CPL p3.4 POP ACC POP PSW RETIDELAYY:MOV R7,#02DELAY0:MOV R4,#187DELAY1:MOV R3,#248 DJNZ R3,$ DJNZ R4,DELAY1 DJNZ R7,DELAY0 DJNZ R5,DELAYY RETTABLE: DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4

28、H,0C4H,0B4H,04H DB 82H,01H,81H,94H,84H,0B4H,0A4H,04H DB 82H,01H,81H,94H,84H,0C4H,0B4H,04H DB 82H,01H,81H,0F4H,0D4H,0B4H,0A4H,94H DB 0E2H,01H,0E1H,0D4H,0B4H,0C4H,0B4H,04H,00HTABLE1: DW 64260,64400,64524,64580,64684,64777,64820,64898 DW 64968,65030,65058,65110,65157,65178,65217;字符顯示碼表DIG_CODE: DB 14H,

29、0d7H,4cH,45H,87H,25H,24H,57H,04H,44H END五、焊接與調(diào)試(一)軟件調(diào)試步驟1、從桌面或【開始】菜單選擇【程序】Keil Uvision命令,打開此軟件,進(jìn)入Keil Uvision界面。2、打開軟件后,在Project菜單中選擇New Project命令,打開一個新項(xiàng)目。保存此項(xiàng)目,輸入工程文件名后,并保存工程文件的目錄。4、為項(xiàng)目文件選擇一個目標(biāo)器件,即選擇8051的類型。在Data base 列表框中選擇“ATML 89C52”,確定。5、用鼠標(biāo)對準(zhǔn)項(xiàng)目工作區(qū)的目標(biāo)1,點(diǎn)擊右鍵在彈出的菜單中選擇“為目標(biāo)目標(biāo)1設(shè)置選項(xiàng)”。在為“為目標(biāo)目標(biāo)1設(shè)置選項(xiàng)”中,

30、點(diǎn)擊“調(diào)試”菜單,在此菜單中可選擇使用硬件仿真或軟件仿真,若連接實(shí)驗(yàn)箱時則選擇硬件仿真,點(diǎn)擊硬件仿真選項(xiàng)后面的調(diào)試選項(xiàng),在此對話框中選擇串口波特率,波特率為38400。6、上述設(shè)置好后,點(diǎn)擊“文件/新建”,創(chuàng)建源程序文件并輸入程序代碼。輸入好代碼后點(diǎn)擊“文件/保存”。7、把源文件添加到項(xiàng)目中,用鼠標(biāo)指在目標(biāo)工作區(qū)的目標(biāo)1,點(diǎn)擊右鍵在彈出的菜單中選擇添加文件到源代碼組,在彈出的添加文件框中,選擇需要添加到項(xiàng)目中的文件。8、開始編譯,點(diǎn)擊編譯連接的圖標(biāo),對項(xiàng)目文件進(jìn)行編譯。9、若編譯沒有錯誤后,為工程項(xiàng)目設(shè)置軟硬件調(diào)試環(huán)境。(二)燒錄程序的步驟1、用編輯軟件編寫程序,使用匯編語言編寫的程序文件名后

31、綴(即擴(kuò)展名)是.ASM,編寫的程序?yàn)榉Q為源程序。2、將源程序用編譯軟件進(jìn)行編譯,生成擴(kuò)展名為.OBJ的文件。3、通過編程器擴(kuò)展名為.HEX的可執(zhí)行文件燒到單片機(jī)內(nèi)。在寫入之前還可以進(jìn)行軟件仿真,既在軟件上模擬單片機(jī)程序原形情況,以便進(jìn)行調(diào)試和修改。(三)調(diào)試 按照此次課程設(shè)計的要求調(diào)試過程如下:按鍵KEY0,KEY1,KEY2,KEY3分別對應(yīng)蜂鳴器,LED流水燈,數(shù)碼管,音樂四個功能。1、蜂鳴器測試 通過按按鍵KEY0,聽到蜂鳴器發(fā)出“嘀” ,“嘀”的響聲;與相應(yīng)的程序代碼相比較,結(jié)果正確。2、LED流水燈測試 通過按按鍵KEY1,觀察到LED流水燈顯示,并循環(huán)2次;與相應(yīng)的程序代碼相比較

32、,結(jié)果正確。 3、數(shù)碼管測試 通過按按鍵KEY2,觀察到數(shù)碼管從“1000” 開始計時,依次顯示“1001” ,“1002” ,“1003” ;與相應(yīng)的程序代碼相比較,結(jié)果正確。因?yàn)槌绦蛞髷?shù)碼管顯示的時間是小時和分鐘,所以要觀察到數(shù)碼管的變化要等一分鐘的時間。 4、 音樂測試 通過按按鍵KEY3,聽到蜂鳴器響起“生日快樂”的音樂;與相應(yīng)的程序代碼相比較,結(jié)果正確。六、設(shè)計總結(jié)通過本次實(shí)驗(yàn),讓我對80C51單片機(jī)有了更好的了解,懂得如何去使用定時器計數(shù)器,中斷,串行口,數(shù)碼管顯示,按鍵等知識,讓自己對單片機(jī)產(chǎn)生了更大的興趣。能夠完全實(shí)現(xiàn)數(shù)字鐘的功能,讓自己所學(xué)的東西應(yīng)用到實(shí)踐中,感覺到了單片機(jī)

33、的重要性。能夠通過單片機(jī),完成各種成品的設(shè)計。 通過本次設(shè)計,我們系統(tǒng)的了解了實(shí)時時鐘的設(shè)計流程,尤其是硬、軟件的設(shè)計方法,掌握了鍵盤顯示電路的基本功能及編程方法,掌握了鍵盤電路和顯示電路的一般原理,也進(jìn)一步掌握了定時器的使用和中斷處理器程序的編程方法。開拓了思路,鍛煉了實(shí)踐動手能力,提高了分工協(xié)作能力和分析問題,解決問題的能力,達(dá)到了本次課程設(shè)計的目的。在調(diào)試電路的過程中也積累了一些寶貴的經(jīng)驗(yàn),比如說,在I/O口要保證標(biāo)準(zhǔn)的高電平”1”的產(chǎn)生,一般要上拉電阻5.1k,在一些需要高電平的地方,不能用懸空來模擬,必須嚴(yán)格的按照“+5v”來連接,特別是調(diào)試過程中的分部分進(jìn)行很重要。 此次單片機(jī)課程設(shè)計,從理論到實(shí)踐,學(xué)到了很多的東西。同時不僅

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論