hong-實(shí)驗(yàn)10+11-動態(tài)數(shù)碼管顯示與鍵盤.ppt_第1頁
hong-實(shí)驗(yàn)10+11-動態(tài)數(shù)碼管顯示與鍵盤.ppt_第2頁
hong-實(shí)驗(yàn)10+11-動態(tài)數(shù)碼管顯示與鍵盤.ppt_第3頁
hong-實(shí)驗(yàn)10+11-動態(tài)數(shù)碼管顯示與鍵盤.ppt_第4頁
hong-實(shí)驗(yàn)10+11-動態(tài)數(shù)碼管顯示與鍵盤.ppt_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第十四章 數(shù)碼管的顯示與鍵盤識別,14.1 數(shù)碼管的顯示 14.1.1 7段數(shù)碼管原理與結(jié)構(gòu) 14.1.2 7段數(shù)碼管編碼 14.1.3 數(shù)碼管動態(tài)掃描 14.1.4 數(shù)碼管顯示硬件設(shè)計 14.1.5 數(shù)碼管顯示軟件設(shè)計 14.2 鍵盤識別 14.2.1 開關(guān)與鍵盤 14.2.2 鍵盤的消抖問題 14.2.3 鍵盤的識別功能 14.2.4 鍵盤的硬件設(shè)計 14.2.5 鍵盤掃描法軟件設(shè)計 14.2.6 鍵盤的掃描策略,Page 1,Page 2,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管的顯示,14.1.1 7段數(shù)碼管原理與結(jié)構(gòu) 把7個細(xì)長的LED排成日字型 8個LED,使用一個公用端,共陽型:所有

2、LED的陽極連在一起, 共陰型:所有LED的陰極連在一起 單獨(dú)控制每個段的亮滅,可以表示出數(shù)字 09 使用多個數(shù)碼管表示數(shù)字 應(yīng)用非常廣泛 多種顏色,多種尺寸,Page 3,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管的顯示,14.1.2 7段數(shù)碼管編碼,b,c,d,e,f,g,a,共陰型:1 表示點(diǎn)亮 0 表示熄滅 共陽型:取反,DP,Page 4,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管的顯示,14.1.3 數(shù)碼管動態(tài)掃描 通過段控制信息確定數(shù)碼管顯示的數(shù)字(多位復(fù)用) 通過位控制信號使得任意時刻只有一位數(shù)碼管處于顯示狀態(tài) 利用視覺暫留現(xiàn)象,定時更改位控制信息和段控制信息,得到穩(wěn)定的數(shù)字顯示 多個LE

3、D同時點(diǎn)亮的電流都經(jīng)過公共端,MCU的IO無法承受,必須使用三極管 為了減小MCU的灌入電流,段控制端都連接了輸出驅(qū)動器74LS07,段控制,位控制,注:所有引腳都是低電平有效,Page 5,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管的顯示,14.1.4 數(shù)碼管顯示硬件設(shè)計 實(shí)驗(yàn)板上有4位數(shù)碼管,共陽極結(jié)構(gòu),引出12根連線,8根段控制,4根位控制,對應(yīng)關(guān)系如下: 實(shí)驗(yàn)中可將段控制連接到P口,將位控制連接到T口,連線關(guān)系如下:,Page 6,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管的顯示,14.1.4 數(shù)碼管顯示軟件設(shè)計 顯示一位數(shù)字: const unsigned char DisplayDecode=

4、0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71; /0-9 ABCDEF DDRP|=0XFF; DDRT|=0XFF; /點(diǎn)亮一個數(shù)碼管,顯示2 PTP=DisplayDecode2; PTT=0 xfe; LED動態(tài)顯示時,按人眼的反應(yīng),刷新頻率得大于80Hz,即所有LED在12ms內(nèi)必須刷新一次?,F(xiàn)有4組LED,即每段顯示3ms。這個3ms可以用軟件延遲實(shí)現(xiàn),但為提高CPU效率,一般使用定時器。,Page 7,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管

5、的顯示,示例程序 /unsigned char showdata4; void Show() unsigned char DisplayNumber; PTT=0 x0f; for(DisplayNumber=0;DisplayNumber4;DisplayNumber+) PTP=DisplayDecodeshowdataDisplayNumber; if(DisplayNumber=2) PTP ,Page 8,第十四章數(shù)碼管的顯示與鍵盤識別數(shù)碼管的顯示,示例程序 /unsigned char showdata4; void delay(unsigned int countert) /3m

6、s unsigned int i,j; for(i=0;icountert;i+) for(j=0;j4000;) j+; ,1 2 3/1,晶振16M,總線時鐘8M,延時為: 4000*(1+2+3)/(8*106)s=3ms,LED顯示應(yīng)用實(shí)例 實(shí)驗(yàn)11 任務(wù):(1) 在8位數(shù)碼管上顯示班級和學(xué)號,之間用小數(shù)點(diǎn)分隔。 (2) 在4個數(shù)碼管上實(shí)現(xiàn)“0”字符跑馬燈 (3) 編制實(shí)驗(yàn)一中的已知年月,求天數(shù)的C程序,將天數(shù)顯示在數(shù)碼管中間兩位上,前后放上分隔符“。 -” 例如: (4) 利用實(shí)驗(yàn)一中的已知年月,求天數(shù)的匯編程序作子程序,實(shí)現(xiàn)混合編程。 (5) 利用DIP開關(guān)實(shí)現(xiàn)上述功能的菜單,Pa

