獨(dú)立按鍵控制LED燈_第1頁(yè)
獨(dú)立按鍵控制LED燈_第2頁(yè)
獨(dú)立按鍵控制LED燈_第3頁(yè)
獨(dú)立按鍵控制LED燈_第4頁(yè)
獨(dú)立按鍵控制LED燈_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、項(xiàng)目五 獨(dú)立按鍵控制LED燈1. 掌握獨(dú)立按鍵消抖原理2. 掌握獨(dú)立按鍵接口電路設(shè)計(jì)3. 掌握獨(dú)立按鍵控制LED燈的程序編寫1. 設(shè)計(jì)獨(dú)立按鍵控制LED的硬件電路2. 編寫程序分別實(shí)現(xiàn)按下按鍵1和按鍵2,LED燈閃爍方式不同3. 下載程序到單片機(jī)中,運(yùn)行程序觀察結(jié)果并進(jìn)行軟硬件的聯(lián)合調(diào)試 鍵盤是常見(jiàn)的計(jì)算機(jī)輸入設(shè)備,在單片機(jī)應(yīng)用中,按鍵可以設(shè)置電子鐘的時(shí)間;簡(jiǎn)易計(jì)算器中,按鍵可以輸入數(shù)字;按鍵還可以實(shí)現(xiàn)單片機(jī)中兩個(gè)不同功能程序切換。本項(xiàng)目要求兩個(gè)按鍵分別實(shí)現(xiàn)LDE燈的不同閃爍方式,按鍵1按下時(shí),8個(gè)LED燈從右向左依次點(diǎn)亮,按鍵2按下時(shí),8個(gè)LED燈從左向右依次點(diǎn)亮。 本項(xiàng)目只需2個(gè)按鍵實(shí)現(xiàn)L

2、ED燈閃爍方式控制,因此按鍵接口電路設(shè)計(jì)成獨(dú)立按鍵。獨(dú)立按鍵即每個(gè)按鍵直接與單片機(jī)I/O端口連接,當(dāng)按鍵按下和彈開(kāi)時(shí),單片機(jī)I/O端口呈現(xiàn)不同的電平。獨(dú)立按鍵接口電路可以設(shè)計(jì)成當(dāng)按鍵按下時(shí),單片機(jī)I/O端口為高電平或者低電平,讀者可以根據(jù)自己的需求自行設(shè)計(jì)。單片機(jī)應(yīng)用中的獨(dú)立按鍵多是機(jī)械彈性開(kāi)關(guān),在按鍵按下和彈開(kāi)時(shí),由于按鍵的機(jī)械特性,有抖動(dòng)產(chǎn)生。消除抖動(dòng)有硬件方式和軟件方式,軟件方式就是編程讀取I/O端口電平時(shí),產(chǎn)生一個(gè)5ms10ms延時(shí)后,再次讀取I/O端口電平,以確認(rèn)按鍵是否按下或彈開(kāi)。1. 獨(dú)立按鍵與矩陣按鍵 鍵盤是實(shí)現(xiàn)人機(jī)交互的重要計(jì)算機(jī)輸入設(shè)備,其中按鍵按照結(jié)構(gòu)原理可分為兩類,一類

3、是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類是無(wú)觸點(diǎn)式開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。按鍵按照接口原理可分為編碼鍵盤和非編碼鍵盤,編碼鍵盤是用硬件來(lái)實(shí)現(xiàn)對(duì)鍵的識(shí)別,非編碼鍵盤由軟件來(lái)實(shí)現(xiàn)按鍵的識(shí)別。非編碼鍵盤按連接方式可分為獨(dú)立按鍵和矩陣按鍵。 獨(dú)立按鍵特點(diǎn)是每個(gè)按鍵占用一條I/O線,當(dāng)按鍵數(shù)量較多時(shí),I/O口利用率不高,但程序編制簡(jiǎn)單,適合所需按鍵較少的場(chǎng)合。矩陣按鍵特點(diǎn)是電路連接復(fù)雜,軟件編程較復(fù)雜,但I(xiàn)/O口利用率高,適合需要大量按鍵的場(chǎng)合。下圖為常見(jiàn)獨(dú)立按鍵和矩陣按鍵接口電路。 圖 獨(dú)立按鍵接口電路與矩陣按鍵接口電路 上圖四個(gè)按鍵(常開(kāi)觸點(diǎn)開(kāi)關(guān))S1,S2,S3,S4

