登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
51单片机论坛
›
ds1302模块显示不出来时间就是000000,该怎么解决?
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版
ds1302模块显示不出来时间就是000000,该怎么解决?
[复制链接]
5339
0
lfen***
新手上路
发表于 2017-4-19 21:42:39
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
程序如下,
/****************************
DS1302内部函数
*****************************/
#ifndef _ds1302_h_
#define _ds1302_h_
sbit T_RST=P3^5;
sbit T_CLK=P3^6;
sbit T_IO=P3^4;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
typedef struct systemtime
{
uchar second;
uchar minute;
uchar hour;
uchar week;
uchar day;
uchar month;
uchar year;
uchar DateString[9];
uchar TimeString[9];
}systemtime; //定义的时间类型
/*向DS1302中写入1BYTE数据*/
void writeB(uchar ucda)
{
uchar i;
ACC=ucda;
for(i=8;i>0;i--)
{
T_IO=ACC0;
T_CLK=1;
T_CLK=0;
ACC=ACC>>1;
}
// T_IO=0;
}
/*从DS1302中读出1BYTE数据*/
uchar readB()
{
uchar i;
for(i=8;i>0;i--)
{
ACC=ACC>>1;
ACC7=T_IO;
T_CLK=1;
T_CLK=0;
}
return(ACC);
}
/*单字节读,向DS1302某地址中读出数据,
先写地址后写命令/数据*************/
uchar r_ds1302(uchar ucaddr)
{
uchar ucda;
T_RST=0;
T_CLK=0;
T_RST=1;
writeB(ucaddr);
ucda=readB();
T_CLK=1;
T_RST=0;
return(ucda);
}
/**********************************
读取 DS1302当前时间,
格式为:
秒,分,时,日,月,星期,年
**********************************/
void get_ds1302(systemtime *Time)
{
uchar readtime;
readtime = r_ds1302(0x81); //秒寄存器读操作0x81
Time->second = ((readtime&0x70)>>4)*10 + (readtime&0x0f); //十位+个位
readtime = r_ds1302(0x83); //分寄存器读操作0x83
Time->minute = ((readtime&0x70)>>4)*10 + (readtime&0x0f);
readtime = r_ds1302(0x85);
Time->hour = ((readtime&0x70)>>4)*10 + (readtime&0x0f);
readtime = r_ds1302(0x87);
Time->day = ((readtime&0x70)>>4)*10 + (readtime&0x0f);
readtime = r_ds1302(0x89);
Time->month = ((readtime&0x70)>>4)*10 + (readtime&0x0f);
readtime = r_ds1302(0x8d);
Time->year = ((readtime&0x70)>>4)*10 + (readtime&0x0f);
//将十进制数转换为液晶显示的ASCII值
Time->DateString[0] = Time->year/10 + '0';
Time->DateString[1] = Time->year%10 + '0';
Time->DateString[2] = '-';
Time->DateString[3] = Time->month/10 + '0';
Time->DateString[4] = Time->month%10 + '0';
Time->DateString[5] = '-';
Time->DateString[6] = Time->day/10 + '0';
Time->DateString[7] = Time->day%10 + '0';
Time->DateString[8] = '\0';
//将十进制数转换为液晶显示的ASCII值
Time->TimeString[0] = Time->hour/10 + '0';
Time->TimeString[1] = Time->hour%10 + '0';
Time->TimeString[2] = ':';
Time->TimeString[3] = Time->minute/10 + '0';
Time->TimeString[4] = Time->minute%10 + '0';
Time->TimeString[5] = ':';
Time->TimeString[6] = Time->second/10 + '0';
Time->TimeString[7] = Time->second%10 + '0';
Time->TimeString[8] = '\0';
}
#endif
动态
相关帖子
动态无功功率补偿装置在汽车焊装车间的应用———动态无功功率补
利驰电网电抗图CAD设计及管理解决方案
SIMADYND在邯钢连轧厂换辊系统中的应用———ApplicationofSIMAD
溅射薄膜压力传感器在装载机称重系统中的应用———溅射薄膜压力
UAS低压智能变配电系统概述———UAS低压智能变配电系统概述
基于LabVIEW的激光多谱勒信号处理系统———基于LabVIEW的激光多
伺服电机的几种制动方式
数码管动态实时显示ds1302的功能为什么实现不了?
请帮看一下这几种网络拓扑图那个更具有实际意义与用处
Max7221动态显示
举报
回复
11 个评论
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Protel,DXP,Altium论坛
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
数显驱动器原厂-数显LED显示驱动芯片VK1620
VK1620B是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、 数据锁
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
产品品牌:永嘉微电/VINKA 产品型号:VK1618 封装形式:SOP18/DIP18 概述 VK161
更多
精华推荐
抗干扰LED数码管显示屏驱动芯片/3线串行接
抗干扰能力强/点阵数显LED屏驱动/数码管驱
可支持14×4的点阵LED显示面板数码管LED驱
数显驱动器原厂-数显LED显示驱动芯片VK1620
抗干扰数显驱动数码管LED驱动芯片VK1618 SO
VK1616 SOP16/DIP16点阵LED数显驱动芯片/数
点阵数显驱动芯片/LED数码管显示屏驱动VK16
数显驱动电路LED显示驱动芯片VK1650 SOP16/
更多
社区学堂
抗干扰LED数码管显示屏驱动芯片/3线串
抗干扰能力强/点阵数显LED屏驱动/数码
抗干扰LED数码管显示屏驱动芯片/3线串行接
VK1Q68D是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片。内部集成有3线
抗干扰能力强/点阵数显LED屏驱动/数码管驱
VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3 线串
可支持14×4的点阵LED显示面板数码管LED驱
VK1624是一种数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁 存
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表