單片機(jī)課程設(shè)計(jì)--數(shù)字電子鐘_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  《單片機(jī)技術(shù)》課程設(shè)計(jì)說明書</p><p><b>  數(shù)字電子鐘</b></p><p>  院 、 部: 電氣與信息工程學(xué)院 </p><p>  學(xué)生姓名: </p><p>  指導(dǎo)教師: 職稱 </p>

2、;<p>  專 業(yè): </p><p>  班 級: </p><p>  完成時間: 2013年01月05日 </p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  課

3、 程: 單片機(jī)技術(shù) </p><p>  課程設(shè)計(jì)題目: 數(shù)字電子鐘 </p><p>  數(shù)字頻率計(jì) </p><p>  數(shù)字電壓表 </p><p>  交通燈 </p><p>  搶答器

4、 </p><p>  密碼鎖 </p><p>  波形發(fā)生器 </p><p>  數(shù)字溫度計(jì) </p><p>  計(jì)算器 </p><p>  數(shù)字式秒表 </p><p>  時

5、 間: 2012~2013學(xué)年第一學(xué)期 </p><p>  指 導(dǎo) 教 師: </p><p>  《單片機(jī)技術(shù)》課程設(shè)計(jì)任務(wù)書</p><p>  一、設(shè)計(jì)題目:數(shù)字電子鐘、數(shù)字頻率計(jì)、數(shù)字電壓表、交通燈、搶答器、密碼鎖、波形發(fā)生器、數(shù)字溫度計(jì)、計(jì)算器、數(shù)字式秒表。</p><p>  二、

6、適用班級:自本1003~4、電子1001~2、電氣本1001~2、通信本1001~2</p><p><b>  三、指導(dǎo)教師:王韌</b></p><p>  四、設(shè)計(jì)目的與任務(wù):</p><p>  學(xué)生通過理論設(shè)計(jì)和實(shí)物制作解決相應(yīng)的實(shí)際問題,鞏固和運(yùn)用在《單片機(jī)技術(shù)》中所學(xué)的理論知識和實(shí)驗(yàn)技能,掌握單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法,提高設(shè)計(jì)

7、能力和實(shí)踐動手能力,為以后從事電子電路設(shè)計(jì)、研發(fā)電子產(chǎn)品打下良好的基礎(chǔ)。</p><p><b>  五、設(shè)計(jì)內(nèi)容與要求</b></p><p><b>  設(shè)計(jì)內(nèi)容</b></p><p><b>  1、數(shù)字電子鐘</b></p><p>  設(shè)計(jì)一個具有特定功能的電子鐘。

8、該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入時鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運(yùn)行,進(jìn)入時鐘運(yùn)行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進(jìn)入時鐘運(yùn)行狀態(tài)。</p><p><b>  2、數(shù)字頻率計(jì)</b></p><p>  設(shè)計(jì)一個能夠測量周

9、期性矩形波信號的頻率、周期、脈寬、占空比的頻率計(jì)。該頻率計(jì)上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入測量準(zhǔn)備狀態(tài)。按頻率測量鍵則測量頻率;按周期測量鍵則測量周期;按脈寬測量鍵則測量脈寬;按占空比測量鍵則測量占空比。</p><p><b>  3、數(shù)字電壓表</b></p><p>  設(shè)計(jì)一個能夠測量直流電壓的數(shù)字電壓表。測量電壓范圍0~5V,測量精度小數(shù)

10、點(diǎn)后兩位。該電壓表上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入測量準(zhǔn)備狀態(tài),按測量開始鍵則開始測量,并將測量值顯示在顯示器上,按測量結(jié)束鍵則自動返回“P.”狀態(tài)。</p><p><b>  4、交通燈</b></p><p>  設(shè)計(jì)一個具有特定功能的十字路口交通燈。該交通燈上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入準(zhǔn)備工作狀態(tài)。按開始鍵則開始工

11、作,按結(jié)束鍵則返回“P.”狀態(tài)。要求甲車道和乙車道兩條交叉道路上的車輛交替運(yùn)行,甲車道為主車道,每次通車時間為60秒,乙車道為次車道,每次通車時間為30秒,要求黃燈亮3秒,并且1秒閃爍一次。有應(yīng)急車輛出現(xiàn)時,紅燈全亮,應(yīng)急車輛通車時間10秒,同時禁止其他車輛通過。</p><p><b>  5、搶答器</b></p><p>  設(shè)計(jì)一個具有特定功能的搶答器。該搶答

12、器上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入準(zhǔn)備工作狀態(tài)。主持人按下開始按鈕后,搶答開始并限定時間30S;10S內(nèi)無人搶答,蜂鳴器發(fā)出音響;主持人按下開始按鈕之前有人按下?lián)尨鹌?,搶答違規(guī),顯示器顯示違規(guī)臺號,違規(guī)指示燈亮,其它按鈕不起作用;正常搶答,顯示器顯示臺號,蜂鳴器發(fā)出音響,其它搶答按鈕無效;正常搶答下,從按下?lián)尨鸢粹o開始30S內(nèi),答完按鈕沒按下,則作超時處理,超時處理時,違規(guī)指示燈亮,顯示器顯示違規(guī)臺號。蜂鳴器發(fā)出音響

