單片機課程設計60秒倒計時_第1頁
單片機課程設計60秒倒計時_第2頁
單片機課程設計60秒倒計時_第3頁
單片機課程設計60秒倒計時_第4頁
單片機課程設計60秒倒計時_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于AT89C51的60秒倒計時設計前 言 在生活和生產(chǎn)的各領域中,但凡有自動控制要求的地方都會有單片機的身影出現(xiàn);從簡單到復雜,從空中、地面到地下,但凡能想像到的地方幾乎都有使用單片的需求?,F(xiàn)在盡管單片機的應用已經(jīng)很普遍了,但仍有許多可以用單片機控制而尚未實現(xiàn)的工程,因此,單片機的應用大有想像和拓展空間。 單片機的應用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動效率,減輕勞動強度,提高產(chǎn)品質(zhì)量,改善勞動環(huán)境,減少能源和材料消耗,保證平安等。 但是,單片機應用的意義絕不僅限于它的廣闊范圍以及所帶來的經(jīng)濟效益上,更重要的意義還在于:單片機的應用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設計思想和設計

2、方法。從前必須有模擬電路或數(shù)字電路實現(xiàn)的大局部功能,現(xiàn)在已能使用單片機通過軟件編程序方法實現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對傳統(tǒng)控制技術(shù)的一次革命。隨著單片機應用的推廣普及,微控制技術(shù)必將不斷開展、日益完善和更加充實。近年來隨著計算機在社會領域的滲透, 單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以及針對具體應用對象特點的軟件結(jié)合,以作完善。 模擬多通道壓力系統(tǒng)是利用壓力傳感

3、器采集當前壓力并反映在顯示器上,它可以分析壓力過量程,并發(fā)出報警。并采用電子秤原理可根據(jù)輸入單價準確的計算出物體的金額。本篇論文討論了簡單的倒計時器的設計與制作 ,對于倒計時器中的四位LED數(shù)碼顯示器來說,我為了簡化線路、降低本錢,采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,而采用軟件程序進行譯碼。目 錄第1章 方案論證1.1 課程設計的目的和要求11.2 總體設計1 第2章 硬件設計2 2.1 AT89S51芯片概述 13 2.2 LED數(shù)碼管顯示器概述 15 2.3 其他元器件介紹及參數(shù)選擇 18第3章 軟件設計 28 3.1 程序框圖28 3.2 定時/計數(shù)器初值計算 2 3.3

4、 軟件程序第4章 調(diào)試與仿真4.1 Keil軟件介紹及使用30 4.2 Proteus軟件介紹及使用30 課程設計心得體會參考文獻30第一章 方案論證1.1 課程設計的目的和要求1目的課程設計是單片機課程教學的最后一個環(huán)節(jié),是對學生進行全面的系統(tǒng)的訓練。進行課程設計可以讓學生把學過的比擬零碎的知識系統(tǒng)化,真正的能夠把學過的知識落到實處,能夠開發(fā)簡單的系統(tǒng),也進一步激發(fā)了學生再深一步學習的熱情,因此課程設計是必不可少的,是非常必要的。課程設計是提高學生單片機技術(shù)應用能力以及文字總結(jié)能力的綜合訓練環(huán)節(jié),是配合單片機課程內(nèi)容掌握、應用得的專門性實踐類課程。通過典型實際問題的實際,訓練學生的軟硬件的綜

5、合設計、調(diào)試能力以及文字組織能力,建立系統(tǒng)設計概念,加強工程應用思維方式的訓練,同時對教學內(nèi)容做一定的擴充。2要求單片機控制的60s倒計時1用單片機AT89C51的定時器實現(xiàn)60s倒計時。本例中用兩位數(shù)碼管靜態(tài)顯示倒計時秒值。2用PROTEUS設計,仿真基于AT89c51單片機的60s倒計時實驗。3. 目標通過課程設計,使自己深刻理解并掌握根本概念,掌握單片機的根本應用程序設計及綜合應用程序設計的方法。通過做一個綜合性訓練題目,到達對內(nèi)容的消化、理解并提高解決問題的能力的目的。1.2 總體設計圖1:60秒倒計時總體電路設計本設計由硬件設計和軟件設計兩局部組成,總電路如圖1所示,硬件設計主要包括

6、單片機芯片選擇,數(shù)碼管選擇及晶振,電容,電阻等元器件的選擇及其參數(shù)確實定;軟件設計主要是實現(xiàn)60秒倒計時程序的編寫,包括利用中斷實現(xiàn)1秒的定時及60秒的倒計時。具體設計:通過AT89C51型號單片機,由P1和P2兩組I/O引腳分別控制兩個7SEGCOM ANODE型號數(shù)碼管,分十位控制和個位控制,到達顯示60秒倒計時的目的。通過復位電路,在仿真過程中點擊開關實現(xiàn)60復位。第二章 硬件設計2.1 AT89C51的芯片概述 AT89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序

