標(biāo)題: 簡(jiǎn)易數(shù)字時(shí)鐘 [打印本頁(yè)]
作者: 黃先生1983 時(shí)間: 2016-12-18 23:28
標(biāo)題: 簡(jiǎn)易數(shù)字時(shí)鐘
簡(jiǎn)易數(shù)字時(shí)鐘
1、功能描述
用四個(gè)7段數(shù)碼管來(lái)顯示時(shí)間,并可通過(guò)按鍵來(lái)調(diào)整時(shí)間。
2、元器件清單
3、部分器件功能
74HC574鎖存器
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
程序流程圖
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image011.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image013.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.giffile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image017.gif
|
| file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif |
5、電路原理圖及仿真效果圖
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
附:程序
#include<reg52.h>
sbit hou_shi=P3^6;
sbit hou_ge=P3^7;
sbit min_shi=P3^5;
sbit min_ge=P3^4;
sbit sec_dian=P3^0;
int num=0,hou=23,min=59,sec=0;
/***************時(shí)鐘子程序*******************/
void clock()
{
if(num==20)
{
num=0;
sec++;
}
if(sec==60)
{
sec=0;
min++;
}
if(min==60)
{
min=0;
hou++;
}
if(hou==24)
{
hou=0;
}
}
/****************延時(shí)子程序******************/
void delay(void)
{
unsigned char a,b;
for(a=40;a>0;a--)
for(b=100;b>0;b--);
}
/****************分鐘顯示子程序******************/
void display_min(num_min)
{
inta,b;
a=num_min/10;
b=num_min%10;
min_shi=1; //開(kāi)鎖存器
switch(a)
{
case0:P2=0x3F;delay();break;
case1:P2=0x06;delay();break;
case2:P2=0x5B;delay();break;
case3:P2=0x4F;delay();break;
case4:P2=0x66;delay();break;
case5:P2=0x6D;delay();break;
case6:P2=0x7D;delay();break;
case7:P2=0x07;delay();break;
case8:P2=0x7F;delay();break;
case9:P2=0x6F;delay();break;
default:break;
}
min_shi=0; //關(guān)鎖存器
//delay(); //延時(shí)
min_ge=1;
switch(b)
{
case0:P2=0x3F;delay();break;
case1:P2=0x06;delay();break;
case2:P2=0x5B;delay();break;
case3:P2=0x4F;delay();break;
case4:P2=0x66;delay();break;
case5:P2=0x6D;delay();break;
case6:P2=0x7D;delay();break;
case7:P2=0x07;delay();break;
case8:P2=0x7F;delay();break;
case9:P2=0x6F;delay();break;
default:break;
}
min_ge=0;
}
/***************小時(shí)顯示程序*******************/
void display_hou(num_hou)
{
inta,b;
a=num_hou/10;
b=num_hou%10;
hou_shi=1;
//delay();
switch(a)
{
case0:P1=0x3F;delay();break;
case1:P1=0x06;delay();break;
case2:P1=0x5B;delay();break;
case3:P1=0x4F;delay();break;
case4:P1=0x66;delay();break;
case5:P1=0x6D;delay();break;
case6:P1=0x7D;delay();break;
case7:P1=0x07;delay();break;
case8:P1=0x7F;delay();break;
case9:P1=0x6F;delay();break;
default:break;
}
hou_shi=0;
//delay();
hou_ge=1;
switch(b)
{
case0:P1=0x3F;delay();break;
case1:P1=0x06;delay();break;
case2:P1=0x5B;delay();break;
case3:P1=0x4F;delay();break;
case4:P1=0x66;delay();break;
case5:P1=0x6D;delay();break;
case6:P1=0x7D;delay();break;
case7:P1=0x07;delay();break;
case8:P1=0x7F;delay();break;
case9:P1=0x6F;delay();break;
default:break;
}
hou_ge=0;
}
/***************閃爍燈*******************/
void display_sec(num_sec)
{
if(num_sec%2==0)
sec_dian=0;
if(num_sec%2==1)
sec_dian=1;
}
/****************主程序******************/
void main()
{
IE=0x8d; //開(kāi)總中斷(EA=1),開(kāi)定時(shí)器1(ET1=1),
//開(kāi)外部中斷1(EX1=1),開(kāi)外部中斷0(EX0=1).
TMOD=0x10; //選擇定時(shí)器1的工作方式為方式1
TH1=(65536-40000)/256; //裝初值
TL1=(65536-40000)%256;
TCON=0x45; //啟動(dòng)定時(shí)器1(TR1=1),設(shè)置INT0和INT1負(fù)邊沿觸發(fā)。
while(1)
{
clock();
display_sec(sec);
display_min(min);
display_hou(hou);
}
}
void time1() interrupt 3 //定義定時(shí)器1
{
TH1=(65536-40000)/256;
TL1=(65536-40000)%256;
num++;
}
void interrupt1() interrupt 2 //定義外部中斷1
{
hou++;
sec=0;
}
void interrupt0() interrupt 0 //定義外部中斷0
{
min++;
sec=0;
}
作者: Lang2i 時(shí)間: 2025-2-20 10:19
你這個(gè)是圖片上傳失敗了嗎?怎么全是路徑文件
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |