发布网友 发布时间:2022-04-23 01:25
共3个回答
热心网友 时间:2023-10-10 00:53
万年历用的时钟芯片一般都是DS1302,会使用DS1302就基本没什么问题了,下面是我做过电子小闹钟写的DS1302头文件,希望能给你帮助#define uchar unsigned char
#define uint unsigned intvoid ds1302writebyte(uchar date) //写一个字节
{
uchar i;
for(i=8;i>0;i--)
{
scl=0;
date>>=1;
io=CY;
scl=1;
}
}void write1302(uchar com,uchar date) //写一个数据
{
ce=0;
scl=0;
io=0;
ce=1;
ds1302writebyte(com);
ds1302writebyte(date);
scl=0;
io=0;
ce=0;
}uchar read1302(uchar com) //读一个数据
{
uchar i,date;
ce=0;
scl=0;
io=0;
ce=1;
ds1302writebyte(com);
for(i=8;i>0;i--)
{
scl=0;
date>>=1;
if(io)
{
date=date|0x80;
}
scl=1;
}
scl=0;
io=0;
ce=0;
return (date);
}uchar ds1302bcd_asciidi(uchar date) //ds1302bcd码转ascii函数
{
date=date&0x0f;
date=date|0x30;
return (date);
}
uchar ds1302bcd_asciigao(uchar date,uchar type) //ds1302bcd码转ascii函数
{
switch(type)
{
case 's': date=date&0x7f; break;
case 'm': date=date&0x7f; break;
case 'h': date=date&0x7f; break;
}
date>>=4;
date=date&0x0f;
date=date|0x30;
return date;
}
热心网友 时间:2023-10-10 00:53
你好可以帮你设计的
热心网友 时间:2023-10-10 00:53
你想问什么?