版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要本設計是設計一個單片機控制的多功能秒表系統(tǒng)。近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷的走向深入,同時帶動著傳統(tǒng)控制檢測日新月異更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面的知識是不夠的,還要根據具體的硬件結構,以及針對具體的應用對象的軟件結合,加以完善。秒表的出現,解決了傳統(tǒng)的由于人為因素造成的誤差和不公平性。本設計的多功能秒表系統(tǒng)采用AT89C51單片機為中心器件,利用其定時器/計數器定時和記數的原理,結合顯示電路、電源電路、LED數碼管以及鍵盤電路來設計計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠實現兩位LED顯示,顯示時間為0
2、099秒,每秒自動加1,能正確地進行加、減(倒)計時,快加,快減,可以同時記錄4個相對獨立的時間,通過上翻下翻來查看這4個不同的計時值,可謂功能強大。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,加減計數程序,快加快減程序,中斷,延時程序,按鍵消抖程序等,并在WAVE中調試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現,簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 關鍵字:單片機,多功能秒表,設計目錄1 概述31.1設計任務31.2設計要求32 系統(tǒng)總體方案及硬件設計42.1系統(tǒng)總體方案42.2硬件電路設計43 軟件設計84.1軟件設計概述84.2程序流程圖84.3子程序模塊設計1
3、14 Proteus軟件仿真144.1功能簡介144.2 WAVE編譯144.3 PROTEUS仿真145課程設計體會16參考文獻16附1.源程序代碼17附2.程序原理圖231 概述1.1設計任務設計一個單片機控制的秒表系統(tǒng)。利用單片機的定時器/計數器定時和記數的原理,結合顯示電路、LED數碼管以及按鍵來設計計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行加、減(倒)計時,數碼管能夠正確地顯示時間。1.2設計要求1.能同時記錄四個相對獨立的時間并分別顯示。 2.兩位LED顯示,顯示時間為0099秒。3.每秒自動加1。 4.一個開始按鍵、一個復位按鍵、一個暫停按鈕和一個快加按鈕(每10m
4、s快速加一)。 5.用上翻頁按鈕查看四個不同的計時值。6.添加下翻頁按鈕,并實現快減功能。 2 系統(tǒng)總體方案及硬件設計2.1系統(tǒng)總體方案本系統(tǒng)采用AT89C51單片機為中心器件,利用其定時器/計數器定時和記數的原理,結合硬件電路如電源電路,晶振電路,復位電路,顯示電路,以及一些按鍵電路等來設計計時器,將軟、硬件有機地結合起來。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,加減計數程序,快加快減程序,中斷,延時程序,按鍵消抖程序等,并在WAVE中調試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現,簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 單片機 外圍 電路 電源 電路 顯示電路
5、鍵盤電路 圖1 系統(tǒng)電路原理2.2硬件電路設計本系統(tǒng)中,硬件電路主要有電源電路,晶振電路,復位電路,顯示電路,以及一些按鍵電路等(1)單片機簡介本系統(tǒng)設計采用AT89C51單片機。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容(由于在微機原理中學過C-51的具體知識,這里不再詳細說明)。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效的微控制器。(2)電源電路電源電路是系統(tǒng)最基本的部分,任何電路都離不開電源部分
6、,由于三端集成穩(wěn)壓器件所組成的穩(wěn)壓電源線路簡單,性能穩(wěn)定,工作可靠,調整方便,已逐漸取代分立元件,在生產中被廣泛采用,由于是小系統(tǒng),我們采用7809電源提供+5V穩(wěn)壓電壓。(3)晶體振蕩電路MCS-51單片機內部的振蕩電路是一個高增益反相放大器,引線 XTAL1和XTAL2分別為反向振蕩放大器的輸入及內部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內振蕩器。這里,我們選用51單片機12MHZ的內部振蕩方式,電路如下:電容器C1,C2起穩(wěn)定振蕩頻率,快速起振的作用,C1和C2可在20-100PF之間取,這里取30P,接線時要使晶體振蕩器X1盡可能接近單片機。 圖2 晶體振蕩
7、電路(4)復位電路采用上電+按鍵復位電路,上電后,由于電容充電,使RST持續(xù)一段高電平時間。當單片機已在運行之中時,按下復位鍵也能使用使RST持續(xù)一段時間的高電平,從而實現上電加開關復位的操作。這不僅能使單片機復位,而且還能使單片機的外圍芯片也同時復位。當程序出現錯誤時,可以隨時使電路復位。電路圖如下: 圖3 復位電路(5)顯示電路顯示電路既可以選用液晶顯示器,也可以選用數碼管顯示。我們采用的是數碼管顯示電路。用2個共陽極LED顯示,LED是七段式顯示器,內部有7個條形發(fā)光二極管和1個小圓點發(fā)光二極管組成,根據各管的亮暗組合成字符。在用數碼管顯示時,我們有靜態(tài)和動態(tài)兩種選擇,靜態(tài)顯示程序簡單,
8、顯示穩(wěn)定,但是占用端口比較多;動態(tài)顯示所使用的端口比較少,可以節(jié)省單片機的I/O口。在設計中,我們采用LED動態(tài)顯示,用P0口驅動顯示。由于P0口的輸出級是開漏電路,用它驅動時需要外接上拉電阻才能輸出高電平。電路圖如下所示:圖4 顯示電路(6)鍵盤電路在按鍵電路中,我們可以在I/O口上直接接按鍵,或者通過I/O口設計一個鍵盤,然后通過鍵盤掃描程序判斷是否有鍵按下等。鍵盤掃描電路節(jié)省I/O口,但編程有些復雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個小系統(tǒng),有足夠的I/O口可以使用,為了使程序簡化,我們采用按鍵電路,用部分P1口做開關,P1.0停止,P1.1快減,P1.2快加,P1.3暫停記錄
9、,P1.4下翻,P1.5上翻,用外中斷INT0開始,另外用軟件法消除抖動。電路圖如下所示:圖5 鍵盤電路3 軟件設計4.1軟件設計概述在軟件設計中,一般采用模塊化的程序設計方法,它具有明顯的優(yōu)點。把一個多功能的復雜的程序劃分為若干個簡單的、功能單一的程序模塊,有利于程序的設計和調試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結構層次一目了然。應用系統(tǒng)的程序由包含多個模塊的主程序和各種子程序組成。各程序模塊都要完成一個明確的任務,實現某個具體的功能,如:加計數、減計數、延時、快加、快減,計數和顯示等,在具體需要時調用相應的模塊即可。功能描述:用2位LED數碼顯示"秒表
10、",顯示時間為0099秒,每秒自動加1;一個"開始"鍵,一個"復位"鍵,一個"暫停"鍵,一個“快減”鍵,一個“快加”鍵;一個“記錄”鍵,可同時記錄四個相對獨立的時間;一個“上翻”鍵,一個“下翻”鍵,查看四個不同的計時值。4.2程序流程圖(1)主程序:這里采用分支結構,通過對按鍵的掃描,判斷要實現什么功能。如下所示: 開始 初始化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?P1.5=0?停止快減快加下翻上翻夠4個?P1.0=0?N暫停記錄NNNNNNP1.0=0?NN(2)加1程序(20H) A進位清
11、零做加法到100?(20H)清零個位十位分開返回Y (3)定時器1程序用定時器0實現定時1秒,定時器1實現定時10毫秒,定時初值都是0D8F0H,這里只寫定時1秒的流程圖,如下所示:壓棧保護賦定時初值到1秒?調用加1程序調用顯示程序中斷返回Y4.3子程序模塊設計(1)停止子程序按鍵后,使秒表停止,即關閉定時器0,1,程序如下:STOP: CLR TR0 CLR TR1;關閉定時器0,1 ACALL DISP;顯示(2)暫停記錄子程序 按鍵結束后,將此時顯示內存中的數送寄存器中保存,并通過條件轉移指令判斷是否存夠4個數,若存夠則停止,否則繼續(xù)。JILU : MOV A,20H MOV R1, A
12、 INC R1 DJNZ 50H, HERE;是否夠四個數? MOV R1, #71H MOV 50H, #04H MOV 51H, #04H SJMP STOP;夠4個數停止(3)加1子程序此程序只為簡單的加1,并判斷是否到100?到則從0開始,否則繼續(xù),另外將顯示內存中的數個位十位分開,以便于動態(tài)顯示。JIA1: MOVA,20H ;CLR CINC ACJNE A, #100, GO1;是否加到100?MOV 20H, #00H RETGO1: MOV 20H, A;將個位十位分開顯示 MOV B, #0AH DIV AB MOV 31H, A MOV 30H, B RET(4)顯示子程
13、序,采用動態(tài)顯示DISP: MOVR0,#30H MOVR3, #0FEH MOVA, R3PLAY: MOV P2, A MOV A,R0 MOV DPTR, #DSEG1 MOVC A,A+DPTR MOV P0, A LCALL DL1 MOV P2, #0FFH MOV A, R3 RL A JNB ACC.2, LD1 INC R0 MOV R3, A LJMP PLAYLD1: RETDL1: MOVR7, #05HDL: MOVR6, #0FFHDL6: DJNZR6, $ DJNZR7, DL RET(5)延時子程序例如延時10ms程序:DELAY10:MOV R4,#14H
14、DL00: MOV R5, #0FFHDL11: DJNZ R5, DL11 DJNZ R4, DL00 RET(6)按鍵消抖程序延時10ms再次判斷該位的狀態(tài),若仍是0則說明該鍵被按下,彈起后去執(zhí)行該按鍵功能;若為1,則說明是抖動則繼續(xù)向下判斷。L1: JB P1.1,L2 ; P1.1=0,快減 ACALL DELAY10 JB P1.1, L2 JNB P1.1, $ LJMP KJIAN(5)中斷服務程序 用外部中斷1實現開始,定時器0定時1S,定時器1定時10ms 。4 Proteus軟件仿真4.1功能簡介功能描述如下:連通電源后,按開始鍵,秒表正常運行;按暫停記錄鍵,記錄4個數,上
15、翻下翻鍵可以查看記錄的4個數;停止鍵可使暫停;快加快減鍵可以實現快加快減功能,至停止鍵被按下;復位鍵可使系統(tǒng)復位。4.2 WAVE編譯將所編寫的匯編語言程序另存為 秒表.ASM 文件,并在WAVE中運行,顯示結果如下: 圖6 運行結果4.3 PROTEUS仿真用PROTEUS將編譯生成的 秒表.HEX 文件下到單片機中,點擊運行按相應的操作鍵即可看到下圖的效果: 圖7 部分仿真結果A圖7 部分仿真結果B5課程設計體會經過一個星期的課程設計,過程曲折可謂一語難盡。在此期間我也失落過,也曾一度熱情高漲。從開始時激情高漲到最后汗水背后的復雜心情,點點滴滴無不令我回味無長。在老師的指導下,我順利完成了
16、課程設計。心得體會如下:1、將學習的理論知識通過實驗融會貫通,讓我對它的理解更加深刻。對程序的編譯過程了解透徹。2、本次課程設計以自己設計為主,因此培養(yǎng)了學習的積極性,讓我能夠獨立去分析問題、發(fā)現問題、解決問題,更增強我與老師同學交流溝通和合作完成任務的能力。3、由于這次課程設計不僅設計編程方面的知識,還涉及了其它學科的知識,例如PROTEUS和WAVE等的基本知識。程序是用匯編語言來編寫的,這次課程設計讓我在編程能力方面得到了提高。4、由于水平有限,實驗程序運行有一定的限制,望見諒??傊?,通過這次課程設計,不僅加深了我對單片機理論方面的理解,將理論更好的運用的實踐方面,而且鍛煉了我們各方面的
17、能力,培養(yǎng)了堅強的毅力和做事的耐心和細心,認識合作的重要性,雖然程序可能有一定的浪費資源,且較羅嗦,但這需要在實踐中慢慢提高,還希望老師能夠多多指導,促進我不斷的進步。參考文獻1 余發(fā)山主編.單片機原理及應用技術.徐州:中國礦業(yè)大學出版社.20032 楊凌霄編著.微型計算機原理及應用.徐州:中國礦業(yè)大學出版社,20043 李群芳主編.單片機原理、接口及應用.北京:清華大學出版社,2005附1.源程序代碼ORG0000HLJMP MAINORG000BHLJMPTIME1ORG 0013HLJMP ZHDUANORG001BHLJMPTIME10ORG0100HMAIN: MOV SP, #50
18、H MOV TMOD, #11H MOVTH1,#0D8H ;定時10msMOVTL1, #0F0H MOVTH0,#0D8H ;定時10msMOVTL0, #0F0HMOV20H, #00H ; BIN SECOND MOV30H, #00H ; SECOND MOV31H, #00HMOV40H, #100 MOV 71H,#00H ;記錄暫存區(qū) MOV 72H, #00H MOV 73H, #00H MOV 74H, #00H MOV 50H, #04H MOV 51H, #04H MOV R1, #71H SETB EA SETB EX1 SETB ET1 SETB ET0 CLR P
19、T0 CLR PT1 SETB PX1 SETB IT1 MOVP0, #0FFH CLRTR0 CLRTR1 CLR 7FHML1:ACALLDISPSTART: JB P1.0,L1 ; P1.0=0,停止 ACALL DELAY10 JB P1.0, L1 JNB P1.0, $ LJMP STOPL1: JB P1.1,L2 ; P1.1=0,快減 ACALL DELAY10 JB P1.1, L2 JNB P1.1, $ LJMP KJIANL2: JB P1.2,L3 ; P1.2=0,快加 ACALL DELAY10 JB P1.2, L3 JNB P1.2, $ LJMP KJ
20、IAL3: JB P1.3,L4 ; P1.3=0,暫停記錄 ACALL DELAY10 JB P1.3, L4 JNB P1.3, $ LJMP JILUL4: JB P1.4,L5 ; P1.4=0,下翻 ACALL DELAY10 JB P1.4, L5 JNB P1.4, $ LJMP XFANL5: JB P1.5,L ; P1.5=0,上翻 ACALL DELAY10 JB P1.5, L JNB P1.5, $ LJMP SHFANL: SJMP HERESTOP: CLR TR0 ;停止程序 CLR TR1 ACALL DISP SJMP HEREJILU : MOV A,20
21、H ;暫停記錄程序 MOV R1, A INC R1 DJNZ 50H, HERE MOV R1, #71H MOV 50H, #04H MOV 51H, #04H SJMP STOPXFAN: MOV A,R1 ;下翻程序 MOV 20H, A MOV B, #0AH DIV AB MOV 31H, A MOV 30H, B LCALL DISP INC R1 DJNZ 50H, HERE MOV R1, #71H MOV 50H, #04H SJMP HERESHFAN: MOV A,R1 ;下翻程序 MOV 20H, A MOV B, #0AH DIV AB MOV 31H, A MOV
22、 30H, B LCALL DISP DEC R1 DJNZ 50H, HERE MOV R1, #74H MOV 50H, #04H SJMP HEREKJIAN: SETB TR1 ;快減程序 CLR TR0 HEE1: JNB TF1, HEE1 CLR TF1 ACALL JIAN1 ACALL DISP JNB P1.0, STOP SJMP HEE1KJIA: SETB TR1 ;快加程序 CLR TR0HEE: JNB TF1, HEE CLR TF1 ACALL JIA1 ACALL DISP JNB P1.0, STOP SJMP HEEHERE: LJMP ML1ZHDUAN: SETB TR0 ;啟動定時器0 CLR TR1 RETITIME1:PUSH ACC ;定時1秒 PUSH PSW MOVTH0, #0D8H MOVTL0, #0F0H DJNZ40H, RET0 LCALL JIA1 LCALL DISPMOV40H, #100RET0: POP PSW POP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球元件參數測試儀行業(yè)調研及趨勢分析報告
- 2024年科普知識競賽試題庫及答案(共70題)
- 2024年青少年禁毒知識競賽小學組題庫及答案(共60題)
- 2025年度特種鋼材進口與國內銷售合作協議
- 2025年度應急響應個人勞務派遣服務合同示范文本2篇
- 二零二五年度車庫租賃及停車場運營管理合同4篇
- 數字化背景下學校師德師風教育的創(chuàng)新發(fā)展
- 數學教育與兒童發(fā)展游戲化教學的意義
- 二零二五年度鋁扣板藝術裝飾施工合同3篇
- 二零二五年度采砂場環(huán)境保護與修復合同3篇
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 深圳小學英語單詞表(中英文)
- 護理質量反饋內容
- 山東省濟寧市2023年中考數學試題(附真題答案)
- 抖音搜索用戶分析報告
- 板帶生產工藝熱連軋帶鋼生產
- 鉆孔灌注樁技術規(guī)范
- 2023-2024學年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學設計
- 供貨進度計劃
- 國際尿失禁咨詢委員會尿失禁問卷表
- 彌漫大B細胞淋巴瘤護理查房
評論
0/150
提交評論