本文主要是介绍C语言 | 基于DS1302 的万年历实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
博主github:https://github.com/MichaelBeechan
博主CSDN:https://blog.csdn.net/u011344545
#include<reg52.h>
#include"xianshi.h"
sbit DQ=P1^0;
sbit io=P3^4; // 1302通信允许
sbit SCLK=P3^6; // 1302串行数据的位同步脉冲信号
sbit RST=P3^5; // 1302双向串行数据传送
sbit ACC7=ACC^7;
sbit ACC0=ACC^0;
uchar tab[7];
uchar year[12]={2,0,0,0,0x2d-0x30,0,0,0x2d-0x30,0,0,0x20-0x30,0x20-0x30};
uchar week[7][3]={"Mon","Tue","Wen","Thu","Fri","Sat","Sun"};
uchar date[8]={0,0,0x3a-0x30,0,0,0x3a-0x30,0,0};
uchar data disdata[4];
uint tvalue;//温度值
uchar tflag;void write1302(uchar date)//向ds1302写数据
{uchar i;SCLK=0; //初始时钟线置为0ACC=date;for(i=8;i>0;i--) //开始传输8个字节的数据{io=ACC0; //取最低位,注意DS1302的数据和地址都是从最低位开始传输
这篇关于C语言 | 基于DS1302 的万年历实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!