|
手機(jī)只有11位號(hào)碼,加一個(gè)空位,6位移動(dòng)循環(huán)顯示。
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit wela=P2^7;
- sbit dula=P2^6;
- uchar code welai[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
- uchar dis_buf[]={0x00,0x06,0x4f,0x3f,0x6d,0x06,0x6d,0x4f,0x7d,0x6f,0x4f,0x7d};//空,1,3,0,5,1,5,3,6,9,3,6
- void delay(uint z)
- {
- uint i,j;
- for(i=z;i>0;i--)
- for(j=125;j>0;j--);
- }
- void timing()
- {
- static uint k=0;
- uchar i,j;
- k++;
- if(k==500)
- {
- k=0;
- j=dis_buf[0];
- for(i=0;i<11;i++)
- dis_buf[i]=dis_buf[i+1];
- dis_buf[11]=j;
- }
- }
- /********************************
- 數(shù)碼管顯示程序
- ********************************/
- void display()
- {
- static uchar i=0; //分時(shí)顯示變量
- P0=0x00; dula=1; dula=0; //消隱
- P0=welai[i]; wela=1; wela=0; //送位碼
- P0=dis_buf[i]; dula=1; dula=0; //送段碼
- i++;
- i%=6;
- }
- void main()
- {
- while(1)
- {
- timing();
- display();
- delay(2);
- }
- }
復(fù)制代碼 |
|