版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 計科系課程設(shè)計</b></p><p> 課程名稱:單片機(jī)課程設(shè)計 </p><p> 題 目:電 子 時 鐘 </p><p> 學(xué)生姓名: </p><p> 學(xué) 號: </p><
2、;p> 班 級:計應(yīng)用091班 </p><p> 指導(dǎo)老師: </p><p> 2011年 12 月</p><p><b> 電子時鐘</b></p><p><b> 一.設(shè)計任務(wù)</b></p><p>
3、 以AT89C51單片機(jī)為核心設(shè)計一個電子時鐘,能夠顯示時、分、秒顯示時間的功能,還可以通過鍵盤的任意設(shè)定來實現(xiàn)對時間的校對。</p><p><b> 二.設(shè)計目的</b></p><p> 1.掌握AT89C51實驗開發(fā)系統(tǒng)中的實驗?zāi)K原理。并能熟練地運(yùn)用編程語言的開發(fā)調(diào)試工具和軟件的開發(fā)調(diào)試過程。</p><p> 2.掌握AT89
4、C51單片機(jī)的基本硬件結(jié)構(gòu)及其工作原理。以達(dá)到鞏固和消化課堂教學(xué)內(nèi)容,進(jìn)一步加強(qiáng)綜合應(yīng)用能力,啟發(fā)創(chuàng)新思維。</p><p> 3.進(jìn)一步掌握AT89C51單片機(jī)的編程語言及基本程序設(shè)計方法。以達(dá)到提高單片機(jī)硬件編程應(yīng)用能力的目的。</p><p><b> 三.設(shè)計要求</b></p><p> 1.用AT89C51開發(fā)設(shè)計具有一定功能
5、的控制系統(tǒng),進(jìn)行軟、硬件設(shè)計以及調(diào)試。</p><p> 2.利用LED數(shù)碼管實現(xiàn)對電子時鐘時、分、秒的顯示。</p><p> 3.可通過鍵盤的任意設(shè)定,修改顯示時間并利用軟件延時實現(xiàn)1s計時功能。</p><p><b> 四.系統(tǒng)分析</b></p><p> 電子時鐘是本設(shè)計的最主要的部分,根據(jù)需要,可以
6、利用此方案實現(xiàn):采用Dallas公司專用時鐘芯片DS12887A,該芯片內(nèi)部采用石英晶體振蕩器,具有完備的時鐘鬧鐘功能。因此,可直接將其應(yīng)用于顯示或設(shè)置,使得軟件編程相對簡單。</p><p> 本次設(shè)計以AT89C51單片機(jī)為核心,設(shè)計實現(xiàn)對時、分、秒數(shù)字顯示的計時裝置。周期為24 小時,顯示滿刻度為23 時59 分59 秒,并具有校時功能。本系統(tǒng)的設(shè)計電路由脈沖邏輯電路模塊、時鐘脈沖模塊、時鐘譯碼顯示電路模
7、塊、校時模塊等幾部分組成。采用電池作電源,采用低功耗的CMOS 芯片及LED數(shù)碼管,發(fā)生器使用晶體振蕩、計數(shù)振蕩器CD4060及雙JK 觸發(fā)器CD4027,將標(biāo)準(zhǔn)秒信號送入“秒計數(shù)器”;計數(shù)器采用“可予制四位二進(jìn)制異步清除”計數(shù)器來實現(xiàn),分別組成兩個六十進(jìn)制(秒、分)、一個二十四進(jìn)制(時)的計數(shù)器;校時電路是由與非門構(gòu)成的雙穩(wěn)態(tài)觸發(fā)器,用來對“時”、“分”、“秒”顯示數(shù)字進(jìn)行調(diào)整。譯碼顯示電路選用BCD-7 段鎖存譯碼/驅(qū)動器CC451
8、1 構(gòu)成,再經(jīng)過六位</p><p> LED 八段顯示器顯示出來。</p><p><b> 五.硬件設(shè)計 </b></p><p> 本系統(tǒng)功能由硬件和軟件兩大部分協(xié)調(diào)完成,硬件部分主要完成信息的顯示;軟件主要完成信號的處理及控制功能等。</p><p> 本系統(tǒng)的硬件采用模塊化設(shè)計,以AT89C51單片機(jī)芯
9、片為核心,與4HC373譯碼驅(qū)動電路、晶體振蕩器電路、復(fù)位電路、LED數(shù)碼管接口電路等組成控制系統(tǒng)。</p><p> 1.AT89C51芯片</p><p> 如圖1所示,AT89C51有40引腳,雙列直插(DIP)封裝,所用引腳功能如圖1所示:</p><p> 圖1 AT89C51示意圖</p><p> 2.AT89C51主要
10、特性:</p><p> 與MCS-51兼容;4K字節(jié)可編程FLASH存儲器;壽命:1000寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0Hz-24Hz;三級存儲器鎖定;128×8位內(nèi)部RAM;32可編程I/O線;兩個16位定時/計數(shù)器;5個中斷源;可編程串行通道;低功耗的閑置和掉電模式;片內(nèi)振蕩器和時鐘電路。</p><p> 3.AT89C51引腳功能:</p&g
11、t;<p> VCC——運(yùn)行時加+5V</p><p> (1)GND——接地</p><p> (2)XTAL1——振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端</p><p> (3)XTAL2——振蕩器反相放大器的輸出端</p><p> (4)ST——復(fù)位輸入,高電平有效,在晶振工作時,在RST引腳上作用2
12、 個機(jī)器周期以上的高電平,將使單片機(jī)復(fù)位 。</p><p><b> 4.LED數(shù)碼管</b></p><p> 要求具有顯示功能,需用到八段數(shù)碼管。</p><p> 在數(shù)碼管顯示系統(tǒng)中,需要用八段數(shù)碼管來顯示單片機(jī)系統(tǒng)的工作狀態(tài)、運(yùn)算結(jié)果等各種信息,八段數(shù)碼管是單片機(jī)人機(jī)對話的一種重要輸出設(shè)備。八段數(shù)碼管由八個
13、發(fā)光二級管組構(gòu)成,通過不同的發(fā)光字段組合可用來顯示數(shù)字0-9、字符A-F、H、L、P、R、U、Y等。</p><p> 7SEG-MPX6-CC是8段6位共陰級數(shù)碼管,DP為小數(shù)點(diǎn),位碼(1-6)應(yīng)輪流通低電位,段碼控制數(shù)碼管的顯示:0-b,1-g,2-a,3-f,4-c,5-e,6-h,7-d. 共陰極LED數(shù)碼管,它是將發(fā)光二極管的陰極(負(fù)極)短接后作為公共陰極.當(dāng)驅(qū)動信號為高電平才能發(fā)光。</p&g
14、t;<p> 圖2 八段數(shù)碼管內(nèi)部結(jié)構(gòu)圖</p><p><b> 5.晶體振蕩器電路</b></p><p> 晶體振蕩器電路給數(shù)字鐘提供一個頻率穩(wěn)定準(zhǔn)確的32768Hz 的脈沖,可保證數(shù)字鐘的走時準(zhǔn)確及穩(wěn)定。 </p><p> 圖3 圖4</p&g
15、t;<p> 6.74HC373譯碼驅(qū)動電路</p><p> 74HC373譯碼驅(qū)動電路將計數(shù)器輸出的8421BCD 碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流。如圖3所示。</p><p><b> 7.復(fù)位電路</b></p><p> 單片機(jī)的復(fù)位靠外部電路實現(xiàn),信號由RST引腳輸入,
16、高電平有效。當(dāng)RST引腳上持續(xù)兩個機(jī)器周期以上的高電平時,單片機(jī)即完成復(fù)位。常用復(fù)位電路有上電復(fù)位和手動開關(guān)復(fù)位兩種。采用手動開關(guān)復(fù)位,如圖4所示</p><p><b> 圖5</b></p><p><b> 8.元器件清單</b></p><p><b> 六.原理圖設(shè)計</b></
17、p><p><b> 圖6</b></p><p><b> 七.軟件系統(tǒng)設(shè)計</b></p><p> 程序流程圖(此部分由小組其他成員設(shè)計,再次不做過多介紹)</p><p><b> 圖7主程序流程圖</b></p><p><b>
18、 圖8程序流程圖 </b></p><p><b> 八.源程序</b></p><p><b> ORG 0000H</b></p><p> AJMP START ;短轉(zhuǎn)移</p><p><b> ORG 0003H</b
19、></p><p> LJMP ST1 ;長轉(zhuǎn)</p><p><b> ORG 000BH</b></p><p><b> AJMP TT0</b></p><p><b> ORG 0030H</b></p>
20、;<p> START: MOV 30H,#00H ;秒個位內(nèi)存單元</p><p> MOV 31H,#00H ;秒十位內(nèi)存單元</p><p> MOV 32H,#00H ;分個位內(nèi)存單元</p><p> MOV 33H,#00H
21、 ;分十位內(nèi)存單元</p><p> MOV 34H,#00H ;時個位內(nèi)存單元 </p><p> MOV 35H,#00H ;時十位內(nèi)存單元</p><p> MOV TMOD,#01H ;定時器T0,工作方式1,</p><p> MOV
22、 TH0,#3CH ;定時50MS</p><p> MOV TL0,#0B0H </p><p> MOV R0,#30H ;指針指向顯示單元</p><p> MOV R5,#0FEH ;選中秒個位</p><p> MO
23、V R1,#20 </p><p> MOV 36H,#00H ;時位鍵盤判斷時用</p><p> MOV R3,#6 ;秒十位判斷時用</p><p> MOV R2, #6 ;分十位判斷時用 </p><p&g
24、t; MOV R4,#10 ;秒個位判斷時用</p><p> MOV 40H,#10;分個位判斷時用 </p><p> MOV IE, #81H ;外部中斷0中斷允許</p><p> MAIN: LCALL DIS</p><p><b> LJMP
25、 MAIN</b></p><p> DIS: MOV A,R5 ;先位碼</p><p> MOV DPTR,#7FFFH ;位碼選擇p2.7</p><p> MOVX @DPTR,A</p><p> MOV A,@R0 ;再段碼,取顯示數(shù)
26、據(jù)</p><p> MOV DPTR,#TAB ;表地址</p><p> MOVC A,@A+DPTR ;查表,取出字型碼</p><p> MOV DPTR,#0bFFFH ;段碼選擇p2.6</p><p> CJNE R0,#32H,GO111
27、 ;小數(shù)點(diǎn)選擇(R0)=/=32H轉(zhuǎn)移</p><p> ORL A,#80H</p><p> GO111: CJNE R0,#34H,MIN</p><p> ORL A,#80H</p><p> MIN: MOVX @DPTR,A ;送出去顯示</p><p>
28、 LCALL DELAY ;1MS延時</p><p> LCALL DELAY </p><p> LCALL DELAY</p><p> INC R0 ;修改指針指向下一顯示單元</p><p> MOV A,R5
29、;也可寫為XCH A,R5</p><p> JNB ACC.5,LH ;判斷顯示完否? </p><p> RL A ;也可寫為XCH R5,A</p><p><b> MOV R5,A</b></p><p> AJMP ENR
30、 ;返回循環(huán)顯示</p><p> LH: MOV R0,#30H ;重新定義顯示指針</p><p> MOV R5,#0FEH ;重設(shè)位碼,形成循環(huán)ACC.0-ACC.3</p><p> ENR: RET</p><p> TT0:
31、 MOV TH0,#3CH </p><p> MOV TL0,#0B0H </p><p> DJNZ R1,FANHUI ;判斷1秒到否?未到跳轉(zhuǎn)</p><p> MOV R1,#20 </p><p> INC 30H
32、 ;秒個位加一</p><p> DJNZ R4,FANHUI ;判斷10秒到否?未到跳轉(zhuǎn),判斷秒個位滿否</p><p> MOV R4,#10 ;計時未到裝初值</p><p> MOV 30H,#00H ;計時到則清零</p><p>
33、; INC 31H ;秒計時到,分個位加1(進(jìn)位)</p><p> DJNZ R3,FANHUI </p><p> MOV R3,#6 </p><p> MOV 31H,#00H </p><p><
34、b> INC 32H </b></p><p> DJNZ 40H,FANHUI </p><p> MOV 40H,#10</p><p> MOV 32H,#00H ;分個位計時到則清零</p><p><b> INC 33H</b
35、></p><p> DJNZ R2,FANHUI</p><p><b> MOV R2,#6</b></p><p> MOV 33H,#00H </p><p> INC 36H ;時位判斷時用</p><p><b> MOV
36、A,36H</b></p><p> CJNE A,#24,JUMP ;時位計時不滿則轉(zhuǎn)移,若滿則;清零</p><p> MOV 36H,#00H</p><p> JUMP: MOV A,36H</p><p><b> MOV B,#10</b>
37、</p><p><b> DIV AB</b></p><p><b> MOV 34H,B</b></p><p> MOV 35H,A ;顯示時位</p><p> FANHUI: RETI</p><p> ST1:
38、 CLR EX0 ;鍵盤1(校秒十位)判斷時用,禁止外部中</p><p><b> ;斷0中斷</b></p><p> PUSH B </p><p><b> PUSH ACC</b></p><p> JB P1.0,ST2 ;
39、若P1.0接通則調(diào)用延時</p><p> ;抖動子程序,若未通則跳轉(zhuǎn)到下一控制位</p><p> LCALL DELAY111</p><p> JNB P1.0,$</p><p> LCALL DELAY111</p><p> DJNZ R3,GO ;計時未滿則轉(zhuǎn)移
40、</p><p> MOV R3,#6;倒計時滿(計數(shù)值滿)則賦初值</p><p> GO: INC 31H ;秒個位滿則秒十位加一進(jìn)位</p><p> MOV A,31H </p><p> CJNE A,#6,$+3 ;判讀秒十位滿否&
41、lt;/p><p> JNB P1.0,$ ;P1.0為0則執(zhí)行該指令,等待</p><p><b> JC ST2</b></p><p> MOV 31H,#00H</p><p> MOV A,31H </p><p> ST2: JB
42、 P1.1,ST3 ;鍵盤2判斷時用(校分個位)</p><p> LCALL DELAY111</p><p> JNB P1.1,$</p><p> LCALL DELAY111</p><p> DJNZ 40H,GO1</p><p> MOV 40H,#10<
43、/p><p> GO1: INC 32H</p><p><b> MOV A,32H</b></p><p> CJNE A,#10,$+3</p><p> JNB P1.1,$</p><p><b> JC ST3</b></p><p
44、> MOV 32H,#00H</p><p><b> MOV A,32H</b></p><p> ST3: JB P1.2,ST4 ;鍵盤3判斷時用(校分十位)</p><p> LCALL DELAY111</p><p> JNB P1.2,$</p>
45、<p> LCALL DELAY111</p><p> DJNZ R2,GO2</p><p><b> MOV R2,#6</b></p><p> GO2: INC 33H</p><p><b> MOV A,33H</b></p><p&g
46、t; CJNE A,#6,$+3</p><p> JNB P1.2,$</p><p><b> JC ST4</b></p><p> MOV 33H,#00H</p><p><b> MOV A,33H</b></p><p> ST4: JB P1
47、.3,ST5 ;鍵盤4判斷時用(校時)</p><p> LCALL DELAY111</p><p> JNB P1.3,$</p><p> LCALL DELAY111</p><p><b> INC 36H</b></p><p><b>
48、MOV A,36H</b></p><p> CJNE A,#24,JUMP1</p><p> MOV 36H,#00H</p><p> JUMP1: MOV A,36H</p><p><b> MOV B,#10</b></p><p><b> DIV
49、AB</b></p><p><b> MOV 34H,B</b></p><p><b> MOV 35H,A</b></p><p> ST5: JB p1.4,ST6 ;(鍵PAUSE)</p><p> LCALL DELAY111&
50、lt;/p><p> JNB P1.4,$</p><p> LCALL DELAY111</p><p> CLR TR0 ;定時器T0停止運(yùn)行</p><p> ST6: JB P1.5,ST7 ;(鍵CLEAR)</p><p&
51、gt; LCALL DELAY111</p><p> JNB P1.5,$</p><p> LCALL DELAY111</p><p> MOV 30H,#00H ;秒單元清零</p><p> MOV 31H,#00H </p><p> MOV 32H,#00H ;分單元清
52、零 </p><p> MOV 33H,#00H</p><p> MOV 34H,#00H;時清零</p><p> MOV 35H,#00H </p><p> LCALL DIS ;調(diào)用顯示子程序</p><p> LJMP TT0
53、 ;跳轉(zhuǎn)到定時中斷子程序</p><p> MOV 32H,#00H</p><p><b> MOV A,32H</b></p><p> ST7: JB P1.6,ST8 ;(鍵CONTINUE)</p><p> LCALL DELAY1
54、11</p><p> JNB P1.6,$</p><p> LCALL DELAY111</p><p> SETB TR0 ;啟動T0運(yùn)行控制位(START)</p><p> ST8: JB P1.7,ST9</p><p> LCALL DELA
55、Y111</p><p> JNB P1.7,$ </p><p> LCALL DELAY111 </p><p> SETB ET0 ;開T0中斷(T0溢出中斷允許位)</p><p> SETB
56、 TR0 ;計時開始 </p><p> ST9: POP ACC ;鍵盤中斷返回</p><p><b> POP B</b></p><p> SETB EX0 ;允許外部中斷0中斷</
57、p><p><b> RETI</b></p><p> DELAY: MOV R7,#02H</p><p> DE1: MOV R6,#0FEH</p><p> DE2: DJNZ R6,DE2</p><p> DJNZ R7,DE1</p><p&
58、gt;<b> RET</b></p><p> DELAY111:MOV 50H,#2 </p><p> DE1111: MOV 51H,#255</p><p> DJNZ 51H,$</p><p> DJNZ 50H,DE1111</p><p><
59、;b> RET</b></p><p> TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H</p><p><b> END</b></p><p><b> 九.系統(tǒng)調(diào)試過程</b></p><p> 首先對每
60、個芯片進(jìn)行檢測看是否能夠正常工作,看看學(xué)習(xí)機(jī)是否能夠工作。連接好電路實物圖,把編寫好的程序在Keil軟件中調(diào)試程序,然后裝入Proteus仿真電路中進(jìn)行仿真。在匯編連接的過程中我們遇到了很多問題。在學(xué)習(xí)機(jī)上多次運(yùn)行驗證設(shè)計結(jié)果,但結(jié)果都不理想,但我們并沒有心急氣躁,取而代之的是我們小組的成員耐心的坐在一起討論和研究程序,最后在老師的幫助下我們才把課程設(shè)計做到完美。通過系統(tǒng)的調(diào)試使軟硬件能夠具有好的兼容性,使系統(tǒng)電路連接簡單,程序能夠正常
61、運(yùn)行。并使整個系統(tǒng)具有良好的交互性。</p><p><b> 調(diào)試按鍵子程序</b></p><p><b> 十.設(shè)計總結(jié)</b></p><p> 我們學(xué)習(xí)了數(shù)字電子電路和模擬電子電路,對電子技術(shù)有了一些初步了解,但那都是一些理論的東西。通過這次數(shù)字電子鐘的課程設(shè)計,我們才把學(xué)到的東西與實踐相結(jié)合。從中對我們學(xué)
62、的知識有了更進(jìn)一步的理解。</p><p> 在此次的數(shù)字鐘設(shè)計過程中,更進(jìn)一步地熟悉了芯片的結(jié)構(gòu)及掌握了各芯片的工作原理和其具體的使用方法。也鍛煉了自己獨(dú)立思考問題的能力和通過查看相關(guān)資料來解決問題的習(xí)慣。雖然這只是一次簡單的課程設(shè)計,但通過這次課程設(shè)計我們了解了課程設(shè)計的一般步驟,和設(shè)計中應(yīng)注意的問題。設(shè)計本身并不是有很重要的意義,而是同學(xué)們對待問題時的態(tài)度和處理事情的能力。至于設(shè)計的成績無須看的太過于重要
63、,而是設(shè)計的過程,設(shè)計的思想和設(shè)計電路中的每一個環(huán)節(jié),電路中各個部分的功能是如何實現(xiàn)的。各個芯片能夠完成什么樣的功能,使用芯片時應(yīng)該注意那些要點(diǎn)。同一個電路可以用那些芯片實現(xiàn),各個芯片實現(xiàn)</p><p> 同一個功能的區(qū)別。另外,我們設(shè)計要從市場需求出發(fā),既要有強(qiáng)大的功能,又要在價格方面比同等檔次的便宜。雖然我們現(xiàn)在作的不可能到市場上去銷售,但我們要為以后作設(shè)計培養(yǎng)出好的習(xí)慣。</p><
64、p> 在這次設(shè)計過程中,我也對protel、word、畫圖板等軟件有了更進(jìn)一步的了解,這使我在以后的工作中更加得心應(yīng)手。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李文方.單片機(jī)原理與應(yīng)用.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2010.</p><p> [2] 趙建領(lǐng).51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解[M].北
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計報告--電子時鐘
- 單片機(jī)課程設(shè)計報告--電子時鐘
- 單片機(jī)課程設(shè)計-單片機(jī)課程設(shè)計---電子時鐘
- 電子時鐘單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計---電子時鐘
- 單片機(jī)課程設(shè)計——電子時鐘
- 單片機(jī)課程設(shè)計——電子時鐘
- 單片機(jī)課程設(shè)計--電子時鐘
- 單片機(jī)課程設(shè)計-電子時鐘
- 單片機(jī)課程設(shè)計--電子時鐘
- 單片機(jī)課程設(shè)計--電子時鐘
- 單片機(jī)課程設(shè)計----電子時鐘
- 單片機(jī)課程設(shè)計-電子時鐘
- 單片機(jī)課程設(shè)計---單片機(jī)電子時鐘
- 單片機(jī)課程設(shè)計報告--基于單片機(jī)的電子時鐘
- 單片機(jī)課程設(shè)計--電子時鐘設(shè)計
- 數(shù)字電子時鐘-單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計---電子時鐘.doc
- 單片機(jī)課程設(shè)計--單片機(jī)模擬電子時鐘設(shè)計
- 單片機(jī)課程設(shè)計--- 單片機(jī)電子時鐘設(shè)計
評論
0/150
提交評論