• 大小: 7.85MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-21
  • 语言: 其他
  • 标签: DS1302  带闹钟  

资源简介

里面有仿真和代码,基于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个文件信息

评论

共有 条评论