久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

終于完成這個(gè)不是人寫的4*3矩陣按鍵程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2011年10月20日   【字體:

/******************************************************** * * 4*3矩陣按鍵讀寫函數(shù) * ********************************************************/ //按鍵讀寫程序 //行1 P65//行2 P62//行3 P51//行4 P67 P5:1 P6:257 //列1 P63//列2 P64//列3 P66 //按鍵解碼 //行4:0,1,2;行1:3,4,5;行3:6,7,8;行2:9,10,11; //*0# 123 789 456 const uchar key_rel[]={0x0a,0x00,0x0b,0x01,0x02, 0x03,0x07,0x08,0x09,0x04,0x05,0x06}; void scan_key(void) {uchar i; keybuf=0xff; get_bit=0; /*方法一:行輸出,列輸入,影響AT24C02,led閃爍 //睡眠喚醒,欠壓檢測(cè),聲光指示的端口方向不需改動(dòng) //行輸出0 //P5CR&=0x0d;//0000 1101初始化P5全為輸出口 P5CR=0xf0; P6CR&=0x5b;//0101 1011 //列輸入1 P6CR|=0x58;//0101 1000/ //方法二:列輸出,行輸入,列1串10K,輸出不了低電平可能識(shí)別不了 //不會(huì)影響AT24C02,led指示,其它操作需要從新定義端口方向 //列輸出0 P6CR&=0xa7;//1010 0111 //行輸入1 P5CR|=0x02;//0000 0010 P6CR|=0xa4;//1010 1000*/ /*方法三:先使用方法二掃描列,最后列1單獨(dú)讀寫 //列1讀寫實(shí)驗(yàn) P5CR=0xf0; P6CR&=0x5b;//0101 1011 //列輸入1 P6CR|=0x58;//0101 1000/ KH1=0;KH2=0;KH3=0;KH4=0; if(KL1==0)keybuf=0x01;//列1有按鍵按下 while(KL1==0); //列23,讀寫*/ //按鍵讀寫程序終結(jié)版,低電平掃行2,行全拉低 //行輸出0 P6CR&=0x5b;//0101 1011 //列輸入1 P6CR|=0x58;//0101 1000/ for(i=0;i<4;i++) {switch(i) {//無AT24C02操作盡量不開啟KH4給AT24C02供電 case 0:KH1=1;KH2=1;KH3=1;KH4=0;break;//掃描行四 case 1:KH1=0;KH2=1;KH3=1;KH4=0;break;//掃描行一 case 2:KH1=1;KH2=1;KH3=0;KH4=0;break;//掃描行三 //最后掃描紅綠LED公共端,全部拉低,全掃描無LED點(diǎn)亮 case 3:KH1=0;KH2=0;KH3=0;KH4=0;break;//掃描行二 } delay(200); if(KL1==0){keybuf=0x00;get_bit=1;break;} if(KL2==0){keybuf=0x01;get_bit=1;break;} if(KL3==0){keybuf=0x02;get_bit=1;break;} } if(get_bit==1)//獲取按鍵值 {get_bit=0; //延時(shí)去除抖動(dòng) //delay(250);// //掃描狀態(tài)已經(jīng)保存 switch(keybuf) {case 0x00:if(KL1==0)get_bit=1;;break; case 0x01:if(KL2==0)get_bit=1;;break; case 0x02:if(KL3==0)get_bit=1;;break; default:keybuf=0xff; } if(get_bit==1) {keybuf=i+i+i+keybuf;//解碼按鍵 i=key_rel[keybuf];//解碼按鍵 keybuf=i;//獲取按鍵值 //按鍵聲光指示 buzzer(); //等待按鍵彈起 KH1=0;KH2=0;KH3=0;KH4=0; delay(80); while((KL1&&KL2&&KL3)==0); } else keybuf=0xff; } else keybuf=0xff;//無效按鍵 //行2讀寫無效分析 //TCC引腳下CONT指令0x0* } /******************************************************** * * END key_scan * ********************************************************/
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 日韩欧美国产一区二区三区 | 国产成人精品在线播放 | 国产夜恋视频在线观看 | 亚洲理论在线观看电影 | 天堂网avav| www久久久 | 亚洲系列第一页 | 国产精品视频97 | 欧美成人手机在线 | 91成人精品| 黄色av免费 | 在线免费视频一区 | 成人精品一区二区 | 91新视频 | 欧美综合一区 | 美女视频网站久久 | 欧美精品一区免费 | 九九精品视频在线 | 免费在线看黄 | 日韩aⅴ视频 | 欧美成人精品在线观看 | 精品国产99 | 色爱综合网 | 日韩成人免费视频 | 奇米av | 精品国产精品三级精品av网址 | www.五月婷婷.com | 日韩在线一区二区三区 | 成人国产在线视频 | 99精品99久久久久久宅男 | 欧美日韩国产一区二区 | 久久一区精品 | 在线视频成人 | 成人不卡视频 | 久久天天躁狠狠躁夜夜躁2014 | 久草在线青青草 | 亚洲成人免费av | 欧美bondage紧缚视频 | 91av视频在线播放 | 91精品国产乱码久久久久久久久 | 国产高清精品一区二区三区 |