13、;各臺數(shù)字顯示的消除,蜂鳴器音響及違規(guī)指示燈的關(guān)斷,都要通過主持人按復(fù)位按鈕。</p><p><b>  6、密碼鎖</b></p><p>  設(shè)計(jì)一個具有特定功能的密碼鎖。該密碼鎖上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入準(zhǔn)備工作狀態(tài)。該密碼鎖具有系統(tǒng)原始密碼888888,用戶可以設(shè)定并存儲用戶密碼,密碼輸入時應(yīng)處于保密顯示狀態(tài),密碼輸入正確時應(yīng)顯示密

14、碼輸入正確提示信息,否則,顯示密碼輸入錯誤提示信息。</p><p><b>  7、波形發(fā)生器</b></p><p>  設(shè)計(jì)一個具有特定功能的波形發(fā)生器。該波形發(fā)生器上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入準(zhǔn)備工作狀態(tài)。該波形發(fā)生器可以分別產(chǎn)生幅值0~5V、頻率100Hz~100KHz范圍內(nèi)的三角波、鋸齒波、方波、梯形波和正弦波。</p>

15、<p><b>  8、數(shù)字溫度計(jì)</b></p><p>  設(shè)計(jì)一個具有特定功能的數(shù)字溫度計(jì)。該數(shù)字溫度計(jì)上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進(jìn)入準(zhǔn)備工作狀態(tài)。測量溫度范圍0℃~99℃,測量精度小數(shù)點(diǎn)后兩位,可以通過開始和結(jié)束鍵控制數(shù)字溫度計(jì)的工作狀態(tài)。</p><p><b>  9、計(jì)算器</b></p>

16、;<p>  設(shè)計(jì)一個具有特定功能的計(jì)算器。該計(jì)算器上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進(jìn)入準(zhǔn)備工作狀態(tài)。能實(shí)現(xiàn)(1)基本的加、減、乘、除、平方、開方;(2)三角函數(shù)運(yùn)算;(3)十進(jìn)制、十六進(jìn)制轉(zhuǎn)換運(yùn)算;(4)其他功能。</p><p><b>  10、數(shù)字式秒表</b></p><p>  設(shè)計(jì)一個具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電

17、或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進(jìn)入準(zhǔn)備工作狀態(tài)。該數(shù)字式秒表應(yīng)具有開始、暫停、連續(xù)、清零和停止功能。</p><p><b>  設(shè)計(jì)要求</b></p><p>  1、以上課題可以任選其一或多選,學(xué)生也可以自擬課題;</p><p>  2、編程語言:匯編或C51;</p><p>  3、計(jì)算機(jī)打印《單

18、片機(jī)技術(shù)》課程設(shè)計(jì)說明書一份;</p><p>  4、設(shè)計(jì)時間:一周;</p><p><b>  5、實(shí)物制作;</b></p><p>  6、人員分組:一人一組一實(shí)物。</p><p>  六、《單片機(jī)技術(shù)》課程設(shè)計(jì)說明書正文主要內(nèi)容</p><p>  參照“《單片機(jī)技術(shù)》課程設(shè)計(jì)說明書

19、正文主要內(nèi)容”文件。</p><p>  七、《單片機(jī)技術(shù)》課程設(shè)計(jì)說明書書寫規(guī)范格式</p><p>  參照“《單片機(jī)技術(shù)》課程設(shè)計(jì)說明書書寫規(guī)范格式”文件。</p><p><b>  八、參考資料</b></p><p>  1、馬忠梅,單片機(jī)的C語言Windows環(huán)境編程寶典[M], 北京:北京航空航天大學(xué)出版

20、社,2003.6;    </p><p>  2、李光飛,單片機(jī)C程序設(shè)計(jì)指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2003.01 ;</p><p>  3、李光飛,單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2004.9。</p><p><b>  電氣自動化教研室</b></p><p>  2

21、012年9月10日</p><p><b>  摘 要</b></p><p>  隨著現(xiàn)在生活步伐的加快,電子鐘在生活中應(yīng)用很廣泛,而一種簡單方便的數(shù)字電子鐘則更能受到人們的歡迎,所以設(shè)計(jì)一個簡易數(shù)字電子鐘很有必要。本學(xué)期學(xué)習(xí)了51單片機(jī)的基礎(chǔ)知識,用這些知識做一個電子鐘,既能發(fā)揮所學(xué)到的知識又能提高實(shí)踐能力。本電子鐘采用AT89S52單片機(jī)為核心,使用12MHz

22、 晶振與單片機(jī)AT89S52 相連接,通過軟件編程與硬件結(jié)合的方法實(shí)現(xiàn)以24小時為一個周期,同時采用2只4位8段LED數(shù)碼管顯示小時、分鐘和秒。該電子鐘設(shè)有四個按鍵S0、S1、S2和S3鍵,可以控制電子鐘的工作與停止和調(diào)節(jié)時間的功能。走時準(zhǔn)確、顯示直觀、運(yùn)行穩(wěn)定等優(yōu)點(diǎn)。具有很高的推廣應(yīng)用價值。</p><p>  關(guān)鍵詞:電子鐘;單片機(jī);軟件編程;硬件設(shè)計(jì)</p><p><b>

