-
大小: 65KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-10
- 語(yǔ)言: 其他
- 標(biāo)簽: DS1302??可調(diào)時(shí)鐘??
資源簡(jiǎn)介
基于ds1302的可調(diào)時(shí)鐘程序,已通過(guò)硬件調(diào)試!時(shí)鐘可調(diào),并帶有簡(jiǎn)單的鬧鐘功能,通過(guò)1602顯示,有proteus的仿真!

代碼片段和文件信息
#include
#include
#include
#include???????//DS1302驅(qū)動(dòng)程序
#include??????//LCD1302驅(qū)動(dòng)程序
?
//==========================
#define?uchar?unsigned?char
#define?uint?unsigned?int
//==========================
sbit?k1=P1^3;
sbit?k2=P1^1;
sbit?k3=P1^5;
sbit?beep=P3^7;
?
uchar?key1;
uchar?tab_time[8]={0010001001};????//時(shí)間
uchar?tab_ymdw[12]={200211001102120};???//年月日星期
uchar?tab_num[]=“0123456789:/?“;
uchar?tab_week[21]=“MonTeuWedThuFriSatSun“;
uchar?tab_ap[]=“AMPM“;
uchar?tab_t[]=“T:“tab_d[]=“D:“?alarm_time[]={0157};
//--------------------------
//-------?函數(shù)聲明?--------
void?lcd_disp();
void?trans();
void?key();
void?delay(uint);
void?display_set(uchar?uchar?uchar?);
void?music();
?void?display_char1(uchar?uchar?);
??void??display_char2(uchar?uchar?);
?
//==========================
//------?主函數(shù)?-----------
void?main()
{?
ds1302_init();????????//DS1302初始化
write_command(0x01);????????//LCD清屏
initial_lcd();?
delay(10);//LCD1602初始化
while(1)
???{???
????ds1302();??
????key();
???
????trans();
if(!key1)
????lcd_disp();
?
if(tab_1302[0]==alarm_time[0]&&tab_1302[1]==alarm_time[1]&&tab_1302[2]==alarm_time[2])
music();???
???}
}
//=============顯示函數(shù)============
???void?display_char2(uchar?adruchar?dat)
{???
write_command(0x80+0x40+adr);
write_data(dat);
}
void?display_char1(uchar?adruchar?dat)
{???
write_command(0x80+adr);
write_data(dat);
}
//=============音樂(lè)播放===========================
???void?music()
{??uint?ulnp=20;
while(p--)
{
??for(??ul=0;ul<150;ul++)
??{
???for(??n=0;n<30;n++);??
???beep=~beep;
??}
delay(200);
??for(ul=0;ul<150;ul++)
??{
???for(n=0;n<30;n++);??
???beep=~beep;?
??}
delay(800);
}
}
//==================設(shè)定顯示函數(shù)=========================
?void?display_set(uchar?puchar?adruchar?dat)
{
uchar?shigeij;
shi=dat/10;
ge=dat%10;//分離date的十位和個(gè)位數(shù)
if(p==1&&adr==13)
{write_command(?0xc0+13);?
????for(i=0;i<3;i++)
?????{???????????//星期
???????j=ge;???????????//星期
?????write_data(tab_week[(j-1)*3+i]);
???????}
???}
????
else??if(!p)
???write_command(0x80+adr);
else
???write_command(0xc0+adr);
write_data(?0x30+shi);
????write_data(?0x30+ge); ?
}??
//-----------------?數(shù)據(jù)轉(zhuǎn)換函數(shù)???---------------------------
void?trans()
{???
tab_time[0]=tab_1302[2]/10;???//小時(shí)十位????
tab_time[1]=tab_1302[2]%10;???//小時(shí)個(gè)位
tab_time[3]=tab_1302[1]/10;???//分十位
tab_time[4]=tab_1302[1]%10;???//分個(gè)位
tab_time[6]=tab_1302[0]/10;???//秒十位
tab_time[7]=tab_1302[0]%10;???//秒個(gè)位
tab_ymdw[2]=tab_1302[6]/10;???//年十位
tab_ymdw[3]=tab_1302[6]%10;???//年個(gè)位
tab_ymdw[5]=tab_1302[4]/10;???//月十位
tab_ymdw[6]=tab_1302[4]%10;???//月個(gè)位
tab_ymdw[8]=tab_1302[3]/10;???//日十位
tab_ymdw[9]=tab_1302[3]%10;???//日個(gè)位
tab_ymdw[11]=tab_1302[5];?????//星期?
}
?
void?lcd_disp()
{
??uchar?ij?;?????????//LCD1602寫(xiě)命令函數(shù)從第一行開(kāi)始顯
//------------------------?
???
?????for(i=0;i<2;i++)
?????displ
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????3506??2010-06-09?15:24??可調(diào)時(shí)鐘鬧鐘\ds1302.h
?????文件??????91553??2010-06-18?06:29??可調(diào)時(shí)鐘鬧鐘\DS1302可調(diào)時(shí)鐘.DSN
?????文件???????1650??2010-06-18?06:29??可調(diào)時(shí)鐘鬧鐘\DS1302可調(diào)時(shí)鐘.PWI
?????文件??????91566??2010-06-18?06:27??可調(diào)時(shí)鐘鬧鐘\Last?Loaded?DS1302可調(diào)時(shí)鐘.DBK
?????文件???????1665??2010-06-09?15:49??可調(diào)時(shí)鐘鬧鐘\LCD_1602A.h
?????文件??????25440??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘
?????文件??????10024??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.c
?????文件???????6342??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.hex
?????文件?????????48??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.lnp
?????文件??????18599??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.LST
?????文件??????30262??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.M51
?????文件??????30568??2010-06-18?06:28??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.OBJ
?????文件???????1311??2010-06-18?06:29??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.Opt
?????文件????????378??2010-06-18?06:29??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.plg
?????文件???????2126??2010-06-09?16:27??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘.Uv2
????.......??????1312??2010-06-11?07:06??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘_Opt.Bak
?????文件??????????0??2010-06-09?15:20??可調(diào)時(shí)鐘鬧鐘\可調(diào)時(shí)鐘_Uv2.Bak
?????目錄??????????0??2010-06-18?06:29??可調(diào)時(shí)鐘鬧鐘
-----------?---------??----------?-----??----
???????????????316350????????????????????18
評(píng)論
共有 條評(píng)論