

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