7、ge 9,第十四章數(shù)碼管的顯示與鍵盤識別實(shí)驗(yàn)11,第十章 單片機(jī)片內(nèi)外模塊并行I/O,硬件連線,Page 10,數(shù)碼管12線連P口和T口,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,14.2.1 開關(guān)與鍵盤 開關(guān)(Switch) 開關(guān)有兩種狀態(tài)閉合和斷開 船形開關(guān),撥位開關(guān) 按鍵:帶有自恢復(fù)裝置的開關(guān),常開常閉型 各種形狀,各種尺寸 耐高壓,輕觸式,帶指示 鍵盤:由多個按鍵組合而成 為了區(qū)分按鍵,給每個按鍵安排了一個代碼,稱鍵碼。 編碼鍵盤和非編碼鍵盤前者較復(fù)雜,較貴。后者較簡單,極便宜。 非編碼鍵盤分為獨(dú)立式鍵盤和行列式鍵盤,Page 11,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,14.2.2

8、鍵盤的消抖問題 按鍵用于產(chǎn)生一個脈沖,1個MCU的IO口可以檢查一個按鍵的狀態(tài) 按下和釋放的時刻會有抖動 需要設(shè)計硬件消抖電路或軟件消抖 硬件消抖:阻容濾波或雙穩(wěn)態(tài)觸發(fā)器 軟件消抖:延時等待(12ms),Page 12,void delay(void) unsigned int i,j; for(i=0;i4;i+) for(j=0;j4000;) j+; ,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,14.2.3 鍵盤的識別功能 有無鍵按下 軟件延時消抖 掃描求鍵碼 等待鍵釋放 查表求鍵值,Page 13,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,Page 14,14.2.4 鍵盤的硬件設(shè)計,5V

9、,行端口輸出,Y1,X1,Y2,Y3,Y4,X2,X3,X4,列端口輸入,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,注:將MCUI/O口輸入端的內(nèi)部上拉電阻使能,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,Page 15,0,實(shí)驗(yàn)板上有一個4*4的薄膜鍵盤,板上無上拉電阻,接口是X1-4、Y1-4,實(shí)驗(yàn)中可將其連接到PORTA口上,Y1-4(PA0-3)為輸出, X1-4(PA4-7)做為輸入,使能PORTA的上拉電阻,行端口輸出,Y1,X1,Y2,Y3,Y4,X2,X3,X4,列端口輸入,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,第十四章數(shù)碼管的顯示與鍵盤

10、識別鍵盤識別,Page 16,5V,行端口輸出,Y1(PA0),X1 (PA4),Y2(PA1),Y3(PA2),Y4(PA3),X2 (PA5),X3 (PA6),X4 (PA7),列端口輸入,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,14.2.5 鍵盤掃描法軟件設(shè)計 當(dāng)所有行輸出為0,列輸入碼若不全為1,說明有鍵按下; 令一行輸出為0,其余行輸出為1,列輸入碼若不全為1,說明該行有鍵按下 根據(jù)行輸出碼和列輸入碼中同時為0的行號和列號,可以確定鍵號。 多鍵識別時需要依次掃描所有行(shift+A) 竄鍵問題:軟件處理 連續(xù)輸入問題:需要考慮掃描策略,示例程序: unsi

11、gned char KeyScan() unsigned char Input,Output,Keynumber,Keyvalue1,i; Keyvalue1=0 xFF; Output=0 xF0;PORTA=Output; Input=PORTA4; if(Input!=0 x0F) delay(4); Input=PORTA4; if(Input!=0 x0F) Output=0 xFE; for(i=0;i4; if(Input!=0 x0F) switch(Input) case 0 x0E: Keynumber=0; break; case 0 x0D: Keynumber=1;

12、break; case 0 x0B: Keynumber=2; break; case 0 x07: Keynumber=3; break; Keynumber=Keynumber+i*ColumnSize; Keyvalue1=KeyDecodeKeynumber; break; else Output=1; return(Keyvalue1); ,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,Page 17,5V,Y1(PA0),X1 (PA4),Y2(PA1),Y3(PA2),Y4(PA3),X2 (PA5),X3 (PA6),X4 (PA7),0,1,2,3,4,5,6,7,8,9,A,B,

13、C,D,E,F,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,Page 18,鍵值表:const unsigned char KeyDecode= 0 x01,0 x02,0 x03,0 x04,0 x05,0 x06,0 x07,0 x08, 0 x09,0 x00,0 x0a,0 x0b,0 x0c,0 x0d,0 x0e,0 x0f;,行端口輸出,Y1,X1,Y2,Y3,Y4,X2,X3,X4,列端口輸入,0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,14.2.6 鍵盤的掃描策略 循環(huán)掃描:可行、可靠,占用CPU時間; 定時掃描:可能丟

14、失按鍵動作,需要確定掃描頻率,觸點(diǎn)接觸時間在幾十到幾百ms量級; 鍵盤中斷:發(fā)現(xiàn)有任何按鍵按下時啟動鍵盤掃描,需要設(shè)計相應(yīng)的硬件電路,Page 19,示例程序: void main(void) /* put your own code here */ unsigned char Keyresult; showdata0=1; showdata1=2; showdata2=3; showdata3=4; EnableInterrupts; Init_PORT(); Show(); for(;) Keyresult=KeyScan(); /鍵盤掃描 if(Keyresult!=0 xFF) showdata0=Keyresult; Show(); /顯示 ,第十四章數(shù)碼管的顯示與鍵盤識別鍵盤識別,14.2.6 鍵盤的掃描策略 循環(huán)掃描:可行、可靠,占用CPU時間; 定時掃描:可能丟失按鍵動作,需要確定掃描頻率,觸點(diǎn)接觸時間在幾十到幾百ms量級; 鍵盤中斷:發(fā)現(xiàn)有任何按鍵按下時啟動鍵盤掃描,需要設(shè)計相應(yīng)的硬件電路,Page 20,示例程序: void main(void) /*

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論