- #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;
- }
- }
- }
- }
復制代碼 |