#include <STC15F2K60S2.H>
#include "ds1302.h"
unsigned char SMG[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char code READ_CK[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d};
unsigned char code WRITE_CK[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c};
unsigned char TIME[7]={0x30,0x59,0x23,0x17,0x10,0x06,0x21};
/*============ÈÕÀúʱÖÓ²ÎÊýÅäÖú¯Êý======================*/
void DS1302_Config()
{
unsigned char i;
Write_Ds1302(0x8e,0x00); //¹Ø±Õд±£»¤
for(i=0;i<7;i++)
{
Write_Ds1302(WRITE_CK[i],TIME[i]);
}
Write_Ds1302(0x8e,0x80); //´ò¿ªÐ´±£»¤
}
/*==========ÈÕÀúʱÖÓÊý¾Ý¶ÁÈ¡º¯Êý===========*/
void DS1302_ReadTime()
{
unsigned char i;
for(i=0;i<7;i++)
{
TIME[i]=Read_Ds1302 (READ_CK[i]);
}
}
void Delay(unsigned char t)
{
while(t--);
}
void SelectHC573(unsigned char channel)
{
switch(channel)
{
case 4: P2=(P2&0x1f) | 0x80; break;
case 5: P2=(P2&0x1f) | 0xa0; break;
case 6: P2=(P2&0x1f) | 0xc0; break;
case 7: P2=(P2&0x1f) | 0xe0; break;
}
}
void Display(unsigned char pos,unsigned char value) //ÊýÂë¹ÜÏÔʾ
{
SelectHC573(6);
P0=0x01<<pos;
SelectHC573(7);
P0=value;
}
void Display_All()
{
SelectHC573(6);
P0=0xff;
SelectHC573(7);
P0=0xff;
}
void DisplayTime() //ÊýÂë¹ÜÏÔʾʱÖÓ
{
Display(0,SMG[TIME[2]/16]);
Delay(100);
Display(1,SMG[TIME[2]%16]);
Delay(100);
Display(2,0xbf);
Delay(100);
Display(3,SMG[TIME[1]/16]);
Delay(100);
Display(4,SMG[TIME[1]%16]);
Delay(100);
Display(5,0xbf);
Delay(100);
Display(6,SMG[TIME[0]/16]);
Delay(100);
Display(7,SMG[TIME[0]%16]);
Delay(100);
Display_All();
}
void main()
{
DS1302_Config();
{
DS1302_ReadTime();
DisplayTime();
}
}
蓝桥杯单片机ds1302在数码管上显示时钟一直不变是怎么回事呀
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- suqingxiao 2022-01-21 15:34关注
main里面加个while试试
void main() { whilie(1) { DS1302_Config(); { DS1302_ReadTime(); DisplayTime(); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥50 有偿求qftp工具。能连接,下载文件,发送代码,windows环境,最好qt6 要qt creator写的
- ¥70 刚刚看到一个人的网站居然是通过cname访问的
- ¥15 Attributeerror:super object has no attribute '__sklearn_tags__'_'
- ¥15 逆置单链表输出不完整
- ¥15 宇视vms-B200-A16@R启动不了,如下图所示,在软件工具搜不到,如何解决?(操作系统-linux)
- ¥500 寻找一名电子工程师完成pcb主板设计(拒绝AI生成式答案)
- ¥15 关于#mysql#的问题:UNION ALL(相关搜索:sql语句)
- ¥15 matlab二位可视化能否针对不同数值范围分开分级?
- ¥15 已经创建了模拟器但是不能用来运行app 怎么办😭自己搞两天了
- ¥15 关于#极限编程#的问题,请各位专家解答!