秒表的設(shè)計(jì)與制作_第1頁
秒表的設(shè)計(jì)與制作_第2頁
秒表的設(shè)計(jì)與制作_第3頁
秒表的設(shè)計(jì)與制作_第4頁
秒表的設(shè)計(jì)與制作_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2/1/20231學(xué)習(xí)目標(biāo)知識(shí)目標(biāo)

了解數(shù)碼管的基礎(chǔ)知識(shí)。

熟悉LED靜態(tài)顯示電路和顯示程序的設(shè)計(jì)方法。掌握LED動(dòng)態(tài)顯示電路和動(dòng)態(tài)掃描顯示程序的設(shè)計(jì)方法。進(jìn)一步掌握中斷系統(tǒng)和定時(shí)器的應(yīng)用。

學(xué)習(xí)目標(biāo)能力目標(biāo)能進(jìn)行單片機(jī)數(shù)碼管顯示系統(tǒng)設(shè)計(jì)。會(huì)使用單片機(jī)的開發(fā)工具。

能完成秒表的設(shè)計(jì)、制作與調(diào)試。

在單片機(jī)應(yīng)用系統(tǒng)中,通常要使用顯示器作為輸出設(shè)備顯示系統(tǒng)的狀態(tài),常用的顯示器有LED數(shù)碼管、點(diǎn)陣顯示器和液晶顯示器。項(xiàng)目要求

利用單片機(jī)和2位數(shù)碼管制作一個(gè)秒表。1、顯示時(shí)間為00~99s,每秒自動(dòng)加1;2、開機(jī)時(shí)顯示“00”;3、設(shè)置一個(gè)按鍵,當(dāng)按鍵第一次被按下松開時(shí),秒表開始計(jì)時(shí);當(dāng)?shù)诙伟聪掳存I松開時(shí),秒表停止計(jì)時(shí);當(dāng)?shù)谌伟聪掳存I松開時(shí),秒表復(fù)位。項(xiàng)目要求電路圖一、數(shù)碼管簡介1.數(shù)碼管的結(jié)構(gòu)及工作原理單片機(jī)系統(tǒng)擴(kuò)展LED數(shù)碼管時(shí)多用共陽LED:

共陽數(shù)碼管每個(gè)段筆畫是用低電平(“0”)點(diǎn)亮的,要求驅(qū)動(dòng)功率很??;而共陰數(shù)碼管段筆畫是用高電平(“0”)點(diǎn)亮的,要求驅(qū)動(dòng)功率較大。通常每個(gè)筆段要串一個(gè)數(shù)百歐姆的限流電阻。2.數(shù)碼管的編碼方式代碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba一、數(shù)碼管簡介共陰極和共陽極的字段碼互為反碼。顯示字符共陽極字段碼共陰極字段碼顯示字符共陽極字段碼共陰極字段碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H“滅”FFH00880H7FHLED數(shù)碼管的字形碼表一、數(shù)碼管簡介二、顯示程序的任務(wù)1、設(shè)置顯示緩沖區(qū),存放待顯示數(shù)據(jù)和字符。2、顯示譯碼:程序存儲(chǔ)器中建立字形碼常數(shù)表,查表得出對應(yīng)數(shù)據(jù)和字符的字形碼。3、輸出顯示:輸出字形碼到顯示端口。例:電路如圖所示,要求數(shù)碼管依次顯示0~F,每位數(shù)字顯示1S。設(shè)晶振頻率為12MHz。(一)繪制程序流程圖

本項(xiàng)目中要顯示的數(shù)字或符號(hào)的段碼在編寫程序時(shí)給出,故使用查表程序結(jié)構(gòu)形式實(shí)現(xiàn)。二、顯示程序的任務(wù)解:

ORG 00H SJMP START ORG 0030HSTART:MOV P1,#0FFH ;數(shù)碼管的8段LED全暗ST1: MOV DPTR,#TAB

MOV R0,#0 ;顯示初值ST2: MOV A,R0 ACALL SEG7 ;根據(jù)顯示數(shù)字查顯示碼

MOV P1,A ;顯示碼送P1口顯示

ACALL DELAY ;延時(shí)1s INC R0 ;顯示數(shù)字加1 CJNE R0,#10h,ST2 ;16個(gè)數(shù)沒顯示完轉(zhuǎn)ST2 SJMP ST1 ;16個(gè)數(shù)顯示完轉(zhuǎn)ST1,循環(huán)顯示二、顯示程序的任務(wù)DELAY:MOV R7,#10 ;1S延時(shí)子程序D1: MOV R6,#200D2:MOV R5,#250 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET二、顯示程序的任務(wù)SEG7: MOVC A,@A+DPTR ;數(shù)字轉(zhuǎn)換為顯示碼

