

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《單片機技術》課程設計說明書</p><p><b> 數(shù)字電子鐘</b></p><p> 院 、 部: 電氣與信息工程學院 </p><p> 學生姓名: </p><p> 指導教師: 職稱 </p>
2、;<p> 專 業(yè): </p><p> 班 級: </p><p> 完成時間: 2013年01月05日 </p><p><b> 課程設計任務書</b></p><p> 課
3、 程: 單片機技術 </p><p> 課程設計題目: 數(shù)字電子鐘 </p><p> 數(shù)字頻率計 </p><p> 數(shù)字電壓表 </p><p> 交通燈 </p><p> 搶答器
4、 </p><p> 密碼鎖 </p><p> 波形發(fā)生器 </p><p> 數(shù)字溫度計 </p><p> 計算器 </p><p> 數(shù)字式秒表 </p><p> 時
5、 間: 2012~2013學年第一學期 </p><p> 指 導 教 師: </p><p> 《單片機技術》課程設計任務書</p><p> 一、設計題目:數(shù)字電子鐘、數(shù)字頻率計、數(shù)字電壓表、交通燈、搶答器、密碼鎖、波形發(fā)生器、數(shù)字溫度計、計算器、數(shù)字式秒表。</p><p> 二、
6、適用班級:自本1003~4、電子1001~2、電氣本1001~2、通信本1001~2</p><p><b> 三、指導教師:王韌</b></p><p> 四、設計目的與任務:</p><p> 學生通過理論設計和實物制作解決相應的實際問題,鞏固和運用在《單片機技術》中所學的理論知識和實驗技能,掌握單片機應用系統(tǒng)的一般設計方法,提高設計
7、能力和實踐動手能力,為以后從事電子電路設計、研發(fā)電子產(chǎn)品打下良好的基礎。</p><p><b> 五、設計內(nèi)容與要求</b></p><p><b> 設計內(nèi)容</b></p><p><b> 1、數(shù)字電子鐘</b></p><p> 設計一個具有特定功能的電子鐘。
8、該電子鐘上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入時鐘準備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進入時鐘運行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結束后可按啟動/調(diào)整鍵再次進入時鐘運行狀態(tài)。</p><p><b> 2、數(shù)字頻率計</b></p><p> 設計一個能夠測量周
9、期性矩形波信號的頻率、周期、脈寬、占空比的頻率計。該頻率計上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入測量準備狀態(tài)。按頻率測量鍵則測量頻率;按周期測量鍵則測量周期;按脈寬測量鍵則測量脈寬;按占空比測量鍵則測量占空比。</p><p><b> 3、數(shù)字電壓表</b></p><p> 設計一個能夠測量直流電壓的數(shù)字電壓表。測量電壓范圍0~5V,測量精度小數(shù)
10、點后兩位。該電壓表上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入測量準備狀態(tài),按測量開始鍵則開始測量,并將測量值顯示在顯示器上,按測量結束鍵則自動返回“P.”狀態(tài)。</p><p><b> 4、交通燈</b></p><p> 設計一個具有特定功能的十字路口交通燈。該交通燈上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入準備工作狀態(tài)。按開始鍵則開始工
11、作,按結束鍵則返回“P.”狀態(tài)。要求甲車道和乙車道兩條交叉道路上的車輛交替運行,甲車道為主車道,每次通車時間為60秒,乙車道為次車道,每次通車時間為30秒,要求黃燈亮3秒,并且1秒閃爍一次。有應急車輛出現(xiàn)時,紅燈全亮,應急車輛通車時間10秒,同時禁止其他車輛通過。</p><p><b> 5、搶答器</b></p><p> 設計一個具有特定功能的搶答器。該搶答
12、器上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入準備工作狀態(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ī)指示燈的關斷,都要通過主持人按復位按鈕。</p><p><b> 6、密碼鎖</b></p><p> 設計一個具有特定功能的密碼鎖。該密碼鎖上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入準備工作狀態(tài)。該密碼鎖具有系統(tǒng)原始密碼888888,用戶可以設定并存儲用戶密碼,密碼輸入時應處于保密顯示狀態(tài),密碼輸入正確時應顯示密
14、碼輸入正確提示信息,否則,顯示密碼輸入錯誤提示信息。</p><p><b> 7、波形發(fā)生器</b></p><p> 設計一個具有特定功能的波形發(fā)生器。該波形發(fā)生器上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入準備工作狀態(tài)。該波形發(fā)生器可以分別產(chǎn)生幅值0~5V、頻率100Hz~100KHz范圍內(nèi)的三角波、鋸齒波、方波、梯形波和正弦波。</p>
15、<p><b> 8、數(shù)字溫度計</b></p><p> 設計一個具有特定功能的數(shù)字溫度計。該數(shù)字溫度計上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”,進入準備工作狀態(tài)。測量溫度范圍0℃~99℃,測量精度小數(shù)點后兩位,可以通過開始和結束鍵控制數(shù)字溫度計的工作狀態(tài)。</p><p><b> 9、計算器</b></p>
16、;<p> 設計一個具有特定功能的計算器。該計算器上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”,進入準備工作狀態(tài)。能實現(xiàn)(1)基本的加、減、乘、除、平方、開方;(2)三角函數(shù)運算;(3)十進制、十六進制轉換運算;(4)其他功能。</p><p><b> 10、數(shù)字式秒表</b></p><p> 設計一個具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電
17、或按鍵復位后能自動顯示系統(tǒng)提示符“P.”,進入準備工作狀態(tài)。該數(shù)字式秒表應具有開始、暫停、連續(xù)、清零和停止功能。</p><p><b> 設計要求</b></p><p> 1、以上課題可以任選其一或多選,學生也可以自擬課題;</p><p> 2、編程語言:匯編或C51;</p><p> 3、計算機打印《單
18、片機技術》課程設計說明書一份;</p><p> 4、設計時間:一周;</p><p><b> 5、實物制作;</b></p><p> 6、人員分組:一人一組一實物。</p><p> 六、《單片機技術》課程設計說明書正文主要內(nèi)容</p><p> 參照“《單片機技術》課程設計說明書
19、正文主要內(nèi)容”文件。</p><p> 七、《單片機技術》課程設計說明書書寫規(guī)范格式</p><p> 參照“《單片機技術》課程設計說明書書寫規(guī)范格式”文件。</p><p><b> 八、參考資料</b></p><p> 1、馬忠梅,單片機的C語言Windows環(huán)境編程寶典[M], 北京:北京航空航天大學出版
20、社,2003.6; </p><p> 2、李光飛,單片機C程序設計指導[M],北京:北京航空航天大學出版社,2003.01 ;</p><p> 3、李光飛,單片機課程設計實例指導[M],北京:北京航空航天大學出版社,2004.9。</p><p><b> 電氣自動化教研室</b></p><p> 2
21、012年9月10日</p><p><b> 摘 要</b></p><p> 隨著現(xiàn)在生活步伐的加快,電子鐘在生活中應用很廣泛,而一種簡單方便的數(shù)字電子鐘則更能受到人們的歡迎,所以設計一個簡易數(shù)字電子鐘很有必要。本學期學習了51單片機的基礎知識,用這些知識做一個電子鐘,既能發(fā)揮所學到的知識又能提高實踐能力。本電子鐘采用AT89S52單片機為核心,使用12MHz
22、 晶振與單片機AT89S52 相連接,通過軟件編程與硬件結合的方法實現(xiàn)以24小時為一個周期,同時采用2只4位8段LED數(shù)碼管顯示小時、分鐘和秒。該電子鐘設有四個按鍵S0、S1、S2和S3鍵,可以控制電子鐘的工作與停止和調(diào)節(jié)時間的功能。走時準確、顯示直觀、運行穩(wěn)定等優(yōu)點。具有很高的推廣應用價值。</p><p> 關鍵詞:電子鐘;單片機;軟件編程;硬件設計</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 設計課題任務、功能要求說明及總體方案介紹…………………………………2</p><p> 1.1 設計課題任務………………………………………………………………2</p><p> 1.2 功能要求說明…………………………………………………………2</p>&
27、lt;p> 1.3 設計課題總體方案介紹及工作原理說明………………………………2</p><p> 2 設計課題硬件系統(tǒng)的設計……………………………………………………1</p><p> 2.1 設計課題硬件系統(tǒng)各模塊功能…………………………………………3</p><p> 2.2 設計課題電路原理圖、PCB圖、元器件布局圖…………………………3
28、</p><p> 2.3 設計課題元器件清單…………………………………………………4</p><p> 3 設計課題軟件系統(tǒng)的設計……………………………………………………</p><p> 3.1 設計課題使用單片機資源………………………………………………</p><p> 3.2 設計課題軟件系統(tǒng)各模塊功能簡介………………
29、………………………</p><p> 3.3 設計課題軟件系統(tǒng)程序流程框圖………………………………………</p><p> 3.4 設計課題軟件系統(tǒng)程序清單……………………………………………</p><p> 4 設計結論、仿真結果、誤差分析、教學建議………………………………</p><p> 4.1 設計課題的設計結論及使用
30、說明……………………………………</p><p> 4.2 設計課題的仿真結果……………………………………………………</p><p> 4.3 設計課題的誤差分析……………………………………………………</p><p> 4.4 設計體會………………………………………………………………</p><p> 4.5 教學建議……
31、…………………………………………………………</p><p> 結束語 ………………………………………………………………………………</p><p> 致 謝 ……………………………………………………………………………</p><p> 參考文獻 ……………………………………………………………………………</p><p> 附
32、 錄 …………………………………………………………………………</p><p> 1、設計課題任務、功能要求說明及總體方案介紹</p><p> 1.1 設計課題任務</p><p> 利用51單片機設計一個特定功能的數(shù)字電子鐘,它具有顯示時間和時間調(diào)整的功能。</p><p> 1.2 功能要求說明</p><
33、;p> 設計一個具有特定功能的電子鐘。該電子鐘上電或按鍵復位后能自動顯示系統(tǒng)提示符“P.”, 進入時鐘準備狀態(tài);第一次按電子鐘啟動/調(diào)整鍵,電子鐘從0時0分0秒開始運行,進入時鐘運行狀態(tài);再次按電子鐘啟動/調(diào)整鍵,則電子鐘進入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結束后可按啟動/調(diào)整鍵再次進入時鐘運行狀態(tài)。</p><p> 1.3 設計課題總體方案介紹及工作原理說明</p>&l
34、t;p> 本電子鐘主要由單片機、8*1獨立鍵盤、顯示接口電路和復位電路構成,設計課題的總體方案如圖1所示</p><p> 圖1 總體設計方案圖</p><p> 本電子鐘的所有的軟件、參數(shù)均存放在AT89S52的Flash ROM和內(nèi)部RAM中,減少了芯片的使用數(shù)量簡化了整體電路也降低了整機的工作電流。鍵盤采用動態(tài)掃描方式。利用單片機定時器及計數(shù)器產(chǎn)生定時效果通過編程形成數(shù)
35、字鐘效果,再利用數(shù)碼管動態(tài)掃描顯示單片機內(nèi)部處理的數(shù)據(jù),同時通過端口讀入當前外部控制狀態(tài)來改變程序的不同狀態(tài),實現(xiàn)不同功能。</p><p> 設計課題硬件系統(tǒng)的設計</p><p> 2.1 設計課題硬件系統(tǒng)各模塊功能簡要介紹</p><p> 本設計的硬件系統(tǒng)主要采用以下基本模塊來實現(xiàn),單片機最小系統(tǒng)模塊,輸入模塊、輸出模塊、電源模塊,而之前老師布置了做一
36、個實物的板子,因此這個課程設計所用的板子即為我們作業(yè)所用的板子。</p><p> 晶振電路:在AT89S52芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進行二分頻之后,才成為單片機的時鐘脈沖信號,電路圖如圖2。</p><
37、p><b> 圖2 晶振電路</b></p><p> 復位電路:復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序,并使其它功能單元處于一個確定的初始狀態(tài)。本復位電路采用的是按鍵復位,它是通過復位端經(jīng)電阻與VCC電源接通而實現(xiàn)的,它兼具上電復位功能。因本系統(tǒng)的晶振的頻率為12MHz,所以,復位信號持續(xù)時間應當超過2μs才能完成復
38、位操作,電路圖如圖3。 </p><p><b> 圖3 復位電路</b></p><p> 鍵盤電路:本系統(tǒng)采用的是獨立式鍵盤結構,每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。它軟件是采用查詢式結構,首先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認該I/O口線所對應的按鍵已按下,然后,再轉向該鍵的
39、功能處理程序,電路圖如圖4。</p><p><b> 圖4 鍵盤電路</b></p><p> 電源電路:我們直接采用USB電源。它可以熱插拔。這就讓用戶在使用外接設備時,不需要重復“關機將并口或串口電纜接上再開機”這樣的動作,而是直接在電腦工作時,就可以將USB電纜插上使用。而且具有攜帶方便,成本低,制作電路簡單的特點,輸出電壓足以支持單片機工作電路圖,如圖
40、5?!?lt;/p><p><b> 圖5 電源電路</b></p><p> 下載電路:下載口既可以給單片機下載程序給可以給整個電路板提供電源,如圖6 。</p><p><b> 圖6 下載電路</b></p><p> 流水燈電路:8只發(fā)光二極管各接8只電阻后分別接至P3口,如圖7。&
41、lt;/p><p><b> 圖7 流水燈電路</b></p><p> 2.2設計課題電路原理圖、PCB圖、元器件布局圖</p><p><b> 見附錄1、2、3</b></p><p><b> 設計課題元器件清單</b></p><p>&
42、lt;b> 見附錄4</b></p><p> 3 設計課題軟件系統(tǒng)的設計</p><p> 3.1 設計課題使用單片機資源的情況</p><p> 設計課題使用單片機資源的情況如下:</p><p> P0口輸出數(shù)碼管段控信號,P2口輸出數(shù)碼管位選信號,P1口接4個獨立按鍵;晶振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> 設計課題軟件系統(tǒng)個模塊功能簡要介紹</p><p> 本設計的軟件系統(tǒng)主要采用以下基本模塊來實現(xiàn),主程序、中斷服務程序、鍵盤輸入程序模塊、數(shù)碼管顯示模塊和延時模塊。</p><p> 主程序:主要是用于對輸入信號的處理、輸出信號的控制和對各個功能程序模塊的運用及其控制。</p><p> 中斷服務程序:主要是用于電子
45、鐘的準確運行。</p><p> 鍵盤輸入程序模塊:主要是用于確定按鍵并得到特定的鍵碼值。</p><p> 數(shù)碼管顯示模塊:主要是用于數(shù)碼管顯示時間。</p><p> 延時模塊:程序中有兩種延時子程序,一種是短延時用于判鍵按下等,一種是長延時。</p><p> 3.3 設計課題軟件系統(tǒng)程序流程框圖</p><
46、;p> 系統(tǒng)軟件采用匯編語言按模塊化方式進行設計,然后通過Keil軟件開發(fā)平臺將程序變成十六進制程序語言,接著使用Protues進行仿真,讀出顯示數(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設計課題軟件系統(tǒng)程序清單</p><p> 詳細程序清單見附錄5</p><p> 4 設計結論、仿真結果、誤差分析、教學建議</p><p> 4.1 設計課題的設計結論及使用說明</p><p> 本設計為基于51單片機的電子鐘設計。剛開始,我們很多地方理
49、不清頭緒,無從下手,但是經(jīng)過老師在課堂上關于鍵盤數(shù)碼管還有整體程序設計的講解,確定基本設計方案,先理清整體,然后各個模塊化的設計。本設計用2個四位一體的共陽數(shù)碼管做為顯示器,它顯示時間值;設計中有四個按鍵,其中S0為啟動/選擇調(diào)整位置,S1為小時加一鍵, S2為分鐘加一鍵,S3為秒加一鍵。這樣的結果與設計要求完全相符,本設計成功。完成了設計任務。</p><p> 4.2 設計課題的仿真結果</p>
50、;<p> 因為我們之前已經(jīng)做出一塊好的實驗板了,可以直接將程序下載進我們的板子里,這樣出來的比在Protues看得更真實一些,仿真結果如圖4.1與4.2所示。</p><p><b> 實現(xiàn)功能:</b></p><p> 可調(diào)整運行的電子鐘具有三種工作狀態(tài):“P.”狀態(tài)、運行狀態(tài)、調(diào)整狀態(tài)。</p><p> ?。?)、
51、“P.”狀態(tài),依靠上電或按復位鍵進入,在此狀態(tài)下,按S1、S2、S3鍵均無效,</p><p> 按S0鍵有效,進入運行狀態(tài);</p><p> ?。?)、運行狀態(tài),在此狀態(tài)下,按S1、S2、S3鍵均無效,只有按S0鍵有效,按下S0鍵后,退出運行狀態(tài),進入調(diào)整狀態(tài);</p><p> ?。?)、調(diào)整狀態(tài),按S0鍵進入,在此狀態(tài)下,按S1鍵小時加一、S2鍵分鐘加一、
52、S3鍵秒加一;調(diào)整結束后必須按S0鍵,即可退出調(diào)整狀態(tài),進入</p><p><b> 運行狀態(tài)。</b></p><p> 時間顯示格式為:時-分-秒; </p><p> 圖12 “P.”運行狀態(tài)</p><p> 圖13 時鐘運行狀態(tài)</p><p> 4.3 設計課題的誤差
53、分析</p><p> 該電子鐘在運行中存在一定的誤差,誤差產(chǎn)生有三種可能,首先是采用的計時方案是軟件計時的,計時優(yōu)勢利用中斷來實現(xiàn)。而當電子鐘運行時間1秒時,又得去執(zhí)行中斷程序,這個過程是需要時間的,所以就產(chǎn)生了一定的誤差,當然這個誤差是避免不了的,其次還有硬件系統(tǒng)也有一定的影響。第三,設計用到12MHz的晶振,計算是滿20次為一秒鐘,但實際可能會有誤差。</p><p><b&
54、gt; 4.4 設計體會</b></p><p> 次課程設計,讓我學到了很多,不但是在學習的方法還是在學習的力度,認識到了自己的許多缺點和不足,使我深深的感受到了理論聯(lián)系實際的必要性及其重要性。在我們以往的學習過程中,我們刻意地去加強理論的基礎,對于一個程序我們只求它在運行時沒有出錯,我們便以為我們的計劃成功了豈不知它能否在硬件結構中得以實現(xiàn)則是另外一回事,這就要求我們的動手能力,如果無法使軟
55、件與硬件實現(xiàn)有機的結合,那么再好的程序也是沒用的。</p><p><b> 4.5 教學建議</b></p><p> 在這個學期之前,王韌老師在我們班群里和我們聊過一次,就從那次聊天里,我才第一次了解我們班下學期的單片機老師。</p><p> 經(jīng)過一個學期王韌老師教導的的單片機學習,我掌握了很多單片機學習的寶貴經(jīng)驗,尤其在編程的思
56、路。編程思路很重要,沒有編程思路,程序就不會編出來,就失去了編程的意義。在開始編程之前,想好編程的思路,編程能力才會提高,編程的過程才會順暢,程序的質(zhì)量才會提高。</p><p> 當然事物是兩面性的,現(xiàn)在回想這學期的壓力比以前遇到的更大,老師要求嚴格,不允許出現(xiàn)絲毫的錯誤。我個人向老師提幾點教學建議,</p><p> (1)老師上課經(jīng)常提前上課而且推遲下課,老師想講更多的知識我們可
57、以理解,但知識是需要消化理解的,老師您的一節(jié)課知識量很多,我們光聽是不行的,還要做筆記,但做筆記又會影響后面的聽課,所以老師您可以講課題時間讓給我們整理剛學到的知識;</p><p> ?。?)老師您知識量大,我發(fā)現(xiàn)在實驗課上,問您個問題,您多是叫我們回去自己解決,當然我們自己解決會有意想不到的效果,可就是我們不明白尋思了好久才問您的,要是我們再回去自己找,那豈不是有點因小失大了。</p><
58、p> ?。?)還有您上課的提問,有加分這個政策,可是我發(fā)現(xiàn)這種形式的提問沒多大作用,這樣似乎更不能激發(fā)我們的沖動。</p><p><b> 結束語</b></p><p> 這次單片機課程設計終于告一段落了,曲曲折折的,期間充滿了艱辛和快樂,雖然只是一個簡易的單片機數(shù)字電子鐘,卻要用到某些專業(yè)知識,只有學習好了單片機才能對其運用游刃有余,設計的過程是乏味的
59、,其中也有許多精華,只有親身經(jīng)歷才能體驗到這無窮的樂趣。</p><p><b> 致謝</b></p><p> 在這次課程設計中,遇到好多的問題,后來很多都能解決了。感謝王韌老師的細心授課與嚴格要求,期間還有好多的同學幫助我,程序是模塊化的,各個模塊都得請教老師與同學,中間還有詢問一些學習單片機編程的人,自己寫的程序自己也難找出錯誤,也麻煩了我的同學幫我檢查程
60、序,使我在此次設計中學到了許多寶貴的知識和經(jīng)驗。在此,衷心地感謝你們!</p><p><b> 參考文獻</b></p><p> [1]夏繼強. 單片機應用設計培訓教程——實踐篇[M]. 北京:北京航空航天大學出版社, 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單片機應用系統(tǒng)設計(系統(tǒng)配置與接口技術)[M].北京:北京航空航天大學出版社, 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]李廣弟, 朱月秀, 王秀山. 單片機基礎[M]. 北京:北京航空航天大學出版社, 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]曹巧媛.單片機原理及應用[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]李光飛.單片機課程設計實例指導[M].北京:北京航空航天大學出版,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單片機</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> ;時十位,時個位,分十位,分個位,秒十位,秒個位對應的儲存單元是(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> ;程序設計者:</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鍵,電子鐘停止并進入調(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 中斷服務程序</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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計——數(shù)字電子鐘
- 單片機課程設計--數(shù)字電子鐘
- 單片機課程設計--數(shù)字電子鐘
- 單片機數(shù)字電子鐘課程設計
- 單片機課程設計--數(shù)字電子鐘
- 單片機課程設計--數(shù)字鐘電子鐘
- 單片機課程設計--數(shù)字電子鐘設計
- 單片機電子鐘課程設計---數(shù)字電子鐘
- 單片機課程設計數(shù)字電子鐘
- 單片機課程設計---數(shù)字電子鐘的設計
- 單片機課程設計--基于單片機的數(shù)字電子鐘
- 電子鐘單片機課程設計
- 單片機課程設計--多功能數(shù)字電子鐘
- 單片機課程設計— 多功能數(shù)字電子鐘
- 單片機課程設計--電子鐘
- 單片機課程設計(電子鐘)
- 電子時鐘數(shù)字電子鐘單片機課程設計
- 電子鐘課程設計--基于單片機的電子鐘設計
- 課程設計----基于單片機的數(shù)字電子鐘設計
- 單片機數(shù)字時鐘課程設計--單片機多功能電子鐘設計
評論
0/150
提交評論