秒表系統設計_第1頁
秒表系統設計_第2頁
秒表系統設計_第3頁
秒表系統設計_第4頁
秒表系統設計_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 煙 臺 南 山 學 院單片機課程設計題目 秒表系統設計 姓 名: 所在學院: 所學專業: 班 級: 學 號: 指導教師: 完成時間: 電話: 摘要本設計是一個由AT89C51單片機控制,利用單片機的定時器/計數器定時和記數的原理,結合顯示電路、LED數碼管以及按鍵計時的多功能秒表系統。單片機目前已經無處不在,與我們生活密不可分并滲透入生活的各個方面。單片機的特點是體積小,集成度高,其內部的結構是普通的計算機系統的簡化。在增加一些外圍電路之后,就能成為一個完整的系統。在這個設計中我們是以AT89C51單片機為主要器件利用它的定時器/計數器定時和記數的原理,結合dvcc實驗箱上的集成電路芯片80

2、32、LED數碼管以及實驗箱上的按鍵來設計計時器。將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,數碼管能夠正確地顯示時間。其中本實驗設計了四個開關按鍵:其中一個按鍵按下去時以1秒加一開始計時,即秒表開始鍵(本實驗中當開關從1變為0時開始計時),另一個按鍵按下去時暫停計時,使秒表停留在原先的計時(本實驗中當相應開關從1變為0時即停止計時),第三個按鍵按下去時清0(本實驗中當相應開關從1變為0時即停止計時),第四按鍵按下去則是以每10ms秒快速加一計時(本實驗中當開關從1變為0時開始計時)。本實驗中開始時都要使各按鍵回到各初始位置,即都處于1狀態。目錄 第1章 概述.31.1 課程設計題目

3、.31.2實驗要求.31.3 課程設計的意義.31.4 課程設計的內容及思路.31.5 本人所做工作.3第2章 硬件設計.32.1 AT89S51芯片概述.42.2管腳說明.52.3 LED數碼管顯示器概述.52.4 接口電路.82.5硬件連線圖.9第3章 軟件設計.103.1數字秒表工作流程圖.103.2 工作源程序.10第4章 心得體會.14第5章 參考文獻.15第1章 概述1.1 課程設計的題目秒表系統設計用AT89C51設計一個2位LED數碼顯示“秒表”,顯示時間為0099秒,每秒自動加一。另設計一個“開始”按鍵和一個“復位”按鍵。另外增加一個“暫?!卑存I和一個“快加”按鍵(每10ms

4、快速加一)1.2實驗要求了解8051芯片的的工作原理和工作方式 ,使用該芯片對LED數碼管進行顯示控制,實現用單片機的端口控制數碼管,顯示分、秒,并能用按鈕實現秒表起動、停止、清零功能,精確到0.1秒。要求選用定時器的工作方式,畫出使用單片機控制LED數碼管顯示的電路圖,并在實驗箱實現其硬件電路,并編程完成軟件部分,最后調試秒表起動、停止、清零功能。1.3 課程設計的意義 該實驗通過單片機的定時器/計數器定時和計數原理,設計簡單的計時器系統,擁有正確的計時、暫停、清零、快加功能,并同時可以用數碼管顯示,在現實生活中應用廣泛,具有現實意義。1.4 課程設計的內容及思路用AT89C51設計一個2位

5、LED數碼顯示“秒表”,顯示時間為0099秒,每秒自動加一。另設計一個“開始”按鍵和一個“復位”按鍵。再增加一個“暫?!卑存I和一個“快加”按鍵(每10ms快速加一)。按鍵說明:按“開始”按鍵,開始計數,數碼管顯示從00開始每秒自動加一;按“復位”按鍵,系統清零,數碼管顯示00;按“暫?!卑存I,系統暫停計數,數碼管顯示當時的計數;按“快加”按鍵,系統每10ms快速加一,即數碼顯示管在原先的計數上快速加一。該實驗要求進行計時并在數碼管上顯示時間,則可利用DVCC系列單片機微機仿真實驗系統中的芯片8032(芯片的功能類似于芯片AT89C51,其管腳功能也和AT89C51的管腳功能類似)中的P3.2管