23、;  ABSTRACT</b></p><p>  Now as to accelerate the pace of life, electronic clock in the life of the application is very wide, and a simple and convenient digital electronic clock is more welcomed by pe

24、ople, so the design of a simple digital electronic clock is necessary. This semester to study 51 the basic knowledge of SCM, using this knowledge to do an electronic clock, can play to learn the knowledge and improve the

25、 ability of practice. The electronic clock with AT89S52 single chip as the core, the use of 12MHz crysta</p><p>  Key words: electronic clock; single-chip microcomputer; software; hardware design</p>

26、<p><b>  目錄</b></p><p>  1 設(shè)計(jì)課題任務(wù)、功能要求說明及總體方案介紹…………………………………2</p><p>  1.1 設(shè)計(jì)課題任務(wù)………………………………………………………………2</p><p>  1.2 功能要求說明…………………………………………………………2</p>&

27、lt;p>  1.3 設(shè)計(jì)課題總體方案介紹及工作原理說明………………………………2</p><p>  2 設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)……………………………………………………1</p><p>  2.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能…………………………………………3</p><p>  2.2 設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖…………………………3

28、</p><p>  2.3 設(shè)計(jì)課題元器件清單…………………………………………………4</p><p>  3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)……………………………………………………</p><p>  3.1 設(shè)計(jì)課題使用單片機(jī)資源………………………………………………</p><p>  3.2 設(shè)計(jì)課題軟件系統(tǒng)各模塊功能簡介………………

29、………………………</p><p>  3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖………………………………………</p><p>  3.4 設(shè)計(jì)課題軟件系統(tǒng)程序清單……………………………………………</p><p>  4 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議………………………………</p><p>  4.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用

30、說明……………………………………</p><p>  4.2 設(shè)計(jì)課題的仿真結(jié)果……………………………………………………</p><p>  4.3 設(shè)計(jì)課題的誤差分析……………………………………………………</p><p>  4.4 設(shè)計(jì)體會………………………………………………………………</p><p>  4.5 教學(xué)建議……

31、…………………………………………………………</p><p>  結(jié)束語 ………………………………………………………………………………</p><p>  致 謝 ……………………………………………………………………………</p><p>  參考文獻(xiàn) ……………………………………………………………………………</p><p>  附

32、 錄 …………………………………………………………………………</p><p>  1、設(shè)計(jì)課題任務(wù)、功能要求說明及總體方案介紹</p><p>  1.1 設(shè)計(jì)課題任務(wù)</p><p>  利用51單片機(jī)設(shè)計(jì)一個特定功能的數(shù)字電子鐘,它具有顯示時間和時間調(diào)整的功能。</p><p>  1.2 功能要求說明</p><

33、;p>  設(shè)計(jì)一個具有特定功能的電子鐘。該電子鐘上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”, 進(jìn)入時鐘準(zhǔn)備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運(yùn)行,進(jìn)入時鐘運(yùn)行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動/調(diào)整鍵再次進(jìn)入時鐘運(yùn)行狀態(tài)。</p><p>  1.3 設(shè)計(jì)課題總體方案介紹及工作原理說明</p>&l

34、t;p>  本電子鐘主要由單片機(jī)、8*1獨(dú)立鍵盤、顯示接口電路和復(fù)位電路構(gòu)成,設(shè)計(jì)課題的總體方案如圖1所示</p><p>  圖1 總體設(shè)計(jì)方案圖</p><p>  本電子鐘的所有的軟件、參數(shù)均存放在AT89S52的Flash ROM和內(nèi)部RAM中,減少了芯片的使用數(shù)量簡化了整體電路也降低了整機(jī)的工作電流。鍵盤采用動態(tài)掃描方式。利用單片機(jī)定時器及計(jì)數(shù)器產(chǎn)生定時效果通過編程形成數(shù)

35、字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù),同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。</p><p>  設(shè)計(jì)課題硬件系統(tǒng)的設(shè)計(jì)</p><p>  2.1 設(shè)計(jì)課題硬件系統(tǒng)各模塊功能簡要介紹</p><p>  本設(shè)計(jì)的硬件系統(tǒng)主要采用以下基本模塊來實(shí)現(xiàn),單片機(jī)最小系統(tǒng)模塊,輸入模塊、輸出模塊、電源模塊,而之前老師布置了做一

36、個實(shí)物的板子,因此這個課程設(shè)計(jì)所用的板子即為我們作業(yè)所用的板子。</p><p>  晶振電路:在AT89S52芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時鐘脈沖信號,電路圖如圖2。</p><

37、p><b>  圖2 晶振電路</b></p><p>  復(fù)位電路:復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序,并使其它功能單元處于一個確定的初始狀態(tài)。本復(fù)位電路采用的是按鍵復(fù)位,它是通過復(fù)位端經(jīng)電阻與VCC電源接通而實(shí)現(xiàn)的,它兼具上電復(fù)位功能。因本系統(tǒng)的晶振的頻率為12MHz,所以,復(fù)位信號持續(xù)時間應(yīng)當(dāng)超過2μs才能完成復(fù)

