- #include<reg51.h>
- void main(){
- TMOD = 0x01; //设置定时器工作模式
- TH0 =0xB1; //计时器高位值
- TL0 =0XE0; //计时器低位值
- TR0 = 1; //打开计时器
-
- while(1){
- unsigned int conter,i,j; //定义变量
- unsigned int bits[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xa7,0xa1,0x86,0x8e};
-
-
- if(1 == TF0){ //tf0值位1时,表示设定时间已到,溢出
- TF0 = 0; //TF0 进行软件清零
- TH0 =0xB1; //重新对计时器赋值
- TL0 =0XE0; //重新对计时器赋值
- conter++; //每次定时到了,计数器加1
- }
- if(50 == conter){
- P0 =bits[i]; //左移,灭1亮7
- P1=~(1<<j);
- j++;
- i++; //位移后对bits值执行加1操作
- conter=0;//对conter值赋0操作
- if(16 ==i){//
- i = 0;
- }
- if(4 == j){
- j = 0;
- }
- }
- }
- }
复制代码 |