資源簡介
里面有仿真和代碼,基于DS1302做的電子時鐘用的是數碼管顯示。

代碼片段和文件信息
/**********************ET-C52實驗開發板例程************************
*??名稱:DS1302時鐘芯片與數碼管及按鍵顯示屏的綜合應用
*??公司:武漢東方智達科技有限公司
*??網站:www.east027.com????http://shop73255907.taobao.com/
*??編寫:東方智達研究員
*??日期:2011--08--20
*???QQ?:?836730083
*??晶振:?11.0594MHZ
*??內容:DS1302時鐘芯片的應用,將時鐘數據用數碼管屏顯示。
******************************************************************/
#include?
#include?“ds1302.h“
#include?“key.h“
#define?uchar?unsigned?char
#define?uint?unsigned?int
bit?WATCH_TIME=1; //數碼管顯示時間標志位,默認情況下顯示時間
bit?WATCH_DATE=0; //數碼管顯示日期標志位
bit?SET_TIME=0; ????//數碼管顯示調時時的在調時間
bit?SET_DATE=0; //數碼管顯示在調日期
bit?SET_CLOK=0; //數碼管顯示在調鬧鐘的數值
bit?CLK; //開鬧鐘標志位
sbit?beef=P2^7; ?//蜂鳴器
sbit?led=P2^2; ?//數碼管之間的led小燈
uchar?tab_t[6]tab_c[6]tab_d[6]date[6]time[6]; ?//用來顯示調節時間、鬧鐘、日期時顯示相應數據
uchar?tiaosecond;//調時或設置鬧鐘時,相應的時分秒跳動
uchar?code?tabdu[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};/*共陰極數*/
uchar?code?tabwe[]={0xfe0xfd0xfb0xf70xef0xdf};
uchar?keyvaltiao=2;
uchar?hourminsec;
uchar?yearmonthday;
uchar?clkhclkmclks;
void?delay(uint?t)
{
uint?xy;
for(x=0;x for(y=0;y<40;y++);
}
//------------------------------------------
//??????????????數據轉換
//------------------------------------------
void?trans()
{
?date[0]=tab_1302[6]/10;?????//年十位
?date[1]=tab_1302[6]%10;?????//年個位
?date[2]=tab_1302[4]/10;?????//月十位
?date[3]=tab_1302[4]%10;?????//月個位
?date[4]=tab_1302[3]/10;?????//日十位
?date[5]=tab_1302[3]%10;?????//日個位
?time[0]=tab_1302[2]/10;?????//小時十位
?time[1]=tab_1302[2]%10;?????//小時個位
?time[2]=tab_1302[1]/10;?????//分十位
?time[3]=tab_1302[1]%10;?????//分個位
?time[4]=tab_1302[0]/10;?????//秒十位
?time[5]=tab_1302[0]%10;?????//秒個位
}
//------------------------------------------
//??????????????獲取時分秒的十位和個位
//------------------------------------------
void?Getval(uchar?hour1uchar?min1uchar?sec1)
{
tab_t[0]=hour1/10;
tab_t[1]=hour1%10;
tab_t[2]=min1/10;
tab_t[3]=min1%10;
tab_t[4]=sec1/10;
tab_t[5]=sec1%10;
}
//------------------------------------------
//?????????????獲取年月日的十位和個位?
//------------------------------------------
void?Getdate(uchar?year1uchar?month1uchar?day1)
{
tab_d[0]=year1/10;
tab_d[1]=year1%10;
tab_d[2]=month1/10;
tab_d[3]=month1%10;
tab_d[4]=day1/10;
tab_d[5]=day1%10;
}
//------------------------------------------
//???????????????初始化鬧鐘
//------------------------------------------
void?clkinit()
{
tab_c[0]=2;
tab_c[1]=4;
tab_c[2]=0;
tab_c[3]=0;
tab_c[4]=0;
tab_c[5]=0;
}
//------------------------------------------
//????????獲取在調鬧鐘的時分秒十位和個位?
//------------------------------------------
void?Getclok()
{
tab_c[0]=clkh/10;
tab_c[1]=clkh%10;
tab_c[2]=clkm/10;
tab_c[3]=clkm%10;
tab_c[4]=clks/10;
tab_c[5]=clks%10;
}
//------------------------------------------
//????????????? ?顯示實時時間
//------------------------------------------
void?dsptime() ??
{
uchar?i;
led=0;
for(i=0;i<6;i++)
{
P3=
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2012-12-06?17:21??10、DS1302?數碼管顯示?帶鬧鐘可調\
?????文件???????22465??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示
?????文件???????21473??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.LST
?????文件???????31927??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.M51
?????文件???????27005??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.OBJ
?????文件??????????48??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.__i
?????文件????????9465??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.c
?????文件????????6100??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.hex
?????文件??????????69??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.lnp
?????文件?????????436??2012-12-06?17:18??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.plg
?????文件???????57295??2012-12-06?17:21??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.uvopt
?????文件???????13770??2012-11-12?17:39??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示.uvproj
?????文件???????57295??2012-11-13?12:55??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示_uvopt.bak
?????文件???????13938??2012-11-06?20:19??10、DS1302?數碼管顯示?帶鬧鐘可調\DS1302?LCD1602顯示_uvproj.bak
?????文件??????124932??2012-11-16?12:18??10、DS1302?數碼管顯示?帶鬧鐘可調\Last?Loaded?時鐘.DBK
?????文件????????6376??2009-05-07?14:37??10、DS1302?數碼管顯示?帶鬧鐘可調\STARTUP.A51
?????文件???????14048??2012-11-07?11:36??10、DS1302?數碼管顯示?帶鬧鐘可調\STARTUP.LST
?????文件?????????749??2012-11-07?11:36??10、DS1302?數碼管顯示?帶鬧鐘可調\STARTUP.OBJ
?????文件???????????0??2012-11-06?14:52??10、DS1302?數碼管顯示?帶鬧鐘可調\display.h
?????文件????????3908??2012-11-06?11:22??10、DS1302?數碼管顯示?帶鬧鐘可調\ds1302.h
?????文件?????????893??2012-11-07?12:04??10、DS1302?數碼管顯示?帶鬧鐘可調\key.h
?????文件????????1232??2012-08-24?15:06??10、DS1302?數碼管顯示?帶鬧鐘可調\lcd1602.h
?????目錄???????????0??2012-11-11?16:12??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\
?????目錄???????????0??2012-11-19?11:37??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\低版本(字體會出現亂碼protel?99)\
?????文件??????158910??2012-11-11?16:05??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\低版本(字體會出現亂碼protel?99)\時鐘.pcb
?????目錄???????????0??2012-11-11?16:12??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\原版本(Altium?Designer?Winter?09)\
?????文件?????8214016??2012-11-11?16:05??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\原版本(Altium?Designer?Winter?09)\時鐘.PcbDoc
?????文件??????223900??2012-11-11?16:05??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\時鐘PCB.pdf
?????文件??????156688??2012-11-11?16:05??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘\時鐘原理圖.pdf
?????文件??????124937??2012-12-06?17:19??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘.DSN
?????文件????????1102??2012-12-06?17:20??10、DS1302?數碼管顯示?帶鬧鐘可調\時鐘.PWI
............此處省略0個文件信息
評論
共有 條評論