38、位操作,電路圖如圖3。 </p><p><b>  圖3 復(fù)位電路</b></p><p>  鍵盤電路:本系統(tǒng)采用的是獨(dú)立式鍵盤結(jié)構(gòu),每個按鍵單獨(dú)占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。它軟件是采用查詢式結(jié)構(gòu),首先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的

39、功能處理程序,電路圖如圖4。</p><p><b>  圖4 鍵盤電路</b></p><p>  電源電路:我們直接采用USB電源。它可以熱插拔。這就讓用戶在使用外接設(shè)備時,不需要重復(fù)“關(guān)機(jī)將并口或串口電纜接上再開機(jī)”這樣的動作,而是直接在電腦工作時,就可以將USB電纜插上使用。而且具有攜帶方便,成本低,制作電路簡單的特點(diǎn),輸出電壓足以支持單片機(jī)工作電路圖,如圖

40、5?!?lt;/p><p><b>  圖5 電源電路</b></p><p>  下載電路:下載口既可以給單片機(jī)下載程序給可以給整個電路板提供電源,如圖6 。</p><p><b>  圖6 下載電路</b></p><p>  流水燈電路:8只發(fā)光二極管各接8只電阻后分別接至P3口,如圖7。&

41、lt;/p><p><b>  圖7 流水燈電路</b></p><p>  2.2設(shè)計(jì)課題電路原理圖、PCB圖、元器件布局圖</p><p><b>  見附錄1、2、3</b></p><p><b>  設(shè)計(jì)課題元器件清單</b></p><p>&

42、lt;b>  見附錄4</b></p><p>  3 設(shè)計(jì)課題軟件系統(tǒng)的設(shè)計(jì)</p><p>  3.1 設(shè)計(jì)課題使用單片機(jī)資源的情況</p><p>  設(shè)計(jì)課題使用單片機(jī)資源的情況如下:</p><p>  P0口輸出數(shù)碼管段控信號,P2口輸出數(shù)碼管位選信號,P1口接4個獨(dú)立按鍵;晶振12MHz;開始/停止鍵A:P

43、1.0,小時加一鍵B:P1.1,分鐘加一鍵C:P1.2,秒加一鍵D:P1.3。 </p><p>  30H 用于秒個位;31H 用于秒十位;</p><p>  32H 用于分個位;33H 用于分十位;</p><p>  34H 用于時個位;35H 用于時十位;</p><p><b>  堆棧棧底:6FH</b>&

44、lt;/p><p>  設(shè)計(jì)課題軟件系統(tǒng)個模塊功能簡要介紹</p><p>  本設(shè)計(jì)的軟件系統(tǒng)主要采用以下基本模塊來實(shí)現(xiàn),主程序、中斷服務(wù)程序、鍵盤輸入程序模塊、數(shù)碼管顯示模塊和延時模塊。</p><p>  主程序:主要是用于對輸入信號的處理、輸出信號的控制和對各個功能程序模塊的運(yùn)用及其控制。</p><p>  中斷服務(wù)程序:主要是用于電子

45、鐘的準(zhǔn)確運(yùn)行。</p><p>  鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。</p><p>  數(shù)碼管顯示模塊:主要是用于數(shù)碼管顯示時間。</p><p>  延時模塊:程序中有兩種延時子程序,一種是短延時用于判鍵按下等,一種是長延時。</p><p>  3.3 設(shè)計(jì)課題軟件系統(tǒng)程序流程框圖</p><

46、;p>  系統(tǒng)軟件采用匯編語言按模塊化方式進(jìn)行設(shè)計(jì),然后通過Keil軟件開發(fā)平臺將程序變成十六進(jìn)制程序語言,接著使用Protues進(jìn)行仿真,讀出顯示數(shù)據(jù)。

47、 </p><p>  監(jiān)控程序流程框圖如2所示;</p><p>  加1子程序框圖如3所示;</p><p>  鍵盤掃描子程序框圖如4所示;</p><p>  顯示子程序框圖如5所示;</p><p>  圖8 監(jiān)控程序流程框圖</p><p>  圖1

48、1 顯示子程序框圖</p><p>  3.4設(shè)計(jì)課題軟件系統(tǒng)程序清單</p><p>  詳細(xì)程序清單見附錄5</p><p>  4 設(shè)計(jì)結(jié)論、仿真結(jié)果、誤差分析、教學(xué)建議</p><p>  4.1 設(shè)計(jì)課題的設(shè)計(jì)結(jié)論及使用說明</p><p>  本設(shè)計(jì)為基于51單片機(jī)的電子鐘設(shè)計(jì)。剛開始,我們很多地方理

