在嵌入式系統(tǒng)、自動(dòng)化設(shè)備、智能家居等領(lǐng)域中,鍵盤作為一種基本的輸入設(shè)備,被廣泛應(yīng)用于數(shù)據(jù)的輸入和命令的發(fā)送。其中,矩陣式鍵盤因其占用資源少、價(jià)格低廉等優(yōu)點(diǎn)在電子產(chǎn)品中得到廣泛應(yīng)用。本文將詳細(xì)介紹矩陣式鍵盤的工作原理,并給出一種基于C語(yǔ)言的矩陣式鍵盤掃描程序的編寫方法。
采用反轉(zhuǎn)法判斷按鍵坐標(biāo),即行號(hào)與列號(hào)獲得按鍵碼。 寫完后發(fā)現(xiàn)Proteus一個(gè)問(wèn)題:直接使用這樣的if(P10xf0!=0xf0)語(yǔ)句時(shí),調(diào)不出來(lái),當(dāng)用了一個(gè)中間變量過(guò)渡時(shí),就調(diào)出來(lái)了,害我花了一個(gè)上午的時(shí)間,現(xiàn)在暫時(shí)不知
使用芯片STM8S003所用端口:PD2~PD6, PA1~PA3其中,PD3~PD6為輸出,PA1~PA3 / PD2為輸入(默認(rèn)上拉)/* PortCom BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 PD6 PD5 PD4 PD3 PD2 PA3 PA2 PA1 */程序如下:/*添
一:不排除第四位異常處理uchar JuzhenkeyScan(){// P3=0xfe;// temp=P3;// while(temp!=0xfe)// {// temp=P3;// switch(temp)// {// case 0xee:num=10;// break;// case 0xde:num=3;// brea
原理搞清楚了,那么下面我們就先編寫一個(gè)獨(dú)立按鍵的程序,把最基本的功能驗(yàn)證一下。