通过按键控制数码管显示加一,减一,附件有需要的下载
单片机源程序如下:
- #include<reg51.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar shi,ge,shi1,ge1;
- unsigned char duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- uint m=0;
- uint n=99;
- sbit KB1=P3^2;
- sbit KB2=P3^4;
- void delay_S(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void Display(uint shi,uint ge)
- {
- P0=duanma[shi];
- P2=0xfd;
- delay_S(5);
- P0=0;
- P2=0xff;
-
- P0=duanma[ge];
- P2=0xfe;
- delay_S(5);
- P0=0;
- P2=0xff;
- }
- void Display1(uint shi1,uint ge1)
- {
- P1=duanma[shi1];
- P3=0xfd;
- delay_S(5);
- P1=0;
- P3=0xff;
-
- P1=duanma[ge1];
- P3=0xfe;
- delay_S(5);
- P1=0;
- P3=0xff;
- }
- void main(void)
- {
- while(1)
- {
- if(KB1==0)
- {
- delay_S(5);
- if(KB1==0)
- {
- m++;
- if(m>99) m=0;
- }
- while(!KB1);
- }
- shi=m/10;
- ge=m%10;
- Display(shi,ge);
-
-
- if(KB2==0)
- {
- delay_S(5);
- if(KB2==0)
- {
- n--;
- if(n<0) n=99;
- }
- while(!KB2);
- }
- shi1=n/10;
- ge1=n%10;
- Display1(shi1,ge1);
- }
- }
复制代码
所有资料51hei提供下载:
按键计数.zip
(48.41 KB, 下载次数: 11)
|