49、不清頭緒,無從下手,但是經(jīng)過老師在課堂上關(guān)于鍵盤數(shù)碼管還有整體程序設(shè)計(jì)的講解,確定基本設(shè)計(jì)方案,先理清整體,然后各個模塊化的設(shè)計(jì)。本設(shè)計(jì)用2個四位一體的共陽數(shù)碼管做為顯示器,它顯示時間值;設(shè)計(jì)中有四個按鍵,其中S0為啟動/選擇調(diào)整位置,S1為小時加一鍵, S2為分鐘加一鍵,S3為秒加一鍵。這樣的結(jié)果與設(shè)計(jì)要求完全相符,本設(shè)計(jì)成功。完成了設(shè)計(jì)任務(wù)。</p><p>  4.2 設(shè)計(jì)課題的仿真結(jié)果</p>

50、;<p>  因?yàn)槲覀冎耙呀?jīng)做出一塊好的實(shí)驗(yàn)板了,可以直接將程序下載進(jìn)我們的板子里,這樣出來的比在Protues看得更真實(shí)一些,仿真結(jié)果如圖4.1與4.2所示。</p><p><b>  實(shí)現(xiàn)功能:</b></p><p>  可調(diào)整運(yùn)行的電子鐘具有三種工作狀態(tài):“P.”狀態(tài)、運(yùn)行狀態(tài)、調(diào)整狀態(tài)。</p><p> ?。?)、

51、“P.”狀態(tài),依靠上電或按復(fù)位鍵進(jìn)入,在此狀態(tài)下,按S1、S2、S3鍵均無效,</p><p>  按S0鍵有效,進(jìn)入運(yùn)行狀態(tài);</p><p> ?。?)、運(yùn)行狀態(tài),在此狀態(tài)下,按S1、S2、S3鍵均無效,只有按S0鍵有效,按下S0鍵后,退出運(yùn)行狀態(tài),進(jìn)入調(diào)整狀態(tài);</p><p> ?。?)、調(diào)整狀態(tài),按S0鍵進(jìn)入,在此狀態(tài)下,按S1鍵小時加一、S2鍵分鐘加一、

52、S3鍵秒加一;調(diào)整結(jié)束后必須按S0鍵,即可退出調(diào)整狀態(tài),進(jìn)入</p><p><b>  運(yùn)行狀態(tài)。</b></p><p>  時間顯示格式為:時-分-秒; </p><p>  圖12 “P.”運(yùn)行狀態(tài)</p><p>  圖13 時鐘運(yùn)行狀態(tài)</p><p>  4.3 設(shè)計(jì)課題的誤差

53、分析</p><p>  該電子鐘在運(yùn)行中存在一定的誤差,誤差產(chǎn)生有三種可能,首先是采用的計(jì)時方案是軟件計(jì)時的,計(jì)時優(yōu)勢利用中斷來實(shí)現(xiàn)。而當(dāng)電子鐘運(yùn)行時間1秒時,又得去執(zhí)行中斷程序,這個過程是需要時間的,所以就產(chǎn)生了一定的誤差,當(dāng)然這個誤差是避免不了的,其次還有硬件系統(tǒng)也有一定的影響。第三,設(shè)計(jì)用到12MHz的晶振,計(jì)算是滿20次為一秒鐘,但實(shí)際可能會有誤差。</p><p><b&

54、gt;  4.4 設(shè)計(jì)體會</b></p><p>  次課程設(shè)計(jì),讓我學(xué)到了很多,不但是在學(xué)習(xí)的方法還是在學(xué)習(xí)的力度,認(rèn)識到了自己的許多缺點(diǎn)和不足,使我深深的感受到了理論聯(lián)系實(shí)際的必要性及其重要性。在我們以往的學(xué)習(xí)過程中,我們刻意地去加強(qiáng)理論的基礎(chǔ),對于一個程序我們只求它在運(yùn)行時沒有出錯,我們便以為我們的計(jì)劃成功了豈不知它能否在硬件結(jié)構(gòu)中得以實(shí)現(xiàn)則是另外一回事,這就要求我們的動手能力,如果無法使軟

55、件與硬件實(shí)現(xiàn)有機(jī)的結(jié)合,那么再好的程序也是沒用的。</p><p><b>  4.5 教學(xué)建議</b></p><p>  在這個學(xué)期之前,王韌老師在我們班群里和我們聊過一次,就從那次聊天里,我才第一次了解我們班下學(xué)期的單片機(jī)老師。</p><p>  經(jīng)過一個學(xué)期王韌老師教導(dǎo)的的單片機(jī)學(xué)習(xí),我掌握了很多單片機(jī)學(xué)習(xí)的寶貴經(jīng)驗(yàn),尤其在編程的思

56、路。編程思路很重要,沒有編程思路,程序就不會編出來,就失去了編程的意義。在開始編程之前,想好編程的思路,編程能力才會提高,編程的過程才會順暢,程序的質(zhì)量才會提高。</p><p>  當(dāng)然事物是兩面性的,現(xiàn)在回想這學(xué)期的壓力比以前遇到的更大,老師要求嚴(yán)格,不允許出現(xiàn)絲毫的錯誤。我個人向老師提幾點(diǎn)教學(xué)建議,</p><p>  (1)老師上課經(jīng)常提前上課而且推遲下課,老師想講更多的知識我們可

