- #include<reg51.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar dis_code[17]={//共阳数码管段码"0~f "
- 0xc0,0xf9,0xa4,0xb0,
- 0x99,0x92,0x82,0xf8,
- 0x80,0x90,0x88,0x83,
- 0xc6,0xa1,0x86,0x8e,0x00};
- void delay(uint y)
- {
- uchar i;
- while(y--)
- for(i=0;i<110;i++);
- }
- void main()
- {
- uchar i,j;
- uint k;
- while(1)
- {
- P2&=0x00;
- P0=dis_code[i];
- P2|=(0x01<<i);
- delay(1);
- i=++i%8;
- k++;
- if(k>=1000)
- {
- k=0;
- dis_code[16]=dis_code[0];
- for(j=0;j<16;j++)
- dis_code[j]=dis_code[j+1];
- }
- }
- }
复制代码 |