标题:
44键盘单片机仿真 数码管显示
[打印本页]
作者:
sh520
时间:
2017-11-11 20:50
标题:
44键盘单片机仿真 数码管显示
这是我刚写的44键盘,数码管显示0~f我觉得很简单,适合新手学习。
9MNXA0NGUX`H9K8LNQ9}Y{Y.png
(47.13 KB, 下载次数: 68)
下载附件
2017-11-11 20:49 上传
单片机源程序如下:
#include <REG51.H>
unsigned char code KeyImage[]=
{
0X00,0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0X6F,0X77,0X7C,0X39,0X5E,0X79,0X71
};
void delayms(unsigned int ms)
{
unsigned char i;
while(ms--)
{
for(i=0;i<125;i++){;}
}
}
unsigned char KEY_Scan(void)
{
unsigned char keyX;
unsigned char keyY;
unsigned char keyXY;
delayms(10);
if(P1!=0x0F)
{
keyY=P1;
P1=0xF0;
keyX=P1;
keyXY=keyX|keyY;
P1=0x0F;
if(keyXY==0xEE)return 1;
else if(keyXY==0xED)return 2;
else if(keyXY==0xEB)return 3;
else if(keyXY==0xE7)return 4;
else if(keyXY==0xDE)return 5;
else if(keyXY==0xDD)return 6;
else if(keyXY==0xDB)return 7;
else if(keyXY==0xD7)return 8;
else if(keyXY==0xBE)return 9;
else if(keyXY==0xBD)return 10;
else if(keyXY==0xBB)return 11;
else if(keyXY==0xB7)return 12;
else if(keyXY==0x7E)return 13;
else if(keyXY==0x7D)return 14;
else if(keyXY==0x7B)return 15;
else if(keyXY==0x77)return 16;
}
return 0;
}
void main()
{
unsigned char key=0;
P0=KeyImage[key];
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
6.4X4.rar
(61.92 KB, 下载次数: 17)
2017-11-11 20:47 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1