- /*8位共陽數(shù)碼管循環(huán)顯示0--F;*/
- #include<reg52.h>
- #include<intrins.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //共
- 陽數(shù)碼管顯示編碼0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;
- uchar code wela[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位選開關(guān)
- void delay(z) //延時(shí)函數(shù);
- {
- uint i,j;
- for(i=z;i>0;i--)
- for(j=100;j>0;j--);
- }
- void main() //主函數(shù);
- {
- uchar i;
- P2=wela[0]; //選擇第一個(gè)數(shù)碼管的第一位(位選)1111 1110
- i=0;
- do //do-while 循環(huán);
- {
- P0=table[i]; //數(shù)碼管的顯示賦值
- delay(500); //延時(shí)
- //P0=0x00; //消隱 0000 0000
- P2=_crol_(P2,1); //數(shù)碼管位選左移 1111 1101 以此類推
- i++;
- if(i==16) i=0; //判斷是否達(dá)到顯示16次后,重新顯示
- }
- while(1);
- }
復(fù)制代碼 |