版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 課題名稱:基于單片機的電子鐘的設(shè)計</p><p> 專業(yè)名稱: 自動化 </p><p> 《單片機技術(shù)》課程設(shè)計任務(wù)書</p><p> 一、設(shè)計題目:基于單片機的電子鐘的設(shè)計、基于單片機的頻率計的設(shè)計</p><p> 二、適用班級:自本0401~0403</p>
2、<p><b> 三、指導(dǎo)教師:</b></p><p><b> 四、任務(wù)與要求:</b></p><p> 1、本課題任務(wù)如下:</p><p> ?。?)、基于單片機的電子鐘的設(shè)計</p><p> 設(shè)計一個具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示
3、符“P.”, 進(jìn)入時鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進(jìn)入時鐘運行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進(jìn)入時鐘運行狀態(tài)。</p><p> (2)、基于單片機的頻率計的設(shè)計</p><p> 設(shè)計一個能夠測量矩形波信號的頻率、周期、脈寬、占空比的頻率計。該頻率計上電或按鍵
4、復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入測量準(zhǔn)備狀態(tài)。按頻率測量鍵則測量頻率;按周期測量鍵則測量周期;按脈寬測量鍵則測量脈寬;按占空比測量鍵則測量占空比。</p><p> 2、本課題可選擇設(shè)計方案如下:</p><p> ?。?)、基于單片機并行口的設(shè)計</p><p> 在AT89S52的P0口和P2口上外接LED數(shù)碼管顯示器,P0口作LED數(shù)碼管顯示器的
5、段控口,P2口作LED數(shù)碼管顯示器的位控口,P1口外接四個按鍵A、B、C、D。</p><p> (2)、基于單片機串行口的設(shè)計</p><p> 將AT89S52的串行口擴(kuò)展成并行口,外接LED數(shù)碼管顯示器;P1口外接四個按鍵A、B、C、D。</p><p> ?。?)、基于Intel 8279的設(shè)計</p><p> 利用Intel
6、 8279芯片為AT89S52擴(kuò)展并行口,通過Intel 8279外接LED數(shù)碼管顯示器和四個按鍵A、B、C、D構(gòu)成的鍵盤。</p><p> ?。?)、基于Intel 8155的設(shè)計</p><p> 利用Intel 8155芯片為AT89S52擴(kuò)展并行口,通過Intel 8155外接LED數(shù)碼管顯示器和四個按鍵A、B、C、D構(gòu)成的鍵盤。</p><p> ?。?/p>
7、5)、基于Intel 8255的設(shè)計</p><p> 利用Intel 8255芯片為AT89S52擴(kuò)展并行口,通過Intel 8255外接LED數(shù)碼管顯示器和四個按鍵A、B、C、D構(gòu)成的鍵盤。</p><p> 3、本課題基本要求如下:</p><p> ?。?)、基于單片機的電子鐘的設(shè)計</p><p> LED數(shù)碼管顯示器顯示當(dāng)前
8、時間;四個按鍵的功能:A鍵用于電子鐘啟動/調(diào)整;B鍵用于調(diào)時,范圍0-23,0為24點,每按一次時加1;C鍵用于調(diào)分,范圍0-59,0 為60分,每按一次分加1;D鍵用于調(diào)秒, 范圍0-59,0為60秒,每按一次秒加1;</p><p> ?。?)、基于單片機的頻率計的設(shè)計</p><p> LED數(shù)碼管顯示器顯示被測信號的頻率、周期、脈寬、占空比;四個按鍵的功能:A鍵用于測量頻率;B鍵
9、用于測量周期;C鍵用于測量脈寬;D鍵用于測量占空比;</p><p> ?。?)、以上兩個課題可以任選其一或全選,學(xué)生也可以自定課題;</p><p> ?。?)、編程語言:匯編或C51;</p><p> (5)、計算機打印《單片機技術(shù)》課程設(shè)計說明書一份;</p><p> ?。?)、設(shè)計時間:二周;</p><p&
10、gt; ?。?)、實物制作或Proteus仿真;</p><p> ?。?)、人員分組:一人一組或多人一組(不超4人)。</p><p> 五、《單片機技術(shù)》課程設(shè)計說明書正文主要內(nèi)容</p><p> 參照“《單片機技術(shù)》課程設(shè)計說明書正文主要內(nèi)容”文件。</p><p> 六、《單片機技術(shù)》課程設(shè)計說明書書寫格式</p>
11、<p> 參照“《單片機技術(shù)》課程設(shè)計說明書書寫格式”文件。</p><p><b> 七、參考資料</b></p><p> 1、曹巧媛,單片機原理及應(yīng)用[M],北京:電子工業(yè)出版社,1997.7;</p><p> 2、趙秀珍,單永磊,單片微型計算機原理及其應(yīng)用[M],北京:中國水利水電出版社,2001.8;</
12、p><p> 3、張毅剛,修林成,胡振江,MCS-51單片機應(yīng)用設(shè)計[M],哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.8;</p><p> 4、張洪潤,蘭清華,單片機應(yīng)用技術(shù)教程[M],北京:清華大學(xué)出版社,1997.11;。</p><p> 5、李華,MCS-51系列單片機實用接口技術(shù)[M],北京:北京航空航天大學(xué)出版社,1993.8;</p>
13、<p> 6、陳景初,單片機應(yīng)用系統(tǒng)設(shè)計與實踐[M],北京:北京航空航天大學(xué)出版社;</p><p> 7、馬忠梅,單片機的C語言Windows環(huán)境編程寶典[M], 北京:北京航空航天大學(xué)出版社,2003.6; </p><p> 8、李光飛,單片機C程序設(shè)計指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2003.01 ;</p><p> 9、
14、李光飛,單片機課程設(shè)計實例指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2004.9。</p><p><b> 電氣自動化教研室</b></p><p> 2007年9月10日</p><p><b> 摘 要</b></p><p> 時鐘,自從它發(fā)明的那天起,就成為人類的朋友,但隨著時間的
15、推移,科學(xué)技術(shù)的不斷發(fā)展,人們對時間計量的精度要求越來越高,應(yīng)用越來越廣。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計出新型時鐘。 數(shù)字電子鐘的設(shè)計方法有多種,其中,利用單片機實現(xiàn)的電子鐘具有編程靈活,便于電子鐘功能的擴(kuò)充,即可用該電子鐘發(fā)出各種控制信號,精確度高等特點,同時可以用該電子鐘發(fā)出各種控制信號。</p><p> 本文主要介紹用單片機內(nèi)部的定時/計數(shù)器來實
16、現(xiàn)電子時鐘的方法,本設(shè)計由單片機AT89S52芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個單片機電子時鐘。與傳統(tǒng)機械表相比,它具有走時精確,顯示直觀等特點。它的計時周期為24小時,顯滿刻度為“23時59分59秒”,另外具有校時功能等特點。該電子鐘可以做到的功能:</p><p> 上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”進(jìn)入時鐘準(zhǔn)備狀態(tài)2.第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進(jìn)
17、入時鐘運行狀態(tài)。再次按電子鐘啟動/調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進(jìn)入時鐘運行狀態(tài)。通過設(shè)置的A、B、C、D四個鍵來調(diào)整運行,并且利用了8位LED顯示時分秒。</p><p> 此電子鐘嚴(yán)格按照要求設(shè)計,最終達(dá)到預(yù)期的效果,能夠正確顯示“P”點以及時分秒的計時,算是一次比較成功的設(shè)計了。</p><p> 關(guān)鍵詞:電子鐘,單片
18、機,匯編</p><p><b> 目 錄</b></p><p> 第1章 電子鐘功能及總體方案的介紹1</p><p> 1.1電子鐘功能介紹1</p><p> 1.1.1基本功能要求1</p><p> 1.1.2擴(kuò)展功能要求1</p><p&g
19、t; 1.2總體方案介紹2</p><p> 1.2.1計時方案2</p><p> 1.2.2鍵盤/顯示方案2</p><p> 第2章 電子鐘的工作原理3</p><p> 2.1實現(xiàn)時鐘計時的基本方法3</p><p> 2.2電子鐘的時間顯示3</p><p>
20、; 2.3電子鐘的啟、停及時間調(diào)整3</p><p> 第3章 電子鐘原理圖及元件清單4</p><p> 3.1電子鐘電路原理圖4</p><p><b> 3.2元件清單4</b></p><p> 第4章 軟件系統(tǒng)設(shè)計5</p><p> 4.1電子鐘程序流程框
21、圖5</p><p> 4.1.1主程序流程框圖5</p><p> 4.1.2鍵掃子程序流程框圖6</p><p> 4.1.3中斷服務(wù)程序流程框圖7</p><p> 4.1.5顯示子程序流程框圖9</p><p> 4.1.6加一子程序流程框圖10</p><p>
22、 4.2電子鐘總體程序清單11</p><p> 第5章 電子鐘的使用說明及調(diào)試運行19</p><p> 5.1使用說明書19</p><p> 5.1.1操作說明19</p><p> 5.2電子鐘運行結(jié)果19</p><p> 5.2.1待機19</p><p>
23、 5.2.2啟動19</p><p> 5.2.3運行20</p><p> 第6章 誤差分析21</p><p> 第7章 設(shè)計體會22</p><p><b> 教學(xué)建議23</b></p><p><b> 參考資料24</b></
24、p><p><b> 附 錄25</b></p><p><b> 致 謝26</b></p><p> 第1章電子鐘功能及總體方案的介紹</p><p> 1.1電子鐘功能介紹</p><p> 1.1.1基本功能要求</p><p>
25、 可調(diào)整運行的電子鐘具有三種工作狀態(tài):“P.”狀態(tài)、運行狀態(tài)、調(diào)整狀態(tài)。</p><p> ?。?)、“P.”狀態(tài),依靠上電或按復(fù)位鍵進(jìn)入,在此狀態(tài)下,按B、C、D鍵均無效,按A鍵有效,進(jìn)入運行狀態(tài);</p><p> (2)、運行狀態(tài),按奇數(shù)次A鍵進(jìn)入,在此狀態(tài)下,按B、C、D鍵均無效,只有按A鍵有效,按下A鍵后,退出運行狀態(tài),進(jìn)入調(diào)整狀態(tài);</p><p>
26、?。?)、調(diào)整狀態(tài),按偶數(shù)次A鍵進(jìn)入,在此狀態(tài)下,按A、B、C、D鍵均有效。如按下A鍵,則退出調(diào)整狀態(tài),進(jìn)入運行狀態(tài);按下B、C、D鍵,則分別對時、分、秒加1,調(diào)整結(jié)束后必須按A鍵,即可退出調(diào)整狀態(tài),進(jìn)入運行狀態(tài)。</p><p><b> 基本功能要求:</b></p><p> “P.”穩(wěn)定地顯示在LED顯示器的最左端數(shù)碼管(LED5)上,無A鍵按下(在“P.
27、”狀態(tài)下,按下B、C、D鍵無效),則不進(jìn)入電子鐘的運行狀態(tài),繼續(xù)顯示“P.”。</p><p> 按下A 鍵后,電子鐘以起始時間:00時00分00秒開始運行。</p><p> 再次按下A 鍵后,電子鐘退出運行狀態(tài),進(jìn)入調(diào)整狀態(tài),利用B、C、D鍵把電子鐘的顯示時間修改為當(dāng)前實時時間,時間修改正確后可再次按下A鍵,電子鐘則退出調(diào)整狀態(tài),進(jìn)入運行狀態(tài)。</p><p&g
28、t; 注意:每次按下B、C、D鍵,只允許加一,不允許連加。</p><p> 1.1.2擴(kuò)展功能要求</p><p> ?。?)、在調(diào)整狀態(tài)下,按下B、C、D鍵,允許連加,而A鍵無論在何種狀態(tài)下,均不允許連擊;</p><p> ?。?)、時、分、秒的間隔符“?!币砸欢l率閃爍;</p><p> ?。?)、時間顯示以“滅零”方式進(jìn)行;&
29、lt;/p><p> (4)、可調(diào)整運行的電子鐘用兩個按鍵(例如:A鍵、B鍵)來控制。</p><p><b> 1.2總體方案介紹</b></p><p><b> 1.2.1計時方案</b></p><p> 利用AT89S52單片機內(nèi)部的定時/計數(shù)器進(jìn)行中斷定時,配合軟件延時實現(xiàn)時、分、秒
30、的計時。該方案節(jié)省硬件成本,且能使讀者在定時/計數(shù)器的使用、中斷及程序設(shè)計方面得到鍛煉與提高,對單片機的指令系統(tǒng)能有更深入的了解,從而對學(xué)好單片機技術(shù)這門課程起到一定的作用。</p><p> 1.2.2鍵盤/顯示方案</p><p> AT89S52的P0口和P2口外接由六個LED數(shù)碼管(LED5~LED0)構(gòu)成的顯示器,用P0口作LED的段碼輸出口,P2口作六個LED數(shù)碼管的位控輸
31、出線,P1口外接四個按鍵A、B、C、D構(gòu)成鍵盤電路。</p><p> AT89S52 是一種低功耗,高性能的CMOS 8位微型計算機。它帶有8K Flash 可編程和擦除的只讀存儲器(EPROM),該器件采用ATMEL的高密度非易失性存儲器技術(shù)制造,與工業(yè)上標(biāo)準(zhǔn)的80C51和80C52的指令系統(tǒng)及引腳兼容,片內(nèi)Flash 集成在一個芯片上,可用與解決復(fù)雜的問題,且成本較低。簡易電子鐘的功能不復(fù)雜,采用其現(xiàn)有的
32、I/O便可完成,所以本書中采用此的設(shè)計方案,結(jié)構(gòu)如圖1-1如示。</p><p> 第2章電子鐘的工作原理</p><p> 2.1實現(xiàn)時鐘計時的基本方法</p><p> 利用MCS-51系列單片機的可編程定時/計數(shù)器、中斷系統(tǒng)來實現(xiàn)時鐘計數(shù)。</p><p> (1) 計數(shù)初值計算:</p><p>
33、把定時器設(shè)為工作方式1,定時時間為50ms,則計數(shù)溢出20次即得時鐘計時最小單位秒,而100次計數(shù)可用軟件方法實現(xiàn)。</p><p> 假設(shè)使用T/C0,方式1,50ms定時,fosc=12MHz。</p><p> 則初值X滿足(216-X)×1/12MHz×12μs =50000μs</p><p> X=15536→001111001
34、0110000→3CB0H</p><p> (2) 采用中斷方式進(jìn)行溢出次數(shù)累計,計滿20次為秒計時(1秒);</p><p> (3) 從秒到分和從分到時的計時是通過累加和數(shù)值比較實現(xiàn)。</p><p> 2.2電子鐘的時間顯示</p><p> 電子鐘的時鐘時間在六位數(shù)碼管上進(jìn)行顯示,因此,在內(nèi)部RAM中設(shè)置顯示緩沖區(qū)共8個單元
35、。</p><p> LED8LED7LED6LED5LED4LED3LED2LED1</p><p> 37H36H35H34H33H32H31H30H</p><p> 時十位時個位分隔分十位分個位分隔秒十位秒個位</p><p> 2.3電子鐘的啟、停及時間調(diào)整</p>&
36、lt;p> 電子鐘設(shè)置4個按鍵通過程序控制來完成電子鐘的啟、停及時間調(diào)整。</p><p> A鍵控制電子鐘的啟、停;</p><p><b> B鍵調(diào)整時;</b></p><p><b> C鍵調(diào)整分;</b></p><p><b> D鍵調(diào)整秒。</b>
37、</p><p> 第3章 電子鐘原理圖及元件清單</p><p> 3.1電子鐘電路原理圖</p><p> 電子鐘原理圖 (見附錄1)</p><p><b> 3.2元件清單</b></p><p> 電子鐘元件清單如表1所示:</p><p> 表1
38、電子鐘元器件清單</p><p> 第4章軟件系統(tǒng)設(shè)計</p><p> 4.1電子鐘程序流程框圖</p><p> 4.1.1主程序流程框圖</p><p><b> 見圖4-1所示</b></p><p> 4.1.2鍵掃子程序流程框圖</p><p>&l
39、t;b> 見圖4-2所示</b></p><p> 4.1.3中斷服務(wù)程序流程框圖</p><p><b> 見圖4-3所示</b></p><p> 4.1.4“P.”點顯示子程序流程框圖</p><p><b> 見圖4-4所示</b></p><
40、p> 4.1.5顯示子程序流程框圖</p><p><b> 見圖4-5所示</b></p><p> 4.1.6加一子程序流程框圖</p><p><b> 見圖4-6所示</b></p><p> 4.2電子鐘總體程序清單</p><p> ORG
41、 0000H</p><p> AJMP MAIN</p><p> ORG 000BH</p><p> LJMP INTT0</p><p> ORG 0030H</p><p> MAIN: MOV SP, #60H;確立堆棧區(qū)</p&
42、gt;<p> MOV PSW, #00H ;</p><p> MOV R0, #20H ;RAM區(qū)首地址</p><p> MOV R7, #5FH ;RAM區(qū)單元個數(shù)</p><p> QL: MOV
43、 @R0, #00H ;RAM清零</p><p> INC R0</p><p> DJNZ R7, QL</p><p> MOV IP, #02H ;IP初始化,優(yōu)先定時器0</p><p> MOV IE,
44、 #82H ;IE初始化, </p><p> MOV TMOD, #01H ;定時器0方式1工作</p><p> LCALL PP;調(diào)P.子程序</p><p> NEXT: LCALL KEY ;按鍵檢測子程序</
45、p><p> JBACC.0, RUNF ;A鍵按下運行</p><p> LCALL DISP ;調(diào)用顯示子程序</p><p> SJMP NEXT</p><p> RUNF: LCALL OUTT;調(diào)傳送子程序&l
46、t;/p><p> LCALL TIME;開電子鐘</p><p> JK: LCALL DISP;調(diào)用顯示子程序</p><p> LCALL KEY ;按鍵檢測子程序</p><p> JZ JK</p><p>
47、LCALL ANKEY</p><p> LCALL DISP ;調(diào)用顯示子程序</p><p> SJMP JK</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; P點顯
48、示 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> PP: MOV 37H, #12;P點編碼送寄存器</p><p> MOV R0, #30H;P點編碼送寄存器</p><p&
49、gt; MOV R7, #07H</p><p> PPP: MOV @R0, #10</p><p> INC R0</p><p> DJNZ R7, PPP</p><p><b> RET</b></p><p&g
50、t; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; 鍵掃子程序 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> KEY: LCALL KEYS ;調(diào)鍵值處理子程
51、序</p><p> JZ EXIT ;沒有鍵按下轉(zhuǎn)到返回</p><p> LCALL DISP</p><p> LCALL DISP ;調(diào)顯示去抖動</p><p> LCALL KEYS </p><p> JZ EXIT</
52、p><p> MOV B, 20H ;保存鍵值</p><p> KEYSF: LCALL KEYS ;調(diào)鍵值處理子程序</p><p> JZ KEYY ;鍵釋放,轉(zhuǎn)到恢復(fù)鍵值</p><p> LCALL DISP ;調(diào)顯示子程序延時&l
53、t;/p><p> AJMP KEYSF ;等到鍵釋放</p><p> KEYY: MOV A, B ;鍵值送20H單元保存</p><p> EXIT: RET ;返回</p><p> KEYS:MOV P1, #0FFH ;
54、先向P1口寫1</p><p> MOV A, P1 ;P1口值送累加器A</p><p> CPL A ;A值取反</p><p> ANL A, #0FH ;保存P1口的低4位</p><p> MOV 20H, A
55、;A值送20H保存</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; 鍵功能子程序 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;
56、;;;;;;;;;;;;;;;</p><p> ANKEY: CLR EA;關(guān)中斷</p><p> CHECK: JB TR0, YXZ;判斷是否運行</p><p> K0: CJNE A, #01H, K1</p><p> AJMP
57、 RUN ;轉(zhuǎn)運行</p><p> K1: CJNE A, #02H, K2</p><p> AJMP KEY1 ;轉(zhuǎn)時調(diào)整</p><p> K2: CJNE A, #04H, K3</p&
58、gt;<p> AJMP KEY2 ;轉(zhuǎn)分調(diào)整</p><p> K3: CJNE A, #08H, OUT</p><p> AJMP KEY3 ;轉(zhuǎn)秒調(diào)整</p><p> YXZ: JB AC
59、C.0, STOP</p><p> AJMP OUT</p><p> KEY1: MOV R0, #45H;時調(diào)整</p><p> LCALL ADD1</p><p><b> CLR C</b></p><p> CJNE
60、 A, #24H, OUTT</p><p> ACALL CLR0</p><p> AJMP OUTT</p><p> KEY2: MOV R0, #43H;分調(diào)整</p><p> LCALL ADD1</p><p><b&g
61、t; CLR C</b></p><p> CJNE A, #60H, OUTT</p><p> ACALL CLR0</p><p> AJMP OUTT</p><p> KEY3: MOV R0,#41H ;秒調(diào)整</p><p&
62、gt; ACALL ADD1 </p><p><b> CLR C</b></p><p> CJNE A,#60H,OUTT </p><p> ACALL CLR0</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p&
63、gt;<p> ;;;;;;;;;;; 傳送顯示數(shù)據(jù) ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> OUTT: MOV 30H,40H;秒顯示單元41H-42H</p><p> MOV 31H,41H </p&
64、gt;<p> MOV 32H,#11 ; "-"</p><p> MOV 33H,42H ;分顯示單元43H-44H</p><p> MOV 34H,43H</p><p> MOV 35H,#11 ; "-"</p><
65、p> MOV 36H, 44H ;時顯示單元44-45H</p><p> MOV 37H, 45H</p><p><b> RET</b></p><p> STOP: CLRTR0 ;關(guān)電子鐘并跳出</p><p><b&g
66、t; RET</b></p><p> RUN: LCALL TIME;運行電子鐘</p><p> OUT: SETB EA ;無鍵按下或完成功能跳出</p><p><b> RET</b></p><p> ;;
67、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; 運行電子鐘 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> TIME: SETB EA</p><p>
68、MOV TL0, #0B0H </p><p> MOV TH0, #3CH ;3CB0H</p><p> MOV R4, #20 ;50ms,20次循環(huán)</p><p> SETB TR0
69、 ;啟動定時器0</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; 定時中斷 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;
70、;;;;;;;;;;;;;;;;;;;</p><p> INTT0: PUSH ACC</p><p> PUSH PSW</p><p><b> CLRET0</b></p><p> CLR TR0</p><p> MOV TL0,
71、 #0B0H ;重新設(shè)定定時初值</p><p> MOV TH0, #3CH</p><p> SETB TR0 ;啟動定時器0</p><p> DJNZ R4, OUTT0 ;1秒到</p><p>
72、 ADDSS:MOV R4,#14H ;20次計數(shù)</p><p> MOV R0,#41H;秒十位</p><p> ACALL ADD1 ;加1程序 </p><p><b> CLR C</b></p><p> CJNE A,
73、#60H,ADDMM ;1分到</p><p> ADDMM: JC OUTT0</p><p> ACALL CLR0</p><p> MOV R0,#43H</p><p> ACALL ADD1 ;加1程序</p><p><b> CLR
74、C</b></p><p> CJNE A,#60H,ADDHH ;1小時到</p><p> ADDHH: JC OUTT0</p><p> ACALL CLR0</p><p> MOV R0,#45H</p><p> ACALL ADD1
75、;加1程序 </p><p><b> CLR C</b></p><p> CJNE A,#24H,HOUR ;1天到</p><p> HOUR: JCOUTT0 </p><p> ACALL CLR0</p><p> OUTT0:MO
76、V 30H,40H;秒顯示單元41H-42H</p><p> MOV 31H,41H </p><p> MOV 32H,#11 ; "-"</p><p> MOV 33H,42H ;分顯示單元43H-44H</p><p> MOV 34H,4
77、3H</p><p> MOV 35H,#11 ; "-"</p><p> MOV 36H, 44H ;時顯示單元44-45H</p><p> MOV 37H, 45H</p><p><b> POP PSW</b></p>
78、<p><b> POP ACC</b></p><p> SETB ET0</p><p><b> RETI</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; 時間清
79、零子程序 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> CLR0: CLR A</p><p> MOV @R0,A</p><p><b> DEC R0</b></p><p&g
80、t; MOV @R0,A</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;; 加一子程序 ;;;;;;;;;;;</p><p> ;;;;;;;;;;;;;;;;
81、;;;;;;;;;;;;;;;;;;;;;;;</p><p> ADD1: MOV A,@R0 ;取十位</p><p> DEC R0 </p><p> SWAP A </p><p> ORL A,@R0 ;組合十位與個位</p><p> ADD
82、 A,#01H ;加1</p><p> DAA ;十進(jìn)制調(diào)整</p><p> MOV R3,A ;暫存</p><p> ANL A,#0FH ;屏蔽十位</p><p> MOV @R0,A ;放入個位單元</p>
83、<p> MOV A,R3 ;取值</p><p> INC R0 </p><p><b> SWAP A </b></p><p> ANL A,#0FH ;屏蔽個位</p><p> MOV @R0,A ;放入十位單元<
84、/p><p> MOV A, R3;數(shù)值放入A中等待判斷</p><p><b> RET</b></p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> ;;;;;;;;;;;顯示子程序 30H ;;;;;;;;;;;</
85、p><p> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p> DISP:MOV R1, #30H ;顯示緩沖存儲單元首地址</p><p> MOV R2, #80H ;從右至左顯示</p><p> D
86、ISP1:MOVP2, R2 ;送位控</p><p> MOVA, @R1</p><p> MOVDPTR, #TAB</p><p> MOVCA, @A+DPTR</p><p> MOVP0, A;送段控&l
87、t;/p><p> ACALLDL ;延時</p><p> MOVA, R2</p><p> JBACC.0, DISP2</p><p><b> RRA</b></p><p><b> I
88、NCR1</b></p><p> MOVR2, A</p><p> AJMPDISP1</p><p> DISP2: RET</p><p> TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0BFH,0CH </p
89、><p> DL:MOV R6,#14H;顯示延時子程序</p><p> DL1: MOV R7,#19H ;</p><p> DL2: DJNZ R7,DL2</p><p> DJNZ R6,DL1</p><p><b> RET<
90、/b></p><p><b> END</b></p><p> 第5章 電子鐘的使用說明及調(diào)試運行</p><p><b> 5.1使用說明書</b></p><p><b> 5.1.1操作說明</b></p><p><b&
91、gt; 時間顯示:</b></p><p> 電子鐘上電后,8個數(shù)碼管顯示初始狀態(tài)即最左邊的一個數(shù)碼管顯示P.。如果未顯示P.,只需按一下復(fù)位鍵即可使其顯示出P.。按下A鍵后電子鐘進(jìn)入自動計時狀態(tài),電子鐘顯示00時00分00秒并開始運行。</p><p><b> 時間調(diào)整:</b></p><p> 若要進(jìn)行時間調(diào)整,則需
92、再次按下A鍵,進(jìn)入時間調(diào)整狀態(tài),然后分別按下B鍵調(diào)時,按下C鍵調(diào)分,按下D鍵調(diào)秒,按下B、C、D鍵并松開可使電子鐘的時,分,秒分別加一。調(diào)整好時間后,按下A鍵就可以回到調(diào)整好的時間為基礎(chǔ)的自動計時狀態(tài)。無論是在自動計時,還是在調(diào)整校正時,都可按下復(fù)位鍵使系統(tǒng)回到顯示P.的初始狀態(tài)。其中B鍵顯示范圍為0-23,0為24點;C,D鍵顯示范圍為0-59,0 為60分。</p><p> 5.2電子鐘運行結(jié)果</
93、p><p><b> 5.2.1待機</b></p><p><b> ?。ㄈ鐖D5-1所示)</b></p><p><b> 5.2.2啟動</b></p><p><b> (如圖5-2所示)</b></p><p><
94、b> 5.2.3運行</b></p><p><b> (如圖5-3所示)</b></p><p><b> 第6章 誤差分析</b></p><p> 在調(diào)試運行過程中,在所有參數(shù)正確的情況下,我的結(jié)果仍出現(xiàn)運行緩慢情況。產(chǎn)生誤差的主要原因是我們用軟件計時,計時1秒是采用定時器的中斷服務(wù)程序。
95、當(dāng)電子鐘運行1秒,執(zhí)行中斷程序需要一定時間,這個時間就是所產(chǎn)生的誤差,這個誤差是不可避免的。同時,單片機工作也會受到環(huán)境的影響,比如溫度、濕度,以及其它電子設(shè)備的干擾。</p><p> 因此,應(yīng)該讓電子鐘工作在適度溫度、干燥和電子干擾較少的環(huán)境下,還有一種方法就是采用實時時鐘芯片,這樣可以使誤差降低到最少。</p><p><b> 第7章 設(shè)計體會</b>&
96、lt;/p><p> 這次課程設(shè)計持續(xù)了幾周時間,開始一直就想著等別人做出來再去請教別人,沒想到,自己做出來的人并不多,也沒有誰能夠幫我的,于是就和吳娟去圖書館借書自己琢磨。借了胡輝主編的《單片機應(yīng)用系統(tǒng)設(shè)計與訓(xùn)練》,細(xì)細(xì)閱讀了里面關(guān)于電子鐘設(shè)計的介紹,學(xué)到了蠻多知識的。后來在二班汪宇那里又弄來了王老師關(guān)于電子鐘設(shè)計的的課件包,借鑒了相當(dāng)一部分內(nèi)容,不管怎么樣我也終于是自己搞定了。但是自己還是去認(rèn)真再次學(xué)習(xí)了匯編語
97、言的,還有熟練了PROTEUS和KEIL軟件的運用,還用了蠻久沒用的PROTEL99 SE畫了電路原理圖,還更好的鍛煉了用VISIO畫流程圖。雖然大部分都是借鑒的,只是照著描描但自己還是用心去弄懂了。有時間還是會更多鍛煉的。感覺這些軟件都越來越順手了。挺開心。發(fā)現(xiàn)自己真是不逼就不學(xué)的人啦。</p><p><b> 教學(xué)建議</b></p><p> 所謂的教學(xué)建
98、議是第一次寫,也不知道應(yīng)該寫些什么。只知道自己沒學(xué)好,也似乎不愛學(xué)這方面的東西。王老師您是個好老師,雖然我感覺您上學(xué)期的教學(xué)比這學(xué)期的吸引人,當(dāng)然這其中的大部分的原因也都是因為這學(xué)期時間太松,加上我們這些大四學(xué)生太放任自流了的原因吧。</p><p> 如果要我提出建議,我想,以下這些不成熟也沒條理性可言的語句就算是我的所謂“建議”吧。</p><p> 教學(xué),教與學(xué),本來就時老師與學(xué)
99、生的互動。老師教得再好,學(xué)生沒去認(rèn)真有什么用處?所以我覺得一個好老師可能應(yīng)該更多的去帶動學(xué)生去學(xué),勾起學(xué)生學(xué)習(xí)的興趣。雖然王老師您在這方面已經(jīng)下了很多功夫,但似乎成效并不大,適得其反,一部分根本不想學(xué)的人反而還覺得您逼迫得太緊了,對您意見頗多。形成了這樣的局面,我想也不時您所希望見到的,所以為什么您要對每個人都做一樣的要求呢?</p><p> 教學(xué),并不是抓學(xué)生抓得緊他們就一定學(xué)得好的。不是說,上有政策,下有
100、對策嗎?您不管怎么樣嚴(yán)格要求,可最后,真正不想學(xué)的仍舊老油條一根。您的腦細(xì)胞卻在以極大的速度消亡。</p><p> 您現(xiàn)在已經(jīng)不時青春年華了,為了您自己的身體著想,請適當(dāng)?shù)膶W(xué)生施壓,對某些對這方面感興趣的同學(xué)嚴(yán)格要求些。以后又并不是每個學(xué)過單片機這一科的人都會走上單片機這條路,為什么不讓那些對單片機沒興趣的人有多些時間做別的事情?</p><p> 我知道自己提的意見很不討您歡心,
101、但是,上學(xué)期我就覺得每個人都在您的嚴(yán)格要求下?lián)v鼓單片機??勺罱K的成效呢?這學(xué)期所表現(xiàn)處理的“成效”好像也并不如您意吧?</p><p><b> 請恕我愚昧!</b></p><p><b> 參考資料</b></p><p> [1]胡輝,單片機應(yīng)用系統(tǒng)設(shè)計與訓(xùn)練[M],中國水利水電出版社,2004.9。 <
102、/p><p> [2]曹巧媛,單片機原理及應(yīng)用[M],北京:電子工業(yè)出版社,1997.7。</p><p> [3]趙秀珍,單永磊,單片微型計算機原理及其應(yīng)用[M],北京:中國水利水電出版社,2001.8。</p><p> [4]張毅剛,修林成,胡振江,MCS-51單片機應(yīng)用設(shè)計[M],哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1990.8。</p><
103、p> [5]張洪潤,蘭清華,單片機應(yīng)用技術(shù)教程[M],北京:清華大學(xué)出版社,1997.11。</p><p> [6]李華,MCS-51系列單片機實用接口技術(shù)[M],北京:北京航空航天大學(xué)出版社,1993.8。</p><p><b> 附 錄</b></p><p><b> 致 謝</b></p&g
104、t;<p> 這次的課程設(shè)計,所謂是一波三折啊。但終于還是完成了!這個歷史性時刻的來臨,要感謝的人太多太多!</p><p> 首先,感謝我們尊敬的王老師,有了他的諄諄教誨,處處提點,我才得以成功的完成。是他在課堂上將電子鐘的原理及設(shè)計思路詳細(xì)講解給我們聽,也是王老師一次次給我們指出原理圖的錯誤,讓我們修改再重新繪制。老師在課堂上嚴(yán)格要求我們,這是對我們的負(fù)責(zé),畢竟嚴(yán)師出高徒。而我自由散漫的性格
105、弱點也說明了我需要這樣的老師來對我進(jìn)行督促和鞭策,我學(xué)到的不僅僅只有書本上的知識,還有做人的道理。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。在此謹(jǐn)向王老師致以誠摯的謝意和崇高的敬意。</p><p> 其次,是我親愛的寢室姐妹們,如果沒有她們的對我的幫助和關(guān)照還有鞭策,我想,我對KEIL和PROTEUS這些軟件根本就不會這么熟練起來的。感謝廖雪平,感謝吳娟,感謝周女考,感謝汪宇
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機畢業(yè)設(shè)計--基于單片機的電子時鐘
- 畢業(yè)設(shè)計(論文)基于51單片機的電子時鐘設(shè)計
- 畢業(yè)設(shè)計--基于單片機的電子時鐘設(shè)計
- 畢業(yè)設(shè)計---基于單片機的電子時鐘設(shè)計
- 基于單片機的電子時鐘設(shè)計【畢業(yè)設(shè)計】
- 畢業(yè)設(shè)計--基于stc單片機的電子時鐘
- 基于單片機的電子時鐘設(shè)計畢業(yè)論文
- 畢業(yè)論文---基于單片機的電子時鐘設(shè)計
- 畢業(yè)論文--基于單片機的電子時鐘設(shè)計
- 畢業(yè)論文基于單片機的電子時鐘設(shè)計
- 畢業(yè)設(shè)計論文----單片機電子時鐘
- 單片機電子時鐘 畢業(yè)設(shè)計論文
- 基于單片機的電子時鐘設(shè)計畢業(yè)論文
- 基于單片機的電子時鐘的設(shè)計-畢業(yè)論文
- 畢業(yè)設(shè)計(論文) 單片機電子時鐘設(shè)計
- 單片機的電子時鐘設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計---用單片機實現(xiàn)電子時鐘
- 基于單片機的數(shù)字電子時鐘設(shè)計-畢業(yè)論文
- 基于51單片機的電子時鐘設(shè)計-畢業(yè)論文
- 單片機多功能數(shù)字電子時鐘設(shè)計畢業(yè)設(shè)計論文
評論
0/150
提交評論