|
改為靜態(tài)數(shù)碼管和動(dòng)態(tài)數(shù)碼管同時(shí)顯示
- #include <reg52.h>
- #define LED1 P1//靜態(tài)數(shù)碼管
- #define LED2 P0//動(dòng)態(tài)數(shù)碼管
- sbit c=P2^7;
- sbit b=P2^6;
- sbit a=P2^5;
- sbit k1=P3^2;
- sbit k2=P3^3;
- unsigned char code num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- unsigned char i,j,k;
- bit t;
- void delay(unsigned int time)
- {
- unsigned int i,j;
- for(i=0;i<time;i++)
- for(j=0;j<125;j++);
- }
- void main()
- {
- while(1)
- {
- if(!k1||!k2)
- {
- if(++k>=10 && t==0)//消抖10ms
- {
- t=1;
- if(!k1 && j<9)
- j++;
- if(!k2 && j>0)
- j--;
- }
- }
- else//松手
- {
- k=0;
- t=0;
- }
- LED1=num[j];//1位靜態(tài)顯示
- //8位動(dòng)態(tài)顯示
- LED2=0x00; //消隱
- P2&=0x1f; //位清0
- P2|=(i<<5); //送位碼
- LED2=num[i];//送段碼
- i=++i%8; //位計(jì)數(shù)
- delay(1); //延時(shí)
- }
- }
復(fù)制代碼
|
|