按下16个矩阵键盘依次在数码管上显示1-16的平方 如按下第一个显

2020-05-06 10:45

按下16个矩阵键盘依次在数码管上显示1-16的平方。如按下第一个显示1,第二个显示4... Proteus仿真时,用的是元件库自带的矩阵键盘,分别代表1-16,仿真图如下:

#include

#define uint unsigned int #define uchar unsigned char void init();//初始化子程序 void delay(uint);//延时子程序 void display(uint);//显示子程序 uint keyscan();//按键扫描子程序 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; uchar temp; uint num; void main() { init(); while(1) display(keyscan()); }

void init() { num=0;

P2=0; P1=0xff; }

void delay(uint ms) { uint x,y; for(x=ms;x>0;x--) for(y=110;y>0;y--); }

void display(uint a) { uchar bai,ge,shi; if(a==0) { P2=0; P1=0xff; } else { if(a<10) { P2=table[a]; P1=0xfe; } else if(a<100) { shi=a/10; ge=a; P2=table[shi]; P1=0xfe; delay(1); P1=0xff; P2=table[ge]; P1=0xfd; delay(1); P1=0xff; } else if(a<1000) { bai=a/100; shi=a0/10; ge=a;

P2=table[bai]; P1=0xfe; delay(1); P1=0xff; P2=table[shi]; P1=0xfd; delay(1); P1=0xff; P2=table[ge]; P1=0xfb; delay(1); P1=0xff; } } }

uint keyscan() { P3=0xfe; temp=P3; if(temp!=0xfe) { delay(5); temp=P3; if(temp!=0xfe) { switch(temp) { case 0xee:num=1;break; case 0xde:num=4;break; case 0xbe:num=9;break; case 0x7e:num=16;break; } } while(temp!=0xfe) temp=P3; } P3=0xfd; temp=P3; if(temp!=0xfd) {

}

delay(5); temp=P3;

if(temp!=0xfd) { switch(temp) { case 0xed:num=25;break; case 0xdd:num=36;break; case 0xbd:num=49;break; case 0x7d:num=64;break; } }

while(temp!=0xfd) temp=P3;

P3=0xfb; temp=P3;

if(temp!=0xfb) { delay(5); temp=P3; if(temp!=0xfb) { switch(temp) { case 0xeb:num=81;break; case 0xdb:num=100;break; case 0xbb:num=121;break; case 0x7b:num=124;break; } } while(temp!=0xfb) temp=P3; }

P3=0xf7; temp=P3;

if(temp!=0xf7) { delay(5); temp=P3;

}

if(temp!=0xf7) { switch(temp) { case 0xe7:num=169;break; case 0xd7:num=196;break; case 0xb7:num=225;break; case 0x77:num=256;break; } } while(temp!=0xf7) temp=P3; }

return num;


按下16个矩阵键盘依次在数码管上显示1-16的平方 如按下第一个显.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:fm2010神级球员推荐

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: