




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要本設計是設計一個單片機控制的多功能秒表系統(tǒng)。近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷的走向深入,同時帶動著傳統(tǒng)控制檢測日新月異更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面的知識是不夠的,還要根據具體的硬件結構,以及針對具體的應用對象的軟件結合,加以完善。秒表的出現(xiàn),解決了傳統(tǒng)的由于人為因素造成的誤差和不公平性。本設計的多功能秒表系統(tǒng)采用AT89C51單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結合顯示電路、電源電路、LED數(shù)碼管以及鍵盤電路來設計計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠實現(xiàn)兩位LED顯示,顯示時間為
2、0099秒,每秒自動加1,能正確地進行加、減(倒)計時,快加,快減,可以同時記錄4個相對獨立的時間,通過上翻下翻來查看這4個不同的計時值,可謂功能強大。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,加減計數(shù)程序,快加快減程序,中斷,延時程序,按鍵消抖程序等,并在WAVE中調試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 關鍵字:單片機;多功能秒表;設計Abstract The present design is to design a single chip multifunctional stopwatch control syst
3、em. In recent years, along with the rapid development of science and technology, single-chip applications are the trend at the same time, promote the traditional control testing with each passing day update. In the real-time detection and automatic control of the single-chip applications, often sing
4、le-chip, as a core component to the use of only single-chip knowledge is not enough, but also based on specific hardware structure, as well as for specific applications Object Software, to be improved. The emergence of a stopwatch to solve the traditional man-made because of errors and unfairness. T
5、he design of this multi-functional stopwatch AT89C51 single-chip system-centric device, using its timer / counter timing and number of principles in mind, combining show circuit, power circuit, LED digital control circuit, as well as keyboard designed timer. The software and hardware combined, makin
6、g the system able to achieve two LED display, showed 00 to 99 seconds, plus 1 per second automatically, to correctly add, subtract (down) time, plus fast, fast cut, At the same time, records can be relatively independent of 4 hours, turn on the next turn to see the four time value can be described a
7、s powerful. One system uses software assembly language programming, including shows that the procedures, addition and subtraction counting procedures, faster by speeding up procedures, interruption, delay procedures, eliminate key procedures, such as shaking and debug WAVE in the operation of the sy
8、stem hardware PROTEUS use of powerful features To achieve a simple easy-to-cut observed in the simulation can be observed in actual working condition. Keywords: single-chip; multi-function stopwatch;design目 錄摘 要4ABSTRACT51 概 述71.1設計任務71.2設計要求72 系統(tǒng)總體方案及硬件設計72.1系統(tǒng)總體方案72.2硬件電路設計83 軟件設計114.1軟件設計概述114.2程
9、序流程圖124.3子程序模塊設計144 PROTEUS軟件仿真174.1功能簡介174.2 WAVE編譯174.3 PROTEUS仿真185課程設計體會19參考文獻20附1.源程序代碼21附2.程序原理圖271 概 述1.1設計任務設計一個單片機控制的秒表系統(tǒng)。利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,結合顯示電路、LED數(shù)碼管以及按鍵來設計計時器。將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進行加、減(倒)計時,數(shù)碼管能夠正確地顯示時間。1.2設計要求1.能同時記錄四個相對獨立的時間并分別顯示。 2.兩位LED顯示,顯示時間為0099秒。3.每秒自動加1。 4.一個開始按鍵、一個復位按鍵、
10、一個暫停按鈕和一個快加按鈕(每10ms快速加一)。 5.用上翻頁按鈕查看四個不同的計時值。6.添加下翻頁按鈕,并實現(xiàn)快減功能。 2 系統(tǒng)總體方案及硬件設計2.1系統(tǒng)總體方案本系統(tǒng)采用AT89C51單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結合硬件電路如電源電路,晶振電路,復位電路,顯示電路,以及一些按鍵電路等來設計計時器,將軟、硬件有機地結合起來。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,加減計數(shù)程序,快加快減程序,中斷,延時程序,按鍵消抖程序等,并在WAVE中調試運行,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。 單片機
11、 外圍 電路 電源 電路 顯示電路 鍵盤電路 圖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)最
12、基本的部分,任何電路都離不開電源部分,由于三端集成穩(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,接線時要使晶體振蕩器X
13、1盡可能接近單片機。 圖2 晶體振蕩電路(4)復位電路采用上電+按鍵復位電路,上電后,由于電容充電,使RST持續(xù)一段高電平時間。當單片機已在運行之中時,按下復位鍵也能使用使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電加開關復位的操作。這不僅能使單片機復位,而且還能使單片機的外圍芯片也同時復位。當程序出現(xiàn)錯誤時,可以隨時使電路復位。電路圖如下: 圖3 復位電路(5)顯示電路顯示電路既可以選用液晶顯示器,也可以選用數(shù)碼管顯示。我們采用的是數(shù)碼管顯示電路。用2個共陽極LED顯示,LED是七段式顯示器,內部有7個條形發(fā)光二極管和1個小圓點發(fā)光二極管組成,根據各管的亮暗組合成字符。在用數(shù)碼管顯示時,我們有靜
14、態(tài)和動態(tài)兩種選擇,靜態(tài)顯示程序簡單,顯示穩(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
15、快減,P1.2快加,P1.3暫停記錄,P1.4下翻,P1.5上翻,用外中斷INT0開始,另外用軟件法消除抖動。電路圖如下所示:圖5 鍵盤電路3 軟件設計4.1軟件設計概述在軟件設計中,一般采用模塊化的程序設計方法,它具有明顯的優(yōu)點。把一個多功能的復雜的程序劃分為若干個簡單的、功能單一的程序模塊,有利于程序的設計和調試,有利于程序的優(yōu)化和分工,提高了程序的閱讀性和可靠性,使程序的結構層次一目了然。應用系統(tǒng)的程序由包含多個模塊的主程序和各種子程序組成。各程序模塊都要完成一個明確的任務,實現(xiàn)某個具體的功能,如:加計數(shù)、減計數(shù)、延時、快加、快減,計數(shù)和顯示等,在具體需要時調用相應的模塊即可。功能描述:
16、用2位LED數(shù)碼顯示"秒表",顯示時間為0099秒,每秒自動加1;一個"開始"鍵,一個"復位"鍵,一個"暫停"鍵,一個“快減”鍵,一個“快加”鍵;一個“記錄”鍵,可同時記錄四個相對獨立的時間;一個“上翻”鍵,一個“下翻”鍵,查看四個不同的計時值。4.2程序流程圖(1)主程序:這里采用分支結構,通過對按鍵的掃描,判斷要實現(xiàn)什么功能。如下所示:開始 初始化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
17、(2)加1程序(20H) A進位清零做加法到100?(20H)清零個位十位分開返回Y (3)定時器1程序用定時器0實現(xiàn)定時1秒,定時器1實現(xiàn)定時10毫秒,定時初值都是0D8F0H,這里只寫定時1秒的流程圖,如下所示:壓棧保護賦定時初值到1秒?調用加1程序調用顯示程序中斷返回Y4.3子程序模塊設計(1)停止子程序按鍵后,使秒表停止,即關閉定時器0,1,程序如下:STOP: CLR TR0 CLR TR1;關閉定時器0,1 ACALL DISP;顯示(2)暫停記錄子程序 按鍵結束后,將此時顯示內存中的數(shù)送寄存器中保存,并通過條件轉移指令判斷是否存夠4個數(shù),若存夠則停止,否則繼續(xù)。JILU : MO
18、V A,20H MOV R1, A INC R1 DJNZ 50H, HERE;是否夠四個數(shù)? MOV R1, #71H MOV 50H, #04H MOV 51H, #04H SJMP STOP;夠4個數(shù)停止(3)加1子程序此程序只為簡單的加1,并判斷是否到100?到則從0開始,否則繼續(xù),另外將顯示內存中的數(shù)個位十位分開,以便于動態(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
19、30H, B RET(4)顯示子程序,采用動態(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程序:DEL
20、AY10:MOV R4,#14H 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實現(xiàn)開始,定時器0定時1S,定時器1定時10ms 。4 Proteus軟件仿真4.1功能簡介功能描述如下:連通電源后,按開始鍵,秒表正常
21、運行;按暫停記錄鍵,記錄4個數(shù),上翻下翻鍵可以查看記錄的4個數(shù);停止鍵可使暫停;快加快減鍵可以實現(xiàn)快加快減功能,至停止鍵被按下;復位鍵可使系統(tǒng)復位。4.2 WAVE編譯將所編寫的匯編語言程序另存為 秒表.ASM 文件,并在WAVE中運行,顯示結果如下: 圖6 運行結果4.3 PROTEUS仿真用PROTEUS將編譯生成的 秒表.HEX 文件下到單片機中,點擊運行按相應的操作鍵即可看到下圖的效果: 圖7 部分仿真結果A圖7 部分仿真結果B5課程設計體會經過一個星期的課程設計,過程曲折可謂一語難盡。在此期間我也失落過,也曾一度熱情高漲。從開始時激情高漲到最后汗水背后的復雜心情,點點滴滴無不令我回味
22、無長。在老師的指導下,我順利完成了課程設計。心得體會如下:1、將學習的理論知識通過實驗融會貫通,讓我對它的理解更加深刻。對程序的編譯過程了解透徹。2、本次課程設計以自己設計為主,因此培養(yǎng)了學習的積極性,讓我能夠獨立去分析問題、發(fā)現(xiàn)問題、解決問題,更增強我與老師同學交流溝通和合作完成任務的能力。3、由于這次課程設計不僅設計編程方面的知識,還涉及了其它學科的知識,例如PROTEUS和WAVE等的基本知識。程序是用匯編語言來編寫的,這次課程設計讓我在編程能力方面得到了提高。4、由于水平有限,實驗程序運行有一定的限制,望見諒??傊ㄟ^這次課程設計,不僅加深了我對單片機理論方面的理解,將理論更好的運用
23、的實踐方面,而且鍛煉了我們各方面的能力,培養(yǎng)了堅強的毅力和做事的耐心和細心,認識合作的重要性,雖然程序可能有一定的浪費資源,且較羅嗦,但這需要在實踐中慢慢提高,還希望老師能夠多多指導,促進我不斷的進步。參考文獻1 余發(fā)山主編.單片機原理及應用技術.徐州:中國礦業(yè)大學出版社.20032 楊凌霄編著.微型計算機原理及應用.徐州:中國礦業(yè)大學出版社,20043 李群芳主編.單片機原理、接口及應用.北京:清華大學出版社,2005附1.源程序代碼ORG0000HLJMP MAINORG000BHLJMPTIME1ORG 0013HLJMP ZHDUANORG001BHLJMPTIME10ORG0100H
24、MAIN: MOV SP, #50H 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 E
25、T1 SETB ET0 CLR PT0 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 JN
26、B P1.2, $ LJMP KJIAL3: 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 HE
27、REJILU : MOV A,20H ;暫停記錄程序 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 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
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產品分類銷售月度報告表格
- 火電項目規(guī)劃設計方案
- 成長中的挑戰(zhàn)與機遇話題類作文(6篇)
- 信息技術支持農業(yè)合作社管理合同
- 基于實踐活動的人工智能能力評價
- 高校聲樂課堂教學改革的國際發(fā)展趨勢
- 智能化技術在無障礙環(huán)境中的應用與發(fā)展趨勢
- 智慧農業(yè)人才培養(yǎng)與技術支持體系建設
- 個人成長目標統(tǒng)計表
- 農村農業(yè)生產安全管理責任書
- 石頭雕刻合同范例
- 《個人所得稅法解讀》課件
- (完整版)食品安全自查管理制度
- 通信傳輸線路整治修繕項目施工組織方案
- 急診護理質量評價標準
- 包裝標準規(guī)范要求
- 貿易安全內部培訓教材
- 開辦課程申請書
- 卡壓不銹鋼管的施工方案
- 人工智能訓練師技能考核內容結構表
- 《機械制圖》全套教學課件
評論
0/150
提交評論