57、以理解,但知識是需要消化理解的,老師您的一節(jié)課知識量很多,我們光聽是不行的,還要做筆記,但做筆記又會影響后面的聽課,所以老師您可以講課題時間讓給我們整理剛學(xué)到的知識;</p><p> ?。?)老師您知識量大,我發(fā)現(xiàn)在實(shí)驗(yàn)課上,問您個問題,您多是叫我們回去自己解決,當(dāng)然我們自己解決會有意想不到的效果,可就是我們不明白尋思了好久才問您的,要是我們再回去自己找,那豈不是有點(diǎn)因小失大了。</p><

58、p> ?。?)還有您上課的提問,有加分這個政策,可是我發(fā)現(xiàn)這種形式的提問沒多大作用,這樣似乎更不能激發(fā)我們的沖動。</p><p><b>  結(jié)束語</b></p><p>  這次單片機(jī)課程設(shè)計(jì)終于告一段落了,曲曲折折的,期間充滿了艱辛和快樂,雖然只是一個簡易的單片機(jī)數(shù)字電子鐘,卻要用到某些專業(yè)知識,只有學(xué)習(xí)好了單片機(jī)才能對其運(yùn)用游刃有余,設(shè)計(jì)的過程是乏味的

59、,其中也有許多精華,只有親身經(jīng)歷才能體驗(yàn)到這無窮的樂趣。</p><p><b>  致謝</b></p><p>  在這次課程設(shè)計(jì)中,遇到好多的問題,后來很多都能解決了。感謝王韌老師的細(xì)心授課與嚴(yán)格要求,期間還有好多的同學(xué)幫助我,程序是模塊化的,各個模塊都得請教老師與同學(xué),中間還有詢問一些學(xué)習(xí)單片機(jī)編程的人,自己寫的程序自己也難找出錯誤,也麻煩了我的同學(xué)幫我檢查程

60、序,使我在此次設(shè)計(jì)中學(xué)到了許多寶貴的知識和經(jīng)驗(yàn)。在此,衷心地感謝你們!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]夏繼強(qiáng). 單片機(jī)應(yīng)用設(shè)計(jì)培訓(xùn)教程——實(shí)踐篇[M]. 北京:北京航空航天大學(xué)出版社, 2008.</p><p>  Xia Jiqiang. Application design based on SC

61、M training course -- Practice [M]. Beijing: Beihang University press, 2008</p><p>  [2]何立明. MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)(系統(tǒng)配置與接口技術(shù))[M].北京:北京航空航天大學(xué)出版社, 2003.</p><p>  He Liming MCS-51 SCM application system d

62、esign ( system configuration and Interface Technology ) [M]. Beijing: Beihang University press, 2003</p><p>  [3]李廣弟, 朱月秀, 王秀山. 單片機(jī)基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社, 2001.7.</p><p>  Li Guangdi, Zhu Yuexiu,

63、 Wang Xiushan. Fundamentals of single-chip microcomputer [M]. Beijing: Beihang University press, 2001.7</p><p>  [4]曹巧媛.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,1997.7.</p><p>  Cao Qiaoyuan. Principle and applic

64、ation of single-chip microcomputer [M]. Beijing: Publishing House of electronics industry, 1997.7.</p><p>  [5]李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:北京航空航天大學(xué)出版,2004.9.</p><p>  Li Guangfei. The SCM curriculum d

65、esign examples to guide [M]. Beijing: Beihang University press, 2004.9.</p><p><b>  .</b></p><p><b>  附 錄</b></p><p><b>  附錄1 電路原理圖</b></p>

66、;<p><b>  電路原理圖</b></p><p><b>  附錄2 PCB圖</b></p><p><b>  PCB板頂層</b></p><p><b>  PCB板底層</b></p><p><b>  附錄3

67、元件布局圖</b></p><p><b>  元件布局圖</b></p><p><b>  附錄4 元件清單</b></p><p><b>  元件清單</b></p><p><b>  附錄5 程序清單</b></p>

68、<p>  ;本數(shù)字電子鐘基于51單片機(jī)</p><p>  ;P0.0---P0.7段控線,接LED的顯示段a,b,c,d,e,d,f,dp</p><p>  ;P2.0---P2.7位控線,從右至左(LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7)</p><p>  ;78H--7FH 為顯示緩沖區(qū)</p>

69、;<p>  ;時十位,時個位,分十位,分個位,秒十位,秒個位對應(yīng)的儲存單元是(35H,4H,33H,32H,31H,30H)</p><p>  ;鍵值放在20H單元</p><p>  ;S0--S3的鍵值分別放在(20H.0,20H.1,20H.2,20H.3)</p><p>  ;寄存器第零組為監(jiān)控程序 ,寄存器第一組為顯示程序 ,寄存器第三

70、組為中斷程序</p><p>  ;定時器0,定時器1以中斷方式工作 定時50ms 方式1工作</p><p>  ;堆棧初始化在6FH</p><p><b>  ;程序設(shè)計(jì)者:</b></p><p>  ;完成時間:2013年1月6日</p><p>  ;*****************

71、**********************************************************************</p><p><b>  ;時分秒偽定義</b></p><p>  SECGE EQU 30H</p><p>  SECSHI EQU 31H</p>&

