版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計(論文)</b></p><p> 題 目 名 稱 基于單片機的秒表系統(tǒng)設計 </p><p> 課 程 名 稱 單片機及嵌入式系統(tǒng) </p><p> 學 生 姓 名
2、 </p><p> 學 號 </p><p> 系 、專 業(yè) </p><p> 指 導 教 師
3、 </p><p> 2012年12月31日</p><p><b> 目錄</b></p><p> 1 課題內(nèi)容要求及目的………………………………………………………………1</p><p> 1.1課題內(nèi)容……………………………………………………………………………1<
4、/p><p> 1.2課題要求……………………………………………………………………………1</p><p> 1.3 課題目的……………………………………………………………………………1</p><p> 2 硬件設計………………………………………………………………………………2</p><p> 2.1 AT89C51單片機簡介…………
5、…………………………………………………2 </p><p> 2.2設計思路……………………………………………………………………………2</p><p> 2.3硬件電路設計………………………………………………………………………3</p><p> 3軟件設計………………………………………………………………………………5</p><p&
6、gt; 3.1程序設計……………………………………………………………………5</p><p> 3.2源程序………………………………………………………………………………6</p><p> 4系統(tǒng)調(diào)試與仿真……………………………………………………………………11</p><p> 4.1 proteus簡介……………………………………………………………………
7、11</p><p> 4.2仿真調(diào)試……………………………………………………………………………12</p><p> 5總結(jié)………………………………………………………………………………13</p><p> 參考文獻………………………………………………………………………………14</p><p> 1 課題內(nèi)容要求及目的</p
8、><p><b> 1.1課題內(nèi)容</b></p><p> 用AT89C51設計一個秒表,該秒表課可顯示0.0~59.9秒的時間,進行相應的單片機硬件電路的設計并進行軟件編程利用單片機定時器/計數(shù)器中斷設計秒表,從而實現(xiàn)秒、十分之一秒的計時。綜合運用所學的《單片機原理與應用》理論知識,通過實踐加強對所學知識的理解,具備設計單片機應用系統(tǒng)的能力。通過本次系統(tǒng)設計加深對
9、單片機掌握定時器、外部中斷的設置和編程原理的全面認識復習和掌握。</p><p> 本系統(tǒng)利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,通過采用proteus仿真軟件來模擬實現(xiàn)。模擬利用AT89C51單片機、LED數(shù)碼管以及控件來控制秒表的計數(shù)以及計位!其中有三位數(shù)碼管用來顯示數(shù)據(jù),顯示秒(兩位)和十分之一秒,十分之一秒的數(shù)碼管計數(shù)從0~9,滿十進一后顯示秒的數(shù)碼管的數(shù)字加一,并且十分之一秒顯示清零重新從零計數(shù)。
10、計秒數(shù)碼管采用三位的數(shù)碼管,當計數(shù)超過范圍是所有數(shù)碼管全部清零重新計數(shù)。</p><p><b> 1.2課題要求</b></p><p> 本課題是基于單片機的秒表系統(tǒng)設計,它的具體要求有以下幾點:</p><p> 用單片機AT89C51實現(xiàn);</p><p> 以0.1秒為最小單位進行顯示;</p&g
11、t;<p> 秒表量程為0.0-59.9秒,用 LED顯示;</p><p> 有清零、開始、停止功能、每到一秒有聲音提示;</p><p><b> 1.3課題目的</b></p><p> 通過課程設計,進一步熟悉和掌握AT89C51單片機的結(jié)構及工作原理,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數(shù)的
12、計算方法。通過完成一個包括電路設計和程序開發(fā)的完整過程,進一步了解開發(fā)一單片機應用系統(tǒng)的全過程,通過此綜合訓練,為以后畢業(yè)設計打下一定的基礎。</p><p> ?。?)通過本次課程設計加深對單片機課程的全面認識。</p><p> (2)掌握定時器、外部中斷的設置和編程。</p><p> ?。?)該實驗通過單片機的軟件延時設計,設計簡單的計時器系統(tǒng),能正確的計
13、時。</p><p> (4)通過本次課程設計能夠?qū)Τ绦蜻M行編輯,校驗。 </p><p><b> 2.硬件設計</b></p>&l
14、t;p> 2.1 AT89C51單片機簡介 </p><p> AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術制造,并且與89C51引腳和指令系統(tǒng)完全兼容。引腳分別如圖2.1所示。</p><
15、;p> 圖2.1 單片機引腳分布圖</p><p> 圖2.1所示的單片機是引腳雙列直插封裝方式,電源引腳40腳與接地腳20。P0口作輸入口使用時,應先向口鎖存器寫入1。P1口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩存可驅(qū)動4個TTL輸入。P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口也是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口,P3端口還用于一些復用功能。</p&g
16、t;<p><b> 2.2設計思路</b></p><p> 這次的試驗要求進行計時并且在數(shù)碼管上顯示時間,先要基本了解硬件內(nèi)在結(jié)構,確定用p2并行端口進行數(shù)碼管控制輸入,使用P1.6,P1.5,P1.4進行選擇0.1秒位,秒位,十位秒位,以P3.0為開始控制,P3.1為停止控制,P3.2為清零控制。
17、 本次實驗設計的基本思路是要求借助AT89C51單片機做出一個0-59.9s的秒表從十位秒到0.1位秒數(shù)這些計時的位數(shù)是存在一個內(nèi)嵌的結(jié)構,就是0.1秒位滿足條件然后進行跳位使秒位加一的過程,當0.1s到0.9s時該位自動清零并且秒位加一,秒位達到9時也自動清零并向十秒位加一。當計數(shù)超過范圍是所有數(shù)碼管全部清零重新計數(shù)。其次開始控制,停止控制,清零控制等功能,我們采用蜂鳴器進行提示,該信號由P1.0輸出由7406
18、非門與外加電源驅(qū)動,通過一個延時子程序加以控制。最后就是根據(jù)硬件的條件進行編程,要求軟硬件相互兼容。這也是設計的關鍵之處。因此需查閱相關書籍。</p><p><b> 2.3硬件電路設計</b></p><p> ?。?)時鐘電路與復位電路</p><p> 利用12分頻的晶振的一個機器周期為一微妙,通過循環(huán)延時產(chǎn)生0.1秒的延時,晶振電
19、路原理及單片機復位電路圖如圖2.2所示。</p><p> 圖2.2 時鐘與復位電路圖</p><p> 單片機的時鐘信號用來提供單片機內(nèi)各種微操作的時間基準,89C51片內(nèi)設有一個由反向放大器所構成的振蕩電路,XTAL1和 XTAL2分別為振蕩電路的輸入和輸出端,89C51單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時鐘很少用,若要用時,只要將XT
20、AL1接地,XTAL2接外部振蕩器就行。</p><p> 對于復位操作,我們采用手動復位,通過按鈕開關使單片機進入復位狀態(tài),這是單片機能否正常工作的關鍵。 </p><p> (2)硬件電路設計
21、 </p><p> 使用proteus軟件設計的硬件電路包含了三個功能控制鍵和一個單片機復位按鈕及蜂鳴器控制開關。具體如圖2.3所示。</p><p> 圖2.3 硬件電路連接圖</p><
22、p> 時鐘電路與復位電路已在前邊介紹,在此主要介紹端口電路,對于外顯電路的設計我們采用四位數(shù)碼管,事實上根據(jù)要求只用到三位,我們利用p1.4、p1.5、p1.6對數(shù)碼管進行位選。對于按鈕開關電路,我們利用p3.0、p3.1、p3.2分別作為開始、停止及清零功能的電路接口。對于聲音提示我們采用蜂鳴器裝置,信號由p1.0口接入經(jīng)過非門和驅(qū)動電源構成。 </p>
23、<p> 3軟件設計 3.1程序設計</p><p> 根據(jù)課題內(nèi)容,可做出主程序流程圖如圖3.1所示。</p><p> 圖3.1 主程序流程圖</p><p> 流程圖體現(xiàn)著設計程序的思路程序,開始后首先
24、進行數(shù)據(jù)初始化然后是條件判斷滿足條件或不滿足則進行對應的處理,如首先依次判斷是否暫停是否清零,然后十分之一妙位計數(shù),再判斷是否進位,若是秒位就加一,秒位加一后進行聲音提示,接著再判斷是否有進位,若有則十秒位加一,若十秒位產(chǎn)生進位則重新計時。</p><p><b> 3.2源程序:</b></p><p> HAOMIAO EQU 34H</p>
25、<p> MIAO EQU 35H</p><p> SHIMIAO EQU 36H</p><p><b> ORG 0000H</b></p><p> AJMP START</p><p><b> ORG 0030H</b></p><
26、;p> START: CLR C</p><p><b> SETB P1.6</b></p><p><b> SETB P1.5</b></p><p><b> SETB P1.4</b></p><p> MOV HAOMIAO,#0</p
27、><p> MOV MIAO,#0</p><p> MOV SHIMIAO,#0</p><p> MOV DPTR,#TABLE</p><p> MOV A,#00H</p><p> MOVC A,@A+DPTR</p><p><b> CLR P1.6</b&
28、gt;</p><p><b> MOV P2,A</b></p><p> MOV A,#00H</p><p> MOVC A,@A+DPTR</p><p><b> CLR P1.4</b></p><p><b> MOV P2,A</b
29、></p><p> MOV DPTR,#TABLE1</p><p> MOV A,#00H</p><p> MOVC A,@A+DPTR</p><p> CLR P1.5 </p><p> MOV P2,A </p><p> LCALL KAISHI &
30、lt;/p><p> LCALL MAIN </p><p> SHIWEI : SETB P1.5</p><p> MOV DPTR,#TABLE ;十秒位顯示</p><p> MOV MIAO,#0 ;使秒位從零位重新循環(huán)</p><p> INC SHIMIAO
31、 </p><p> MOV A,SHIMIAO </p><p> CLR C </p><p><b> SUBB A,#6</b></p><p><b> JZ START</b></p><p> AJMP MAIN
32、 </p><p><b> RET</b></p><p> TINGZHI: MOV A,#00H ;判斷是否有清零指</p><p><b> MOV A,P3</b></p><p> ANL A,#04H</p><p&g
33、t;<b> JZ START</b></p><p> MOV A,#00H ;判斷是否有停止指令</p><p> MOV A,P3 </p><p><b> CLR C</b></p><p> ANL A,#02H</p><p>
34、LCALL YANSHI</p><p><b> JZ MAIN</b></p><p> LJMP TINGZHI</p><p> START1 : LJMP START </p><p> SHIWEI1: LJMP SHIWEI</p><p> MAIN : SETB
35、 P1.5</p><p><b> SETB P1.4</b></p><p><b> SETB P1.6</b></p><p> MOV A,#00H ; 判斷是否有清零指令</p><p><b> MOV A,P3</b></p&g
36、t;<p> ANL A,#04H</p><p><b> JZ START1</b></p><p> MOV A,#00H ; 判斷是否有停止指令</p><p> MOV A,P3 </p><p><b> CLR C</b></p
37、><p> ANL A,#02H</p><p> JZ TINGZHI</p><p> MOV DPTR,#TABLE ; 0.1位秒顯示</p><p> I NC HAOMIAO ;加一,可查下一位數(shù)據(jù)</p><p> MOV A, HAOMIAO ;
38、 判斷是否進位</p><p><b> CLR C</b></p><p> SUBB A,#10</p><p> JZ MIAOZHEN </p><p> LCALL YANSHI ;延時0.1秒</p><p> AJMP MAIN </p&g
39、t;<p> RET ;繼續(xù)計時</p><p><b> MIAOZHEN:</b></p><p><b> SETB P1.4</b></p><p> MOV DPTR,#TABLE1 ;秒位顯示</p><p>
40、 MOV HAOMIAO,#0 ;使0.1秒從零重新循環(huán)</p><p> INC MIAO ;加一,可查下一位數(shù)據(jù)</p><p> MOV A,MIAO ;判斷是否進位</p><p><b> CLR C </b></p><p>
41、 SUBB A,#10</p><p> JZ SHIWEI1 </p><p> LCALL SND</p><p> AJMP MAIN ;返回0.1秒計</p><p> YANSHI: MOV R6,#30 </p><p> DL2: MOV A,#00H
42、 ;判斷是否有清零指令</p><p><b> MOV A,P3</b></p><p> ANL A,#04H</p><p><b> JZ START1</b></p><p> MOV DPTR,#TABLE </p><p&g
43、t; MOV A,SHIMIAO</p><p> MOVC A,@A+DPTR</p><p><b> CLR P1.6</b></p><p><b> MOV P2,A</b></p><p> ACALL YIHAOMIAO</p><p><b&
44、gt; SETB P1.6</b></p><p> MOV A,HAOMIAO</p><p> MOVC A,@A+DPTR</p><p><b> CLR P1.4</b></p><p><b> MOV P2,A</b></p><p>
45、ACALL YIHAOMIAO</p><p><b> SETB P1.4</b></p><p> MOV DPTR,#TABLE1</p><p> MOV A,MIAO</p><p> MOVC A,@A+DPTR</p><p> CLR P1.5 </p>
46、<p><b> MOV P2,A</b></p><p> ACALL YIHAOMIAO</p><p><b> SETB P1.5</b></p><p> DJNZ R6,DL2</p><p><b> RET</b></p>
47、<p> YIHAOMIAO: </p><p> MOV R7,#250</p><p><b> CV:NOP</b></p><p><b> NOP</b></p><p> DJNZ R7,CV</p><p><b> RET<
48、;/b></p><p> KAISHI: MOV A,#0</p><p><b> MOV A,P3</b></p><p> ANL A,#01H</p><p> JNZ KAISHI</p><p><b> RET</b></p>&
49、lt;p> SND: SETB P1.0</p><p> MOV R1,#1EH</p><p> DL: MOV R0,#0F9H</p><p> DL1: DJNZ R0,DL1</p><p> DJNZ R1,DL</p><p><b> CLR P1.0</
50、b></p><p><b> RET </b></p><p> TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FH;0,1,2,3,4,5,6,7,8,9</p><p> TABLE1:DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH, 087H,
51、0FFH,0EFH</p><p><b> END </b></p><p><b> 4系統(tǒng)調(diào)試與仿真</b></p><p><b> 4.1仿真軟件簡介</b></p><p> (1)Proteus是英國Labcenter electronics公司出版
52、的仿真軟件。它不僅具有其它仿真軟件的仿真功能,還能仿真單片機及外圍器件,它是目前最好的仿真單片機及外圍器件的工具。受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。</p><p> (2)在Proteus繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.HEX,可以在Proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。Proteus不僅可將許多單片機實例功能形象化,也可將許多單片
53、機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能。
54、 </p><p><b> 4.2仿真調(diào)試</b></p><p> ?。?) 經(jīng)過對程序的運行,并用wave軟件編譯后,用proteus仿真軟件進行仿真,按下“開始”按鈕之前,可以看到數(shù)碼管上數(shù)字子顯示為零如圖4.1所示。<
55、;/p><p> 圖4.1 開始狀態(tài)圖</p><p> 由圖4.1可以清楚的看到,秒表的初始狀態(tài),三位數(shù)碼管都顯示為零。進行位選的端口也都處于低電位,蜂鳴器也未工作。單片機復位端為低電平。</p><p> ?。?) 當按下“開始”時秒表開始計時,秒表開始計時,其狀態(tài)如圖4.2所示。</p><p> 圖4.2 開始計時圖</p
56、><p> 由圖4.2可以看到,開始計時后,數(shù)碼管數(shù)字在變化,圖中為十分之一秒位的數(shù)碼管顯示情況。</p><p> ?。?) 當按下“停止”時秒表停止計時,數(shù)碼管顯示的數(shù)字不再變化,如圖4.3所示。</p><p> 圖4.3 停止狀態(tài)圖</p><p> 由圖4.3可以看到按下“停止”按鈕后各個數(shù)碼管的數(shù)字不再變化蜂鳴器也停止工作。&l
57、t;/p><p> (4) 當按下“清零”時秒表無論是在計時還是在停止狀態(tài)都一律清零各數(shù)碼管全為零,回到初始狀態(tài)。</p><p><b> 5 總結(jié)</b></p><p> 在做課程設計的過程中我進一步認識到全面專業(yè)知識以及邏輯思考方式對研究問題的重要性,同時我也更加具體的掌握了課程設計的基本方法。經(jīng)過不斷的的努力我們小組終于完成了這次課
58、程設計,總的來說,我們學到了不少的東西,知道了理論聯(lián)系實際的重要性。在設計過程中我們遇到了很多的困難,但沒放棄,查閱了許多相關的書籍,自己獨立思考和借鑒了前人的許多優(yōu)秀成果,并與所學的知識緊密的結(jié)合了起來。我們相信這過程對今后的學習和工作給有著積極的影響。 </p><p> 通過這次設計,我們對這門課有了更好的理解。尤其結(jié)合了這幾年學的相關的專業(yè)知識,對各門課都有了一個較全面的理解。這必將對我們以后的
59、學習和工作有很大的幫助。本次設計就未深入涉及,想要更好的改進設計方案,還需要進一步的努力。如果有好的意見,希望老師給以幫助。</p><p><b> 參考文獻</b></p><p> [1] 劉樂善.微型計算機接口技術及應用[M].北京:北京航空航天大學出版社,2001:258-264. </p><p> [2] 何立民.單片機實
60、驗與實踐教程[M].北京:航空航天大學出版社,2004:46-67.</p><p> [3] 李朝青.單片機原理及接口技術(第三版)[M].北京:北京航空航天大學出版社,1999: 280-296.</p><p> [4] 童詩白.模擬電子技術基礎[M].北京:高等教育出版社,2001:53-69 .</p><p> [5] 周明德.微型計算機系統(tǒng)原理及
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設計報告---單片機秒表系統(tǒng)設計
- 單片機秒表系統(tǒng)課程設計
- 單片機課程設計--秒表系統(tǒng)設計
- 單片機秒表課程設計
- 單片機秒表系統(tǒng)設計課程設計--基于8051的單片機秒表系統(tǒng)設計
- 單片機秒表課程設計
- 單片機秒表課程設計
- 單片機課程設計---秒表
- 單片機秒表課程設計
- 秒表(單片機課程設計)
- 單片機課程設計---秒表設計
- 單片機課程設計報告---單片機控制秒表系統(tǒng)
- 單片機秒表單片機課程設計
- 單片機課程設計--基于單片機的秒表系統(tǒng)設計
- 單片機課程設計-數(shù)字秒表系統(tǒng)設計
- 基于單片機的秒表設計單片機課程設計
- 單片機數(shù)字秒表課程設計
- 單片機課程設計-數(shù)字秒表
- 單片機課程設計-數(shù)字秒表
- 單片機秒表設計課程設計報告
評論
0/150
提交評論