- #include "stc15f2k60s2.h"
- unsigned char const z[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};//7段数码管段码表共阳
- unsigned char code c[]={0x08,0x10,0x20,0x40};//数码管扫描
- sbit Beep = P3^1 ; //置位蜂鸣器IO口
- char m=0;
- unsigned char i,j,k,a,b;
- //独立按键定义
- sbit K1 = P0^0;
- void delayms(unsigned int m)
- {
-
- for(a=0;a<5000;a++)
- for(b=0;b<m;b++);
-
- }
- void delay(unsigned char uams) // 延时子程序
- {
- while(uams--);
- }
- void main()
-
- //主函数
- {
- unsigned char m;
- while(1)
- {
- P55=0;
- delayms(500);
- P55=1;
- delayms(500);
- if(K1==0) //按键按下更新m值
- {
- delayms(100); //去抖
- if(K1==0)
- m=~m;
- }
-
- if(m==1) //通过m值判断蜂鸣器响
- {
- Beep=~Beep, //蜂鸣器声音跳动
- delay(100);
-
- {
- for(a=0;a<10;a++) ///千位
- for(b=0;b<10;b++) ///百位
- ///十位
- for(j=0;j<10;j++) ///个位
- for(k=0;k<50;k++) /// 延时循环语句
- for(i=0;i<4;i++) /// 扫描
- {
- P3=c[i];
- switch(i) ///送显示函数
- {
- case 2: P1=z[j];
- break;
- case 1:
- P1=z[b];
- break;
- case 0:
- P1=z[a];
- break;
- }
- }
-
- }
- }
复制代码 |