單片機60秒倒計時實驗報告_第1頁
單片機60秒倒計時實驗報告_第2頁
單片機60秒倒計時實驗報告_第3頁
單片機60秒倒計時實驗報告_第4頁
單片機60秒倒計時實驗報告_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、倒計時項目報告 姓名:楊曉博班級:電子09-2學號: 0950213227目錄第一章 摘要第二章 實驗任務(wù)第三章 實驗主要器材3.1 AT89S51芯片概述3.2 LED數(shù)碼管顯示器概述第四章 實驗步驟4.1 硬件設(shè)計4.2 軟件設(shè)計第五章 實驗結(jié)果5.1 調(diào)試與仿真第六章 實驗總結(jié)第一章 摘要 近年來隨著計算機在社會領(lǐng)域的滲透, 單片機的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。 模擬多通道壓力系統(tǒng)是利用壓力

2、傳感器采集當前壓力并反映在顯示器上,它可以分析壓力過量程,并發(fā)出報警。并采用電子秤原理可根據(jù)輸入單價準確的計算出物體的金額。本篇論文討論了簡單的倒計時器的設(shè)計與制作 ,對于倒計時器中的四位LED數(shù)碼顯示器來說,我為了簡化線路、降低成本,采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,而采用軟件程序進行譯碼。第二章 實驗任務(wù)任務(wù)說明:單片機控制的多功能60s倒計時(1)用單片機AT89C51的定時器實現(xiàn)多功能60s倒計時。本例中用兩位數(shù)碼管動態(tài)顯示倒計時秒值。并在00時發(fā)光二極管亮、蜂鳴器響。(2)用PROTEUS設(shè)計,仿真基于AT89c51單片機的60s倒計時實驗。 第三章 實驗主要器材

3、3.1 AT8 9S51芯片概述AT89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89C51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 其工作電壓在4.5V,一般我們選用5V電壓。外形及引腳排列如圖2

4、所示。圖2:89C51的核心電路框圖l 主要特性與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲器鎖定1288位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 l 管腳說明(1)電源及時鐘引腳(4個)Vcc: 電源接入引腳Vss:接地引腳XTAL1:晶振震蕩器接入的一個引腳(采用外部振蕩器時,此引腳接地);XTAL2:晶體振蕩器的另一個引腳(采用外部振蕩器時,此引腳作為外部振蕩器信號的輸入端)。(2)控制線引腳(4個)RST/Vpd:復

5、位信號輸入引腳/備用電源輸入引腳;ALE:地址鎖存允許信號輸出引腳/編程脈沖輸入引腳: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應(yīng)不接。有余輸入至

6、內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。3.2 LED數(shù)碼管顯示器概述本設(shè)計中采用的是7SEGMPX2 DC型號數(shù)碼管,它是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。實物如圖3所示:圖3:7SEGMPX2 DC型號數(shù)碼管l 數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽

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

8、極管的陽極通過電阻與輸入端相連。 LED數(shù)碼顯示器的顯示段碼。 為了顯示字符,要為LED顯示器段碼(或稱字形代碼),組成一個8字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如下表所示.十六進制數(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 6

9、DH E 86H 6 82H 7DH F 84H 7 F8H 07H 空白 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)顯示則需要5840根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32

10、個呢:),實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復雜性。 動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(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ù)碼管輪流受控顯示,

11、這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮時間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(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ù)碼管應(yīng)用數(shù)碼管是一類顯

12、示屏 通過對其不同的管腳輸入相對的電流 會使其發(fā)亮 從而顯示出 數(shù)字 能夠顯示 時間 日期 溫度 等所有可用數(shù)字表示的參數(shù) 由于它的價格便宜 使用簡單 在電器 特別是家電領(lǐng)域應(yīng)用極為廣泛 空調(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ù)碼管引腳,分共陰和共陽?找

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

14、470*8,能夠?qū)崿F(xiàn)8個470歐電阻的等效替換;電解電容為10u;開關(guān)功能是在仿真過程中,按下開關(guān)便能實現(xiàn)60秒復位。第四章 實驗步驟4.1 硬件設(shè)計通過AT89C51型號單片機,由P1和P2兩組I/O引腳分別控制兩個7SEGCOM ANODE型號數(shù)碼管,分十位控制和個位控制,達到顯示60秒倒計時的目的。通過復位電路,在仿真過程中點擊開關(guān)實現(xiàn)60復位。4.2 軟件設(shè)計 l 定時/計數(shù)器初值計算(1)本電路應(yīng)用TIMER0 MODE 16位計數(shù)器的計時中斷法。 (2)1秒等于1000000微秒,而每一計時脈沖是1微秒,因此需輸入100000個計時脈沖,方可達到1秒的時間。本設(shè)計中,設(shè)定中斷每次溢

15、出時間50ms。(3)由上式得知,循環(huán)20次即可達到1秒定時,即: N=t/Tcy=0.05s/0.000001=5000X=65536-5000=15536=3CB0H(4)由上式得知5000個脈沖,首先需設(shè)定TL0=3CH,TH0=0B0H,此時第1次只要輸入5000個脈沖輸入,就會溢出;第2次至第20次,則需每1000000個計時脈沖,定時1秒。(5)上電時,顯示60,開始倒數(shù)計時按下開關(guān)實現(xiàn)復位。l 軟件程序#include sbit K1=P20;/加1sbit K2=P21;/減1sbit K3=P22;/暫停sbit K4=P23;/啟動sbit S0=P36;sbit S1=P

16、37;sbit F=P25; /蜂鳴器sbit LED=P24;void disp (unsigned char n);unsigned char m=0;unsigned char n=10;unsigned char codeD=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; void delay(unsigned int a) unsigned char b; while(-a) for(b=0;b19) n-; if(n=0)LED=0;F=0;while(1) disp(0);m=0; m=0;第五章 實驗結(jié)果5.1 調(diào)試與仿真l

17、 系統(tǒng)調(diào)試工具keil c51調(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 G

18、roup ,Source Group 1,選擇添加 Add。編譯運行,檢查程序是否有錯誤。l PROTEUS軟件調(diào)試方法:首先用Keil軟件將C編譯成HEX文件,打開Keil軟件,新建一個文檔,輸入C程序,保存成C格式文件,然后新建工程,連接單片機為AT89C51,選擇Options for target,選擇OUTPUT子菜單,在Create HEX Fi前打鉤,DeBug子菜單中,Settings選擇ProteusVSM Simulator,USE前打鉤,再次運行文件,成功后在目錄下會生成HEX文件,打開Proteus軟件,或直接點擊DSN文件,雙擊單片機模板,點擊文件夾式樣的圖標選擇對應(yīng)的HEX驅(qū)動文件,然后點擊開始,進行調(diào)試。l 仿真圖:第六章 實驗總結(jié)本次我們做了60秒倒計時實驗。完成此次試驗共有4人,實驗以AT89C51 為核心部件,利用軟件編程,通過鍵盤控制和LED實現(xiàn)顯示的功能、報警功能,并能實現(xiàn)本設(shè)計題目的基本要求和發(fā)揮部分。盡量做到硬件電路簡單穩(wěn)定、減小電磁干擾和其他環(huán)境干擾,充分發(fā)揮軟件編程的優(yōu)點,減小因元器件精度不夠引起的誤差。本設(shè)計方案具有造價低,工作可靠,功能多,智能化,實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論