72、lt;p>  MINGE EQU 32H</p><p>  MINSHI EQU 33H</p><p>  HOURGE EQU 34H</p><p>  HOURSHI EQU 35H</p><p>  ;*************************************

73、*****************************************;系統(tǒng)起始程序區(qū)</p><p>  ORG 0000H</p><p>  LJMP MAIN</p><p>  ORG 000BH</p><p>  LJMP TT0</p><p><b>

74、  ;系統(tǒng)監(jiān)控程序區(qū)</b></p><p>  MAIN: MOV SP, #6FH ;堆棧初始化</p><p>  MOV PSW, #00H ;通用寄存器第0組</p><p>  MOV R0, #20H</p><p>  MOV R1, #

75、80H</p><p>  LOOP: MOV @R0, #00H</p><p>  INC R0</p><p>  DJNZ R1, LOOP ;清零</p><p>  SETB EA</p><p>  SETB ET0</p><p

76、><b>  ;顯示“P.”</b></p><p>  XSP: MOV R1, #08H</p><p>  MOV R0, #78H</p><p>  PP: CLR A</p><p>  MOV A, #11H</p><p&g

77、t;  MOV @R0, A</p><p>  INC R0</p><p>  DJNZ R1, PP </p><p>  LCALL DIR</p><p><b>  ;鍵盤控制</b></p><p>  JP: LCALL

78、 DIR</p><p>  LCALL KEY</p><p>  JB 20H.0, KEYA</p><p>  JB 20H.1, KEYB</p><p>  JB 20H.2, KEYC</p><p>  JB 20H.3, KEYD</p>&

79、lt;p>  LJMP JP</p><p>  KEYD: LJMP KEYDD</p><p>  ;******************************************************************************************</p><p><b>  ;鍵功能區(qū)</b&

80、gt;</p><p>  ;******************A鍵功能程序*******************</p><p>  KEYA: INC 40H </p><p>  MOV A, 40H</p><p>  MOV B, #2</p><p>  

81、DIV AB</p><p>  MOV A, B</p><p>  MOV R3, B</p><p>  CJNE A, #1, LOOP1</p><p>  LJMP AA</p><p>  LOOP1:CJNE A, #0,

82、 JP</p><p>  LJMP AAA</p><p>  ;第一次按下A鍵,開啟電子鐘</p><p>  AA: MOV TMOD, #01H</p><p>  MOV TH0, #3CH</p><p>  MOV TL0, #0B0H</p>

83、<p>  MOV 50H, #14</p><p>  SETB TR0 ;開啟定時器</p><p>  LJMP JP</p><p>  ;第二次按下A鍵,電子鐘停止并進(jìn)入調(diào)時狀態(tài)</p><p>  AAA: CLR TR0</p><p>  J

84、PP: LCALL XSH</p><p>  JP1: LCALL DIR</p><p>  LCALL KEY </p><p>  JB 20H.0, KEYA</p><p>  JB 20H.1, KEYB</p><p>  JB 20H.2

85、, KEYC</p><p>  JB 20H.3, KEYD</p><p>  LJMP JPP</p><p>  ;**************B鍵功能,調(diào)時********************</p><p>  KEYB: MOV A, 40H</p><p>  

86、CJNE A, #0, PB0</p><p>  LCALL JP</p><p>  PB0: MOV A, R3</p><p>  CJNE A, #0, JP1</p><p>  MOV R0, #HOURSHI</p><p> 

87、 LCALL ADD1</p><p>  MOV A, R2</p><p>  CJNE A, #24H, JPP</p><p>  LCALL CLR0</p><p>  LCALL JPP</p><p>  ;*****************C鍵功能,調(diào)分*

88、*****************</p><p>  KEYC: MOV A, 40H</p><p>  CJNE A, #0, PC0</p><p>  LCALL JP</p><p>  PC0: MOV A, R3</p><p>  CJNE

89、 A, #0, JP1</p><p>  MOV R0, #MINSHI</p><p>  LCALL ADD1</p><p>  MOV A, R2</p><p>  CJNE A, #60H, JPP</p><p>  LCAL

90、L CLR0</p><p>  LJMP JPP</p><p>  ;*****************D鍵功能,調(diào)秒*****************</p><p>  KEYDD: MOV A, 40H</p><p>  CJNE A, #0, PD0</p><p

91、>  LJMP JP</p><p>  PD0: MOV A, R3</p><p>  CJNE A, #0, JPP</p><p>  MOV R0, #SECSHI</p><p>  LCALL ADD1</p><p>  MOV

92、 A, R2</p><p>  CJNE A, #60, JPP</p><p>  LCALL CLR0</p><p>  LJMP JPP</p><p>  ;****************************************************************

93、*********************</p><p><b>  ;共陽極代碼</b></p><p>  TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;0-9</p><p>  DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,

94、0CH,8CH,0BFH ;A-F,滅,P.,P,-</p><p>  ;*************************************************************************************</p><p><b>  ;子程序區(qū)</b></p><p>  ;數(shù)碼管顯示程序DIR

