欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機6位數碼管電子鐘的設計原理圖及源代碼 [打印本頁]

作者: MDS521    時間: 2021-3-6 15:22
標題: 單片機6位數碼管電子鐘的設計原理圖及源代碼
設計方案:
(1)時鐘由6位LED數碼管顯示,左邊兩位顯示小時,中間兩位顯示分鐘,右邊兩位顯示秒;
(2)時間能夠有按鍵調整,三個按鍵分別連接在單片機I/O口上,這三個按鍵的功能分別為切換、加、減;
(3)時間運行到鬧鐘設定時間時,鬧鐘響(持續響3秒)。
具體控制原理:SET鍵為切換鍵,按一下SET鍵,進入時間顯示的小時設定狀態;按兩下SET,進入時間顯示的分鐘設定狀態;按三下SET,進入定時的小時設定狀態;按四下SET,進入定時的分鐘設定狀態;按五下SET退出設定,進入當前時間顯示狀態,UP和DOWN鍵分別為當前狀態設定值加一鍵和減一鍵。
源程序:
#include<reg52.h>
unsigned char led[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};  //用一維數組定義0-9、橫杠、全滅
unsigned char a[8];     
unsigned char second=0,minute=0,hour=0;
unsigned char minute1=0,hour1=0;
unsigned char b[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //掃描
unsigned char k=0; unsigned int temp;   // 記錄毫秒為秒的變量
unsigned char M,S_flag; //M是模式,更新時間的種模式加上正常模式 S_flag閃爍標志
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit BEEP=P3^3;
void delay(unsigned n)       //0.2毫秒
{  
int x,y;   
for(x=0;x<n;x++)   
for(y=0;y<24;y++);
}  
void time1()
interrupt 3   //定時器中斷函數
{   
TH1=0xfc;     //定時ms   
TL1=0x18;   
temp++;   
if(temp==1000)   //配合定時器定時s   
{  
temp=0;  
second++;   
}  
if(second==59)  
{  
second=0;   
if(minute<59)  
minute++;  
else      
{
minute=0;   
hour++;   
hour%=24;      
}
}   
if(hour1==hour&&minute1==minute&&second<10)    //鬧鐘時間到   
{
if(M==0)   
BEEP=!BEEP;   
}      
if(temp%250==0)            //每ms        
S_flag=!S_flag;       //閃爍標志位取反     
if(k==8)  
k=0;   
P0=a[k];     
P2=b[k++];      
delay(1);     
P2=0xff;   
}        
void display()
{  
switch(M)  
{  
case 0:   
{   
a[0]=led[hour/10];   
a[1]=led[hour%10];   
a[2]=led[10];   
a[3]=led[minute/10];   
a[4]=led[minute%10];   
a[5]=led[10];   
a[6]=led[second/10];   
a[7]=led[second%10];   
}
break;  
case 1:   
{   
if(S_flag==1)   
{     
a[0]=led[hour/10];     
a[1]=led[hour%10];   
}   
else   
{
a[0]=led[11];   
a[1]=led[11];   
}   
a[2]=led[10];   
a[3]=led[minute/10];   
a[4]=led[minute%10];   
a[5]=led[10];   
a[6]=led[second/10];   
a[7]=led[second%10];   
}
break;  
case 2:
{   
a[0]=led[hour/10];   
a[1]=led[hour%10];   
a[2]=led[10];   
if(S_flag==1)   
{     
a[3]=led[minute/10];     
a[4]=led[minute%10];   
}   
else   
{     
a[3]=led[11];     
a[4]=led[11];   
}   
a[5]=led[10];   
a[6]=led[second/10];   
a[7]=led[second%10];   
}
break;  
case 3:   
{   
if(S_flag==1)   
{     
a[0]=led[hour1/10];     
a[1]=led[hour1%10];   
}   
else   
{     
a[0]=led[11];     
a[1]=led[11];   
}   
a[2]=led[10];   
a[3]=led[minute1/10];   
a[4]=led[minute1%10];
a[5]=led[11];   
a[6]=led[11];   
a[7]=led[11];   
}break;  
case 4:   
{   
a[0]=led[hour1/10];   
a[1]=led[hour1%10];   
a[2]=led[10];   
if(S_flag==1)   
{     
a[3]=led[minute1/10];     
a[4]=led[minute1%10];   
}   
else   
{     
a[3]=led[11];     
a[4]=led[11];   
}   
a[5]=led[11];   
a[6]=led[11];   
a[7]=led[11];   
}  
}

}   
剩余源代碼見附件

W_70`F{F$[%[V_Q9_5@V2CW.png (75.01 KB, 下載次數: 119)

原理圖

原理圖

6位數碼管電子鐘原理圖及源代碼.zip

22.75 KB, 下載次數: 67, 下載積分: 黑幣 -5


作者: usaboy    時間: 2021-3-6 20:51
excellent, thank you my friend.
作者: 127095053    時間: 2021-3-26 09:38
時鐘頻率很nice,設計很合理




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1