6、腳做為外部中斷0的入口地址,并實現“開始”按鍵的功能;將P3.3做為外部中斷1的入口地址,并實現“清零”按鍵的功能;將P3.0做為數據信號DATA輸入的入口地址;將P3.1做為時鐘信號CLK輸入的入口地址。定時器T0作為每秒加一的定時器;定時器T1作為“快加”鍵的定時器。其中“開始”按鍵當開關由1撥向0(由上向下撥)時開始計時;“清零”按鍵當開關由1撥向0(由上向下撥)時數碼管清零,此時若再撥“開始”按鍵則又可重新開始計時。1.5 本人所做工作根據相關的單片機材料,利用所學的單片機知識,結合DVCC系列單片機微機仿真實驗系統中的軟件和硬件(集成電路芯片8032,七段數碼管,開關電路及時鐘信號電

7、路,按鍵等),編寫能夠實現該項目的軟件程序,最后將軟、硬件有機的結合起來,進行有效的調試,達到完成該實驗課程設計的目的要求。第2章 硬件設計2.1 AT89S51芯片概述AT89C51是一個低功耗,高性能CMOS 8位單片機,片內含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應用系統提供高性價比的解決方

8、案。AT89C單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。 其工作電壓在4.5V,一般我們選用5V電壓。外形及引腳排列如圖1所示 圖1:89C51的核心電路框圖主要性能:(1)與MCS-51微控制器產品系列兼容;(2)片內有4KB可在線重復編程的快閃擦寫存儲器;(3)數據保留時間:10年;(4)寬工作電壓范圍:Vcc可為2.7V到6V;(5)全靜態工作:可從0Hz至16MHz;(6)三級程序存儲器鎖定;(7)128×8位內部RAM;(8)32條可編程I/O線;(9)兩個16位定時器/計數器;(10)中斷結構具有5個中斷源和2個優先級;(11)可編程全雙工串行道口;(12

9、)空閑狀態維持低功耗和掉電狀態保存存儲內容;2.2 管腳說明(1)電源及時鐘引腳(4個)Vcc: 電源接入引腳Vss:接地引腳XTAL1:晶振震蕩器接入的一個引腳(采用外部振蕩器時,此引腳接地);XTAL2:晶體振蕩器的另一個引腳(采用外部振蕩器時,此引腳作為外部振蕩器信號的輸入端)。(2)控制線引腳(4個)RST/Vpd:復位信號輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號輸出引腳/編程脈沖輸入引腳:EA:內外存儲器選擇引腳/片外EPROM編程電壓輸入引腳;PSEN:外部程序存儲器選通信號輸出引腳。(3)并行I/O引腳P0.0-P0.7:一般I/O口引腳或數據/低位地址總線復用引腳;

10、P1.0-P1.7:一般I/O口引腳;P2.0-P2.7:一般I/O口引腳或高位地址總線引腳;P3.0-P3.7:一般I/O口引腳或第二功能引腳2.3 LED數碼管顯示器概述本設計中采用的是7SEGCOM ANODE型號數碼管,它是一種半導體發光器件,其基本單元是發光二極管。實物如圖2所示。圖2數碼管(1)數碼管的分類數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)

11、的數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。LED數碼管有兩種連接方法如下:共陽極接法。把發光二極管的陽極連在一起構成公共陽極,使用時公共陽極接+5V,每個發光二極管的陰極通過電阻與輸入端相連。 共陰極接法。把發光二極管的陰極連在一起構成公共陰極,使用時公共陰極接

12、地。每 圖3個發光二極管的陽極通過電阻與輸入端相連。如圖3所示。LED數碼顯示器的顯示段碼。 為了顯示字符,要為LED顯示器段碼(或稱字形代碼),組成一個8字形字符的7段,再加上1個小數點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節。各段碼位的對應關系如下表所示.十六進制數及空白字符與P的顯示段碼段碼位 D7 D6 D5 D4 D6 D2 D1 D0 顯示段 pd g f e d e b a 字型 共陽極段碼 共陰極段碼 字型 共陽極段碼 0 C0H 3FH 9 90H 1 F9H 06H A 88H 2 A4H 5BM B 83H 3 B0H 4FH C C6H 4 99H 66

13、H D A1H 5 92H 6DH E 86H 6 82H 7DH F 84H 7 F8H 07H 空白 FFH 8 80H 7FH P 8CH (2)數碼管的驅動方式數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。 靜態顯示驅動:靜態驅動也稱直流驅動。靜態驅動是指每個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態驅動的優點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數碼管靜態顯示則需要5×840根I/O端口來驅動,要知

14、道一個89S51單片機可用的I/O端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。 動態顯示驅動:數碼管動態顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。

15、通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為12ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O端口,而且功耗更低。2.4 接口電路利用12M晶振的一個機器周期為1微秒,通過循環產生1秒時間延遲,掃描單片機中所存放的時間的值(可正記時,也可倒計時),并通過輸出顯示在數碼管上。如圖4圖4P0.0P0.7對應了兩個接數碼管的A,B,C,D,E,F,G和小數點位