7、存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 其工作電壓在4.5V,一般我們選用5V電壓。外形及引腳排列如圖2所示 圖2:89C51的核心電路框圖l 主要特性·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保存時間:10年·全靜態(tài)工

8、作:0Hz-24MHz·三級程序存儲器鎖定·128×8位內(nèi)部RAM·32可編程I/O線·兩個16位定時器/計數(shù)器·5個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路 l 管腳說明(1)電源及時鐘引腳4個Vcc: 電源接入引腳Vss:接地引腳XTAL1:晶振震蕩器接入的一個引腳采用外部振蕩器時,此引腳接地;XTAL2:晶體振蕩器的另一個引腳采用外部振蕩器時,此引腳作為外部振蕩器信號的輸入端。2控制線引腳4個RST/Vpd:復位信號輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號輸

9、出引腳/編程脈沖輸入引腳:EA:內(nèi)外存儲器選擇引腳/片外EPROM編程電壓輸入引腳;PSEN:外部程序存儲器選通信號輸出引腳。3并行I/O引腳P0.0-P0.7:一般I/O口引腳或數(shù)據(jù)/低位地址總線復用引腳;P1.0-P1.7:一般I/O口引腳;P2.0-P2.7:一般I/O口引腳或高位地址總線引腳;P3.0-P3.7:一般I/O口引腳或第二功能引腳l 振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任

10、何要求,但必須保證脈沖的上下電平要求的寬度。 2.2 LED數(shù)碼管顯示器概述本設計中采用的是7SEGCOM ANODE型號數(shù)碼管,它是一種半導體發(fā)光器件,其根本單元是發(fā)光二極管。實物如圖3所示:圖3:7SEGCOM ANODE型號數(shù)碼管l 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元多一個小數(shù)點顯示;按能顯示多少個“8可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極

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

12、。 為了顯示字符,要為LED顯示器段碼或稱字形代碼,組成一個8字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供應LED顯示器的顯示段碼為1個字節(jié)。各段碼位的對應關系如下表所示.十六進制數(shù)及空白字符與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 66H D A1H 5 92H 6DH E 86H 6 82H 7DH F 84H 7 F8H 0

13、7H 空白 FFH 8 80H 7FH P 8CH l 數(shù)碼管的驅(qū)動方式數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示那么需要5×840根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個呢:,實際應用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加

14、了硬件電路的復雜性。 動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過

15、程中,每位數(shù)碼管的點亮時間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。l 數(shù)碼管參數(shù)8字高度:8字上沿與下沿的距離。比外型高度小。通常用英寸來表示。范圍一般為0.25-20英寸。長*寬*高:長數(shù)碼管正放時,水平方向的長度;寬數(shù)碼管正放時,垂直方向上的長度;高數(shù)碼管的厚度。時鐘點:四位數(shù)碼管中,第二位8與第三位8字中間的二個點。一般用于顯示時鐘中的秒。l 數(shù)碼管應用數(shù)碼管是一類顯示屏 通過對其不同的管腳輸入

16、相對的電流 會使其發(fā)亮 從而顯示出 數(shù)字 能夠顯示 時間 日期 溫度 等所有可用數(shù)字表示的參數(shù) 由于它的價格廉價 使用簡單 在電器 特別是家電領域應用極為廣泛 空調(diào) 熱水器 冰箱 等等 絕大多數(shù) 熱水器用的都是數(shù)碼管 其他家電 也用液晶屏與 熒光屏 l 數(shù)碼管使用的電流與電壓電流:靜態(tài)時,推薦使用10-15mA;動態(tài)時,16/1動態(tài)掃描時,平均電流為4-5mA,峰值電流50-60mA。電壓:查引腳排布圖,看一下每段的芯片數(shù)量是多少?當紅色時,使用1.9V乘以每段的芯片串聯(lián)的個數(shù);當綠色時,使用2.1V乘以每段的芯片串聯(lián)的個數(shù)。l 怎樣測量數(shù)碼管引腳,分共陰和共陽?找公共共陰和公共共陽:首先,我

