最新51单片机矩阵扫描键盘程序实例.doc
《最新51单片机矩阵扫描键盘程序实例.doc》由会员分享,可在线阅读,更多相关《最新51单片机矩阵扫描键盘程序实例.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料51单片机矩阵扫描键盘程序实例.51单片机矩阵扫描键盘程序#include #include#define uchar unsigned char#define uint unsigned intuchar idata x,y;uchar code disp_code = 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, / 0-9 0 1 2 3 4 5 6 7 8 9 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e, / 10-15 a b c d e f 0x7F, 0xBF, 0x9C,
2、 0xFF / 16-19 . - 。null; /数码管显示值列表void delay(uchar c) /延时函数 char a,b; for(a=c;a0;a-) for(b=110;b0;b-);uchar key_scan() /键盘扫描函数 uchar k; uchar z; x=0x00; y=0x00; P3=0xf0; /先给P3赋一个初值 if(P3!=0xf0) /判断P3不等于所赋初值,说明有健按下 delay(10); /消除键盘抖动 延时10ms if(P3!=0xf0) x=P3; P3=0x0f; y=P3; z=x|y; switch(z) case 0xee
3、: k=0; break; case 0xed: k=1; break; case 0xeb: k=2; break; case 0xe7: k=3; break; case 0xde: k=4; break; case 0xdd: k=5; break; case 0xdb: k=6; break; case 0xd7: k=7; break; case 0xbe: k=8; break; case 0xbd: k=9; break; case 0xbb: k=10;break; case 0xb7: k=11;break; case 0x7e: k=12;break; case 0x7d:
4、 k=13;break; case 0x7b: k=14;break; case 0x77: k=15;break; return(k);void main() uchar dat; while(1) P3=0xf0; while(P3!=0xf0) dat=key_scan(); P1=0; P0=disp_codedat; 2:#include #include#define uchar unsigned char#define uint unsigned intuchar idata x,y;uchar code disp_code = 0xC0, 0xF9, 0xA4, 0xB0, 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 51 单片机 矩阵 扫描 键盘 程序 实例
限制150内