- #include<reg52.h> //頭文件
- #define uchar unsigned char //宏定義
- #define uint unsigned int
- uchar code table[]={0x3f,0x06,0x5b, //建立數(shù)碼管數(shù)值表
- 0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
- 0x77,0x7c,0x39,0x5e,0x79,0x71};
- void delay(uint x) //延時函數(shù)
- {
- uint i,j;//局部變量
- for(i=x;i>0;i--)
- for(j=200;j>0;j--);
- }
- void main()
- {
- uint i,j;//局部變量
- while(1)
- {
- for(i=0;i<16;i++) //第一個數(shù)碼管顯示0-f
- {
- P1=0xf8;
- P2=table[i];
- delay(250);
- }
- for(i=0;i<500;i++) //動態(tài)掃描顯示0-7
- {
- P1=0xf8; P2=table[j++]; delay(1);//延時值得大小要適中
- P1=0xf9; P2=table[j++]; delay(1);
- P1=0xfa; P2=table[j++]; delay(1);
- P1=0xfb; P2=table[j++]; delay(1);
- P1=0xfc; P2=table[j++]; delay(1);
- P1=0xfd; P2=table[j++]; delay(1);
- P1=0xfe; P2=table[j++]; delay(1);
- P1=0xff; P2=table[j++]; delay(1);
- if(j==8)
- j=0;
- }
- }
- }
- /* 數(shù)碼管接P2口,低電平有效,
- 通過3-8譯碼器來控制那個數(shù)碼管亮
- */
復制代碼
|