17、們找個電源3到5伏和1個1K幾百歐的也行的電阻,VCC串接個電阻后和GND接在任意2個腳上,組合有很多,但總有一個LED會發(fā)光的,找到一個就夠了,然后GND不動,VCC串電阻逐個碰剩下的腳,如果有多個LED一般是8個,那它就是共陰的了。相反用VCC不動,GND逐個碰剩下的腳,如果有多個LED一般是8個,那它就是共陽的。也可以直接用數(shù)字萬用表,紅表筆是電源的正極,黑表筆是電源的負極。2.3 其他元器件介紹及參數(shù)選擇本設計中還用到其他一些元器件,例如:晶振,電容,電阻排,電解電容,開關等等。晶振采用頻率為12MHZ,連接的兩個電容為30pF;電阻排為470*8,能夠?qū)崿F(xiàn)8個470歐電阻的等效替換;

18、電解電容為10u;開關功能是在仿真過程中,按下開關便能實現(xiàn)60秒復位。第3章 軟件設計3.1 程序框圖3.2 定時/計數(shù)器初值計算1本電路應用TIMER0 MODE 16位計數(shù)器的計時中斷法。 21秒等于1000000微秒,而每一計時脈沖是1微秒,因此需輸入100000個計時脈沖,方可到達1秒的時間。本設計中,設定中斷每次溢出時間50ms。3由上式得知,循環(huán)20次即可到達1秒定時,即: N=t/Tcy=0.05s/0.000001=5000X=65536-5000=15536=3CB0H4由上式得知5000個脈沖,首先需設定TL0=3CH,TH0=0B0H,此時第1次只要輸入5000個脈沖輸入

19、,就會溢出;第2次至第20次,那么需每1000000個計時脈沖,定時1秒。5上電時,顯示60,開始倒數(shù)計時按下開關實現(xiàn)復位。3.3 軟件程序 ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV R2,#60 ;計數(shù)初值LOOP1: MOV A,R2 MOV B,#10 DIV AB MOV DPTR,#TABLE MOVC A,A+DPTR ;查表 MOV P1,A ;十位顯示 MOV A,B MOVC A,A+DPTR MOV P2,A ;個位顯示 MOV R7,#20LOOP0: MOV TMOD,#01H ;置T0工作于方式0 MOV TH0,#3CH ;裝入計

20、數(shù)初值 MOV TL0,#0B0H SETB TR0 ;啟動定時器T0 JNB TF0,$ ;TF0=0,等待 CLR TF0 ;清TF0 DJNZ R7,LOOP0 ;循環(huán)20次 DEC R2 ;減一 CJNE R2,#0FFH,LOOP1 ;倒計時 AJMP MAIN ;復位回到60秒初始TABLE: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH END第四章 軟件調(diào)試4.1 系統(tǒng)調(diào)試工具keil c51 Keil C51 仿真器是一款利用KEIL C51 的IDE 集成

21、開發(fā)環(huán)境作為仿真環(huán)境的廉價仿真器,是利用SST公司具有IAP功能的單片機SST89C58制作而成,主要是利用了SST89C58的IAP功能,所謂IAP功能是In application program 的英文縮寫,是在應用編程的意思,通俗一點講就是:它可以通過串口將用戶的程序下載到單片機中,可以通過串口對單片機進行編程。它之所以具有這種功能,實際上它有兩塊程序flash區(qū),其中一塊flash中運行的程序可以更改另外的一塊程序flash區(qū)中的程序,正是利用這一特性才用它作成了仿真器,我們把仿真器的監(jiān)控程序事先燒入SST89C58,監(jiān)控程序通過SST89C58的串口和PC通訊,當使用KEIL C5

22、1的IDE環(huán)境仿真時,用戶的程序通過串口被監(jiān)控程序?qū)懭雈lash程序區(qū)中,當用戶設置斷點等操作仿真程序時,flash程序中的用戶程序也在相應的更改,從而實現(xiàn)了仿真功能 。調(diào)試的主要方法 :1. 啟動Keil c51 2. 新建一個工程。Project菜單New project ,選擇好我們要保存的文件夾后,鍵入Frist 保存。接著彈出CPU類型選擇框,我們選擇最常用的AT89C51,按確定。3. 在工程中參加文件。新建一個文件,文件菜單FileNew,我們再選擇:文件菜單FileSave As? 另存為彈出 對話框后,我們文件名框中鍵入First.c注意文件后綴名是 .c保存。C文件建好啦?,F(xiàn)在我們把文件參加到工程中去。 點擊Target 1前面的+號,右鍵單擊Source Group 1選擇Add Files to Group ,Source Group 1,選擇添加 Add。編譯運行,檢查程序是否有錯誤。4.2 PROTEUS Proteus是

溫馨提示

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

最新文檔

評論

0/150

提交評論