1、控制程序#include #include #define uchar unsigned char#define uint unsigned intsbit jc=P20;sbit led1=P21;sbit led2=P22;sbit led3=P23;sbit led4=P24;sbit star=P25;sbit stop=P26;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,0x39,0x5e,0x79,0x71,0x76,0x79,0x38,0x3f,0;uchar a,b,c
2、,d,flag,num,wei,key;uint m,n;void delay(uint z); void display(uchar a,uchar b,uchar c,uchar d);void keyscan() uchar temp;P1=0xfe; temp=P1; temp=temp&0xf0; if(temp!=0xf0) delay(10); temp=P1; temp=temp&0xf0; if(temp!=0xf0) temp=P1; switch(temp) case 0xee: key=1; break; case 0xde: key=2; break; case 0x
3、be: key=3; break; case 0x7e: key=10; break; while(temp!=0xf0) temp=P1; temp=temp&0xf0; P1=0xfd; temp=P1; temp=temp&0xf0; if(temp!=0xf0) delay(10); temp=P1; temp=temp&0xf0; if(temp!=0xf0) temp=P1; switch(temp) case 0xed: key=4; break; case 0xdd: key=5; break; /矩阵键盘扫描 case 0xbd: key=6; break; case 0x7
4、d: key=10; break; while(temp!=0xf0) temp=P1; temp=temp&0xf0; P1=0xfb; temp=P1; temp=temp&0xf0; if(temp!=0xf0) delay(10); temp=P1; temp=temp&0xf0; if(temp!=0xf0) temp=P1; switch(temp) case 0xeb: key=7; break; case 0xdb: key=8; break; case 0xbb: key=9; break; case 0x7b: key=10; break; while(temp!=0xf0
5、) temp=P1; temp=temp&0xf0; P1=0xf7; temp=P1; temp=temp&0xf0; if(temp!=0xf0) delay(10); temp=P1; temp=temp&0xf0; if(temp!=0xf0) temp=P1; switch(temp) case 0xe7: key=11; break; case 0xd7: key=0; break; case 0xb7: key=12; break; case 0x77: key=10; break; while(temp!=0xf0) temp=P1; temp=temp&0xf0; main(
6、) TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1; ET0=1; TR0=1; flag=0; wei=1; led1=1; led2=1; led3=1; led4=1; key=10; a=0; b=0; n=0; m=0; while(1) keyscan(); if(key=9 & wei=1) a=key; wei=2; key=10; /输入两位数 if(key0;t1-) / 延时子程序 for(y=110;y0;y-);void display(uchar a,uchar b,uchar c,ucha
7、r d) led1=0; led2=1; led3=1; led4=1; P0=tablea; delay(3); P0=table10; delay(1); led1=1; led2=0; led3=1; led4=1; /显示子程序 P0=tableb; delay(3); P0=table10; delay(1); led1=1; led2=1; led3=0; led4=1; P0=tablec; delay(3); P0=table10; delay(1); led1=1; led2=1; led3=1; led4=0; P0=tabled; delay(3); P0=table10; delay(1); void T0_time() interrupt 1 TH0=(65536-45872)/256; /中断程序 TL0=(65536-45872)%256; num+;
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2