4、分別與單片機(jī)的四個(gè)I/O端口連接。當(dāng)按鍵沒(méi)有按下時(shí),四個(gè)I/O端口的電壓為高電平;當(dāng)按鍵按下時(shí),電源與電阻、按鍵構(gòu)成閉合回路,四個(gè)I/O端口的電壓拉為低電平。四個(gè)電阻為外部上拉電路,它們的作用是拉升外部端口的電壓,如果單片機(jī)的I/O端口有內(nèi)部上拉電阻的話,此處可以忽略,但編程時(shí)需注意讀I/O端口時(shí),應(yīng)先給端口賦高電平,避免誤讀端口。矩陣按鍵接口電路在項(xiàng)目六中講解。2. 按鍵消抖通常的按鍵所用的開(kāi)關(guān)為機(jī)械彈性開(kāi)關(guān),當(dāng)機(jī)械觸點(diǎn)斷開(kāi)、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開(kāi)時(shí)也不會(huì)一下子斷開(kāi)。如下圖 所示,按鍵抖動(dòng)時(shí)間一般為5ms10ms。因而在閉合及斷開(kāi)的瞬間

5、均伴隨有一連串的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。按鍵消抖方式有硬件消抖和軟件消抖。硬件消抖在按鍵數(shù)目較少時(shí)使用,常用硬件消抖電路有RS觸發(fā)器和并聯(lián)電容,如下圖所示。 如果按鍵較多,常用軟件方法消抖。其方法是檢測(cè)按鍵是否按下,如按鍵按下,執(zhí)行一個(gè)延時(shí)程序5ms10ms,讓前沿抖動(dòng)消失后再一次檢測(cè)按鍵狀態(tài),如果仍保持按下,則確認(rèn)為真正有按鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也執(zhí)行一個(gè)5ms10ms的延時(shí),待后沿抖動(dòng)消失后轉(zhuǎn)入該按鍵的處理程序。這種按鍵消抖占用CPU資源,采用定時(shí)器中斷軟件消抖效果要好些。1. 繪制本項(xiàng)目電路圖2. 準(zhǔn)備焊接器材序號(hào)電路組成元件名稱規(guī)格或參數(shù)數(shù)量1最小系統(tǒng)電阻

6、10K2個(gè)2排阻10K1個(gè)3電解電容10uF1個(gè)4瓷片電容30pF2個(gè)5晶振12MHz1個(gè)6發(fā)光二極管3mm黃色1個(gè)7洞洞板5*7cm1塊8緊鎖座40PIC1個(gè)9常開(kāi)觸點(diǎn)開(kāi)關(guān)6*6*5微動(dòng)開(kāi)關(guān)1個(gè)10撥動(dòng)開(kāi)關(guān)3腳2檔1個(gè)11USB插座A母1個(gè)12焊接工具焊烙鐵5W外熱1把13焊錫絲0.8mm若干14斜口鉗尺寸51把15外圍電路發(fā)光二極管3mm黃色8個(gè)16常開(kāi)觸點(diǎn)開(kāi)關(guān)6*6*5微動(dòng)開(kāi)關(guān)2個(gè)17限流電阻2208個(gè)3. 根據(jù)電路圖進(jìn)行焊接參考視頻資料4. 編寫本項(xiàng)目程序#include<reg51.h>#include<intrins.h>#define uchar unsi

7、gned char#define uint unsigned int#define LED P2sbit Key1=P10;sbit Key2=P11;void Display1();void Display2();void delay(uint t);void main(void) P1=0xff; P2=0xff; while(1) if(Key1=0) delay(10); if(Key1=0) Display1(); while(Key1=0); if(Key2=0) delay(10); if(Key2=0) Display2(); while(Key2=0); void Displ

8、ay1() uint i,temp; temp=0xfe; LED=temp; for(i=0;i<8;i+) temp=_crol_(temp,1); LED=temp; delay(100); void Display2() uchar i,temp; temp=0x7f; LED=temp; for(i=0;i<8;i+) temp=_cror_(temp,1); LED=temp; delay(100); void delay(uint t ) uchar i; while(-t) for(i=124;i>0;i-);#include<reg51.h>#i

9、nclude<intrins.h>#define uchar unsigned char#define uint unsigned int#define LED P2sbit Key1=P10;sbit Key2=P11;void Display1();void Display2();void delay(uint t);void main(void) uchar KeyNum; P1=0xff; P2=0xff; while(1) if(Key1=0) delay(10); if(Key1=0) KeyNum=1; if(Key2=0) delay(10); if(Key2=0) KeyNum=2; switch(KeyNum) case 1:Display1();break; case 2:Display2();break; void Display1() uint i,temp; temp=0xfe; LED=temp; for(i=0;i<8;i+) temp=_crol_(temp,1); LED=temp; delay(100); void Display2() uchar i,temp; temp=0x7f;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論