按键控制数码管显示数字加减.pptxVIP

  • 182
  • 1
  • 约1.06千字
  • 约 3页
  • 2020-09-15 发布于广东
  • 举报
学 海 无 涯 #includereg52.h#define uchar unsigned char #define uint unsigned int uint num=0,num1=0;sbit key1=P3^0; sbit key2=P3^1; sbit key3=P3^2; sbit key4=P3^3;uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void delayms(uint x){uint i,j; for(i=x;i0;i--)for(j=110;j0;j--);}void display(uint num){uint shi,ge; shi=num/10; ge=num%10; P0=table[shi]; P1=0xfd; delayms(5);P0=table[ge]; P1=0xfe; delayms(5);}void keyscan(){if(key1==0){delayms(10); if(key1==0){num1++; if(num1==60)num1=0; while(!key1)display(num1);}}if(key2==0){delayms(10); if(key2==0)学 海 无 涯 {if(num1==0) num1=60; num1--; while(!key2)display(num1);}}if(key3==0){delayms(10); if(key3==0){num1=0; while(!key3)display(num1);}}if(key4==0){delayms(10); if(key4==0){TR0=~TR0;while(!key4) display(num1);}}}void main(){TMOD=0x01; TH0=(65536-45872)/256; TL0=(65536-45872)%256; EA=1;ET0=1;while(1){keyscan(); display(num1);}}void T()interrupt 1{TH0=(65536-45872)/256; TL0=(65536-45872)%256;num++;学 海 无 涯 if(num==20){num1++; num=0; if(num1==60) num1=0;}}

文档评论(0)

1亿VIP精品文档

相关文档