95、</p><p>  ;入口:78H-7FH,(LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7)</p><p>  DIR: PUSH DPH</p><p>  PUSH DPL</p><p>  PUSH ACC</p><p>  PUSH PSW&l

96、t;/p><p>  CLR RS1;選用第1組寄存器</p><p>  SETB RS0</p><p>  MOV R0, #78H</p><p>  MOV R1, #0FEH</p><p>  MOV R5, #08H</p><

97、;p>  SS: MOV A, @R0</p><p>  MOV DPTR, #TAB</p><p>  MOVC A, @A+DPTR</p><p>  MOV P2, R1 ;送位控</p><p>  MOV P0, A ;送段控</p&

98、gt;<p>  LCALL DELAY ;延時1MS</p><p>  MOV A, R1</p><p><b>  RL A</b></p><p>  MOV R1, A</p><p>  INC R0</p><p&

99、gt;  DJNZ R5, SS ;循環(huán)</p><p>  POP PSW</p><p>  POP ACC</p><p>  POP DPL</p><p>  POP DPH</p><p><b>  RET</b></p>

100、<p>  ;2 送顯示子程序緩沖</p><p>  XSH: MOV 7FH, HOURSHI</p><p>  MOV 7EH, HOURGE</p><p>  MOV 7DH, #13</p><p>  MOV 7CH, MINSHI</p><

101、p>  MOV 7BH, MINGE</p><p>  MOV 7AH, #13</p><p>  MOV 79H, SECSHI</p><p>  MOV 78H, SECGE</p><p><b>  RET</b></p><p>

102、;  ;3 延時1MS程序</p><p>  DELAY: MOV R7, #01H</p><p>  DL1: MOV R6, #8EH</p><p>  DL0: MOV R5, #02H</p><p>  DJNZ R5, $</p><p>

103、;  DJNZ R6, DL0</p><p>  DJNZ R7, DL1</p><p><b>  RET </b></p><p>  ;4 鍵掃描子程序KEY</p><p>  ;鍵值在20H單元中</p><p>  KEY: LCALL KEY

104、CHULI</p><p>  JZ EXIT</p><p>  LCALL DIR</p><p>  LCALL DIR</p><p>  LCALL KEYCHULI</p><p>  JZ EXIT</p><p>  MOV B, 2

105、0H</p><p>  KEYSF: LCALL KEYCHULI</p><p>  JZ KEY1</p><p>  LCALL DIR</p><p>  LJMP KEYSF</p><p>  KEY1: MOV 20H, B</p><p&g

106、t;<b>  EXIT: RET</b></p><p>  ;5 P1口子程序KEYCHULI</p><p>  KEYCHULI:PUSH PSW</p><p>  CLR RS0</p><p>  SETB RS1</p><p>  MOV P1,

107、 #0FFH</p><p>  MOV A, P1</p><p>  CPL A</p><p>  MOV 20H, A</p><p>  CLR RS1</p><p>  CLR RS0</p><p>  POP

108、 PSW</p><p><b>  RET</b></p><p>  ;6 加一子程序ADD1</p><p>  ADD1: MOV A, @R0</p><p>  DEC R0 </p><p><b>  SWAP A</

109、b></p><p>  ORL A, @R0</p><p>  ADD A, #01H</p><p><b>  DA A</b></p><p>  MOV R2, A</p><p>  ANL A, #0FH&

110、lt;/p><p>  MOV @R0, A</p><p>  MOV A, R2</p><p>  INC R0</p><p>  ANL A, #0F0H</p><p>  SWAP A </p><p>  MOV

111、 @R0, A</p><p><b>  RET</b></p><p>  ;7 清零子程序CLR0</p><p>  CLR0: CLR A </p><p>  MOV @R0, A</p><p>  DEC R0</p>&l

112、t;p>  MOV @R0, A</p><p><b>  RET</b></p><p><b>  ;8 中斷服務(wù)程序</b></p><p>  TT0: PUSH ACC</p><p>  PUSH PSW</p><p>  PUSH

113、 DPH</p><p>  PUSH DPL</p><p>  SETB RS1</p><p>  SETB RS0</p><p>  MOV TH0, #3CH</p><p>  MOV TL0, #0B0H</p><p>  M

114、OV A, 50H</p><p>  DEC A</p><p>  MOV 50H, A</p><p>  JNZ RET0</p><p>  MOV 50H, #20</p><p>  MOV R0, #31H</p&g

115、t;<p>  LCALL ADD1</p><p>  MOV A, R2</p><p>  CJNE A, #60H, RET0</p><p>  LCALL CLR0</p><p>  MOV R0, #33H</p><p> 

116、 LCALL ADD1</p><p>  MOV A, R2</p><p>  CJNE A, #60, RET0</p><p>  LCALL CLR0</p><p>  MOV R0, #35H</p><p>  LCALL ADD1&

117、lt;/p><p>  MOV A, R2</p><p>  CJNE A, #24, RET0</p><p>  LCALL CLR0</p><p>  RET0: LCALL XSH</p><p>  POP DPL</p><p>

溫馨提示

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

評論

0/150

提交評論