资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
#include #define uchar unsigned char#define uint unsigned intuchar num,a4=0,b4=0,i=0,j=0,k=0,key_flag;uint value;unsigned char code distab116=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, /共阳数码管段选码表,无小数点 0x7f,0x6f;unsigned char code distab16=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87, /共阳数码管段选码表,有小数点 0xff,0xef;void delay(unsigned int a );void delay_100us(uint z)/延时程序uchar x,y;for(x=0;xz;x+)for(y=0;y100;y+);void keyscan()/4*4矩阵键盘扫描程序uchar cc_h,cc_l,cc;P2=0xf0;cc_h=P2&0xf0;if(cc_h!=0xf0)delay_100us(10);cc_h=P2&0xf0;if(cc_h!=0xf0)cc_h=P2&0xf0;P2=0x0f;cc_l=P2&0x0f;cc=cc_h+cc_l;while(cc_l!=0x0f)cc_l=P2&0x0f;switch(cc)case 0xee: num=1;if(key_flag=1)bj=num;j+;elseai=num;i+;break;case 0xde: num=2;if(key_flag=1)bj=num;j+;elseai=num;i+;break;case 0xbe: num=3;if(key_flag=1)bj=num;j+;elseai=num;i+;break;case 0x7e: num=4;value+=100;break;case 0xed: num=5; if(key_flag=1)bj=num-1;j+;elseai=num-1;i+;break;case 0xdd: num=6;if(key_flag=1)bj=num-1;j+;elseai=num-1;i+;break;case 0xbd: num=7; if(key_flag=1)bj=num-1;j+;elseai=num-1;i+;break;case 0x7d: num=8;value-=100;break;case 0xeb: num=9; if(key_flag=1)bj=num-2;j+;elseai=num-2;i+;break;case 0xdb: num=10; if(key_flag=1)bj=num-2;j+;elseai=num-2;i+;break;case 0xbb: num=11; if(key_flag=1)bj=num-2;j+;elseai=num-2;i+;break;case 0x7b: num=12;value+=500;break;case 0xe7: num=13;value-=500;break;case 0xd7: num=14;if(key_flag=1)bj=0;j+;elseai=0;i+;break;case 0xb7: num=15;key_flag=1;break;/小数点标志位case 0x77: num=16;value=a0*1000+b0*100+b1*10+b2;for(i=0;i9&num=4)/不能让数码管显示超过9.9qian=0;bai=0;P1=0xbf;P0=distabqian;delay(1200); /扫描间隙延时P1=0x7f;P0=distab1bai;delay(1200); /扫描间隙延时value=0;/这里是到9.9之后不再增加,如果是要重新开始从0.1-9.9则可以设为198!elseP1=0xbf;P0=distabqian;delay(1200); /扫描间隙延时P1=0x7f;P0=distab1bai;delay(1200); /扫描间隙延时 void main()/主程序入口num=0xff;P2=0xff;value=0;for(i=0;i4;i+)ai=0;bi=0;i=0;j=0;key_flag=0;k=0;while(1)keyscan();/DA显示程序 Show(value);P3=(value/50);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号