RETTAB: DB 0C0H,0F9H,0A4H,0B0H ;0~3的共陽型顯示碼

DB 99H,92H,82H,0F8H ;4~7的共陽型顯示碼

DB 80H,90H,88H,83H ;8~B的共陽型顯示碼

DB 0C6H,0A1H,86H,8EH ;C~F的共陽型顯示碼

END練習(xí):在“Proteus軟件”中繪制電路圖。用“Keil”模擬仿真軟件進(jìn)行程序的編輯、編譯。將“.HEX”文件裝載到Proteus中,觀察程序運(yùn)行結(jié)果。二、顯示程序的任務(wù)三、顯示方式多位數(shù)碼管的兩種顯示方式:靜態(tài)顯示和動(dòng)態(tài)顯示

abdpCOM

abdpCOM

abdpCOMafbge

cddp

段選控制位選控制段選:顯示什么字符位選:哪位顯示三、顯示方式1.靜態(tài)顯示

各數(shù)碼管的段選線分別接一個(gè)8位的并行I/O口;

數(shù)碼管在顯示某一字符時(shí),只要通過相應(yīng)的I/O口送出該字符的字形碼。

abdpCOM

abdpCOM

abdpCOMafbge

cddp

段選控制位選控制+5V例:編程在兩個(gè)LED數(shù)碼管上顯示數(shù)字“1”“2”

MOV P0,#0F9H MOV P2,#0A4H三、顯示方式例:用靜態(tài)顯示方式實(shí)現(xiàn)0~99s運(yùn)行的秒表解:設(shè)計(jì)思路:(1)秒信號(hào)的產(chǎn)生。(2)計(jì)數(shù)器:每過1s計(jì)數(shù)器加1,加到99就停止。(3)把計(jì)數(shù)器的值轉(zhuǎn)換成十進(jìn)制并顯示。比較指令除法指令三、顯示方式用一個(gè)50ms的定時(shí)器定時(shí)20次。三、顯示方式本任務(wù)可以劃分成以下幾個(gè)功能程序模塊:主程序:定時(shí)器、中斷、內(nèi)存單元初始化

DIS顯示子程序:秒計(jì)數(shù)器的計(jì)數(shù)值轉(zhuǎn)換成十進(jìn)制數(shù),并顯示

SEG7段碼轉(zhuǎn)換子程序:十進(jìn)制數(shù)轉(zhuǎn)換成段碼定時(shí)中斷服務(wù)程序:1S時(shí)間到,修改秒計(jì)數(shù)器編程技巧:采用模塊化的設(shè)計(jì)方法。三、顯示方式各模塊關(guān)系如下:

ORG 00H SJMP STAR ORG 1BH SJMP T1S QRG 30HSTAR:MOV R2,#00 ;秒計(jì)數(shù)器

MOV R4,#20 ;50ms計(jì)數(shù)器

MOV IE,#88H MOV TMOD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB TR1三、顯示方式程序如下:LOOP:ACALL DIS SJMP LOOPT1S: MOV TH1,#3CH MOV TL1,#0B0H DJNZ R4,T1S1 MOV R4,#20

INC R2 CJNE R2,#99,T1S1 CLR TR1T1S1: RETI三、顯示方式DIS: MOV A,R2 MOV B,#10 DIV AB ACALL SEG7 MOV P0,A MOV A,B ACALL SEG7 MOV P2,A RET三、顯示方式SEG7: INC A MOVC A,@A+PC RET DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EHEND三、顯示方式練習(xí):在“Proteus軟件”中繪制電路圖。用“Keil”模擬仿真軟件進(jìn)行程序的編輯、編譯。將“.HEX”文件裝載到Proteus中,觀察程序運(yùn)行結(jié)果。要求秒表循環(huán)計(jì)時(shí),程序如何修改?靜態(tài)顯示的特點(diǎn)?無閃爍,編程簡單,占I/O線多。三、顯示方式各數(shù)碼管的段選線共用一個(gè)8位的并行I/O口,位選線分別由相應(yīng)的I/O口控制;顯示時(shí)逐位掃描,即:從段選口送出某位的字形碼,再選通該位,顯示一段時(shí)間,再換下一位。2.動(dòng)態(tài)顯示

abdpCOM

abdpCOM

abdpCOMafbge

cddp

段選控制位選控制I/O口I/O口有閃爍,元器件少,占I/O線少,編程復(fù)雜。動(dòng)態(tài)顯示的特點(diǎn)?三、顯示方式例:8-1簡單程序流程MOVP2,#0C0HMOVP1,#0FEH延時(shí)時(shí)間分別為10ms和1s有什么不同現(xiàn)象?三、顯示方式例:8-1循環(huán)程序流程三、顯示方式

ORG 0 SJMP STAR ORG 30HSTAR:MOV P1,#0FFH ;關(guān)閉位選口

