为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

4X4 矩阵键盘控制条

2017-10-15 3页 doc 30KB 19阅读

用户头像

is_637320

暂无简介

举报
4X4 矩阵键盘控制条4X4 矩阵键盘控制条 16 4X4 矩阵键盘控制条 形LED 显示 /* 名称:4X4 矩阵键盘控 制条形LED 显示 说明:运行本例时,按 下的按键值越大点亮的 LED 越多。 */ #include #include #define uchar unsigned char #define uint unsigned int //矩阵键盘按键特征码表 uchar code KeyCodeTable[]={0x11,0x12,0x14,0x18,0x21, 0x22,0x24,0x28,0x41,0...
4X4 矩阵键盘控制条
4X4 矩阵键盘控制条 16 4X4 矩阵键盘控制条 形LED 显示 /* 名称:4X4 矩阵键盘控 制条形LED 显示 说明:运行本例时,按 下的按键值越大点亮的 LED 越多。 */ #include #include #define uchar unsigned char #define uint unsigned int //矩阵键盘按键特征码 uchar code KeyCodeTable[]={0x11,0x12,0x14,0x18,0x21, 0x22,0x24,0x28,0x41,0x42,0x44,0x48,0x81,0x82,0x84,0x88}; //延时 void DelayMS(uint x) { uchar i; while(x--) for(i=0;i<120;i++); } //键盘扫描 uchar Keys_Scan() { uchar sCode,kCode,i,k; //低4 位置0,放入4 行 P1=0xf0; //若高4 位出现0,则有键按下 if((P1&0xf0)!=0xf0) { DelayMS(2); if((P1&0xf0)!=0xf0) { sCode=0xfe; //行扫描码初值 for(k=0;k<4;k++) //对4 行分别进行扫描 { P1=sCode; if((P1&0xf0)!=0xf0) { kCode=~P1; for(i=0;i<16;i++) //查表得到按键序号并返回 if(kCode==KeyCodeTable[i]) return(i); } else sCode=_crol_(sCode,1); } } } return(-1); } //主程序 void main() { uchar i,P2_LED,P3_LED; uchar KeyNo=-1; //按键序号,-1 表示无按键 while(1) { KeyNo=Keys_Scan(); //扫描键盘获取按键序号KeyNo if(KeyNo!=-1) { P2_LED=0xff; P3_LED=0xff; for(i=0;i<=KeyNo;i++) //键值越大,点亮的LED 越多 { if(i<8) P3_LED>>=1; else P2_LED>>=1; } P3=P3_LED; //点亮条形LED P2=P2_LED; } } }
/
本文档为【4X4 矩阵键盘控制条】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索