16、,P2.6接顯示個位數的數碼管的3、8引角,P2.7則接十位數的。P3.6、P3.7分別接按鍵。2.5硬件連線圖圖5 硬件連線圖第3章 軟件設計3.1數字秒表工作流程圖 圖6 流程圖3.2 工作源程序OUTBIT EQU 08002H ;位控制口OUTSEG EQU 08004H ;段控制口LSEC EQU 31H ;SEC EQU 32H ;MIN EQU 33H ;FLAG BIT 20H.0 ;位定義KEY1 BIT P3.6 ;KEY2 BIT P3.7 ;ORG 0000H ;LJMP START ;初始程序入口地址ORG 000BH ;LJMP TIMER0 ;加一子程序入口地址O

17、RG 0060HSTART: LCALL INITIAL ;調用啟動LCM子程序進行初始化LOOP: LCALL DISPLAY ;退出時鐘調整時鍵釋放等待 JNB KEY1,WAIT ;判斷KEY1.等待 JNB KEY2,RESET ; LJMP LOOP ;CONTROL: CLR TR0 ;關定時器 LCALL DISPLAY ; JNB KEY1,CONTROL ; CPL FLAG ; JB FLAG,BEGIN ; SETB TR0 ;重置定時器 LJMP LOOP ;WAIT: LCALL DISPLAY ; JNB KEY1,CONTROL ; LJMP LOOP ;BEGI

18、N: CLR TR0 ; LJMP LOOP ;RESET: JNB TR0,CLE ; LCALL LOOP ;CLE: LCALL CLEAR ; LJMP LOOP ;INITIAL: LCALL CLEAR ; SETB FLAG ; MOV DPTR,#TAB ;MOV TMOD,#01H ;定時器0,方式一MOV TL0,#0F0H ;MOV TH0,#0D8H ;SETB EA ;開中斷SETB ET0 ;開T0中斷RET ; TIMER0:CLR TR0 ; MOV TL0,#0F0H ; MOV TH0,#0D8H ; 重新賦值 SETB TR0 ; INC LSEC ; M

19、OV A,LSEC ; CJNE A,#100,EXIT ; MOV SEC,#00H ; INC SEC ; MOV A,SEC ; CJNE A,#60,EXIT ; MOV SEC,#00H ; INC MIN ; MOV A,MIN ; CJNE A,#60,EXIT ; MOV MIN,#00H ;EXIT: SETB TR0 ; RETI ;CLEAR: MOV A,#00H ; MOV LSEC,A ; MOV SEC,A ; MOV MIN,A ; RET ;DISPLAY: MOV R3,#01H ; MOV R0,#31H ; MOV R4,#3 ;選擇3組工作寄存器DIS

20、PLAY1: MOV A,R0 ;MOV B,#0AH ;DIV AB ; MOV R5,A ;MOV A,B ;MOV DPTR,#TAB ;MOVC A,A+DPTR ;查字形碼表MOV DPTR,#OUTSEG ;設置顯示起始位置MOVX DPTR,A ;設定顯示位置MOV DPTR,#OUTBIT ;MOV A,R3 ;MOVX DPTR,A ;顯示數據LCALL DELAY100US ;MOV A,#00H ;MOVX DPTR,A ;MOV A,R3 ;RL A ;MOV R3,A ;MOV A,R5 ;MOV DPTR,#TAB ;MOVC A,A+DPTR ;MOV DPTR,

21、#OUTSEG ;MOVX DPTR,A ;MOV DPTR,#OUTBIT ;MOV A,R3 ;MOVX DPTR,A ;LCALL DELAY100US ;MOV A,#00H ;MOVX DPTR,A ;MOV A,R3 ;RL A ;MOV R3,A ;INC R0 ;DJNZ R4,DISPLAY1 ;RET ;DELAY100US:MOV R7,#50 ;循環50次DJNZ R7,$ ;r7- 1不為0,執行本指令RET ;查表指令TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH第4章 心得體會通過這次課程設計我

22、學到了很多,當你拿到一個題目時應認真審題,看懂題目的要求!選擇適當的課題,不益太簡單或者太難,做到既能把課題完成又能鍛煉自己的能力。根據課題要求,復習相關的知識,查詢相關的資料。根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗。根據課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的基礎上,根據芯片的功能寫出相應的程序。然后再進行程序調試和相應的修改,以達到能夠實現所要求的功能的目的。還要根據實驗的實際情況,添加些額外程序來使系統更加的穩定,如開關的消震蕩(采用延遲)。程序要盡量做到由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。該實驗的程序可以參考DVCC系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論