MOV P2,#0FFH ;關(guān)閉段選口ST1: MOV R0,#0 ;計(jì)數(shù)器預(yù)設(shè)為0 MOV R1,#0FEH ;選通P1.0控制的顯示器ST2: MOV A,R0 ;將R0中數(shù)字轉(zhuǎn)換為顯示碼 ;從P2口輸出

LCALL SEG7 CPL A ;取反三、顯示方式

MOV P2,A MOV A,R1 ;位選通:P1 MOV P1,A LCALL DLY10 ;延時(shí)10MS MOV P1,#0FFH ;關(guān)斷位選通

INC R0 ;計(jì)數(shù)+1 CJNE R0,#4H,ST3 ;四位是否掃描完?

SJMP ST1 ;0~3掃描完,重新開始ST3: MOV A,R1 ;0~3依次顯示

RL A MOV R1,A SJMP ST2三、顯示方式DLY10:MOV R7,#20 ;延時(shí)10MS MOV R6,#248DLY1: DJNZ R6,$ DJNZ R7,DLY1 RETSEG7: INC A ;將數(shù)字轉(zhuǎn)換為顯示碼

MOVC A,@A+PC RET DB 3FH,06H,5BH,4FH;共陰極段碼:0,1,2,3 DB 66H,6DH,7DH,07H ;4,5,6,7 DB 7FH,6FH,77H,7CH ;8,9,A,B DB 39H,5EH,79H,71H ;C,D,E,F END三、顯示方式四、秒表的設(shè)計(jì)1.硬件設(shè)計(jì)元器件清單序號(hào)名稱數(shù)量序號(hào)名稱數(shù)量1AT89S51110470Ω電阻1240pin活動(dòng)Ic座111220Ω電阻2330P瓷片電容2124.7KΩ電阻2412M晶振113三極管85502510UF/16V電解電容114兩位一體共陽極數(shù)碼管1610K電阻115ISP下載線17USB插頭116ISP接口18電源按鍵117萬用電路板15×9cm19LED118按鍵1四、秒表的設(shè)計(jì)練習(xí):搭建秒表的硬件平臺(tái)。注意測量所選數(shù)碼管的類型和引腳。四、秒表的設(shè)計(jì)四、秒表的設(shè)計(jì)按鍵的抖動(dòng)及去抖處理

按鍵在閉合和斷開時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象。一般﹤10ms

四、秒表的設(shè)計(jì)按鍵的抖動(dòng)及去抖處理

去抖動(dòng)的方法:硬件去抖軟件去抖LOOP:JBP3.2,LOOP LCALLDE10 JBP3.2,LOOP LCALLKEY&&+5v+5v消除抖動(dòng)電路開關(guān)四、秒表的設(shè)計(jì)2.軟件設(shè)計(jì)本任務(wù)可以劃分成以下幾個(gè)功能程序模塊:主程序:定時(shí)器、中斷、內(nèi)存單元初始化、按鍵的查詢

KEY鍵處理子程序:統(tǒng)計(jì)按鍵次數(shù),并進(jìn)行相應(yīng)處理

DIS顯示子程序:秒計(jì)數(shù)器的計(jì)數(shù)值轉(zhuǎn)換成十進(jìn)制數(shù),并顯示

SEG7段碼轉(zhuǎn)換子程序:十進(jìn)制數(shù)轉(zhuǎn)換成段碼

DLY10延時(shí)子程序:去抖、動(dòng)態(tài)掃描時(shí)間定時(shí)中斷服務(wù)程序:1S時(shí)間到,修改秒計(jì)數(shù)器各模塊關(guān)系如下:四、秒表的設(shè)計(jì)內(nèi)存單元分配:四、秒表的設(shè)計(jì)內(nèi)存單元功能初值R050ms計(jì)數(shù)器00HR11s計(jì)數(shù)器00HR2按鍵次數(shù)統(tǒng)計(jì)00H

ORG00H LJMP STAR ORG 000BH LJMP TIME0 ORG 0030HSTAR:MOV R0,#0 MOV R1,#0 MOV R2,#0 MOVTMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H

SETB EA SETBET0LOOP:LCALLDIS JB P3.2,LOOP LCALLDLY10 JB P3.2,LOOP JNB P3.2,$ LCALLKEY AJMP LOOP四、秒表的設(shè)計(jì)KEY: INC R2 CJNE R2,#1,KEY2 SETB TR0 RETKEY2:CJNE R2,#2,KEY3 CLR TR0 RETKEY3:CJNE R2,#3,BACK MOV R0,#0 MOV R1,#0 MOV R2,#0BACK:RETTIME0:MOVTH0,#3CH MOV TL0,#0B0H INC R0 CJNE R0,#20,I_RET MOV R0,#0

溫馨提示

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

評論

0/150

提交評論