沈阳航空航天大学综合课程设计
附录Ⅲ 源程序
#include
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//*****************延时子程序*************************** void delay(uint i) {
uint j; for(;i>0;i--) for(j=0;j<125;j++); }
//**************矩阵键盘扫描子程序*********************** uint keyscan() {
uchar temp,keynum; P1=0xff;
P17=0;//**************扫描第一行********************** temp=P1; temp&=0x0f; if(temp!=0x0f) {
delay(10);
temp=P1; temp&=0x0f; if(temp!=0x0f) {
temp=P1;
13
沈阳航空航天大学综合课程设计
temp&=0x0f;
switch(temp) {
case 0x0e:keynum=0;break; }
while(temp!=0x0f) {
temp=P1; }
case 0x0d:keynum=1;break; case 0x0b:keynum=2;break; case 0x07:keynum=3;break;
temp&=0x0f; }
} P1=0xff;
P16=0;//**************扫描第二行********************** temp=P1; temp&=0x0f; if(temp!=0x0f) {
delay(10);
temp=P1; temp&=0x0f; if(temp!=0x0f) {
temp=P1;
temp&=0x0f; switch(temp) {
case 0x0e:keynum=4;break; }
14
case 0x0d:keynum=5;break; case 0x0b:keynum=6;break; case 0x07:keynum=7;break;
沈阳航空航天大学综合课程设计
while(temp!=0x0f) {
temp=P1; }
temp&=0x0f; }
} P1=0xff;
P15=0;//**************扫描第三行********************** temp=P1; temp&=0x0f; if(temp!=0x0f) {
delay(10);
temp=P1; temp&=0x0f; if(temp!=0x0f) {
temp=P1;
temp&=0x0f; switch(temp) {
case 0x0e:keynum=8;break; }
while(temp!=0x0f) {
temp=P1; }
case 0x0d:keynum=9;break; case 0x0b:keynum=10;break; case 0x07:keynum=11;break;
temp&=0x0f; }
} P1=0xff;
15
沈阳航空航天大学综合课程设计
P14=0;//**************扫描第四行********************** temp=P1; temp&=0x0f; if(temp!=0x0f) {
delay(10);
temp=P1; temp&=0x0f; if(temp!=0x0f) {
temp=P1;
temp&=0x0f; switch(temp) {
case 0x0e:keynum=12;break; }
while(temp!=0x0f) {
temp=P1; }
case 0x0d:keynum=13;break; case 0x0b:keynum=14;break; case 0x07:keynum=15;break;
temp&=0x0f; }
}
return keynum; }
//********************显示子程序************************* void Display(uint num) {
uint ge,shi,bai,qian; qian=num/1000; P0=table[qian]; P2=0xfe;
16
相关推荐: