ds1302
来源:互联网 发布:重装系统数据恢复 编辑:程序博客网 时间:2024/05/18 21:07
DS1302是 DALLAS 公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信,仅需三根I/O线:复位(RST)、I/O数据线、串行时钟(SCLK),(补充一点小知识:一般来讲,无论是哪种同步通讯类型的串行接口,都是对时钟信号敏感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿)。要想与ds1302通讯,就必须先了解它的控制字,如图所示,控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;位6:如果为0,则表示存取日历时钟数据,为1表示存取 RAM数据;位5至位1(A4~A0):指示操作单元的地址;位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入 DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个 SCLK脉冲的下降沿,读出 DS1302的数据,读出的数据也是从最低位到最高位。
程序还有些地方看不懂,就是关于写操作时CLK应该是上升沿,但此程序是下降沿,而且运行良好,改成上升沿反而不对了,很不理解,etc.
现在介绍下主要的几块程序:
void v_RTInputByte(ucharucDa)
{
}
ucharuc_RTOutputByte(void)
{
}
void v_W1302(uchar ucAddr,ucharucDa)
{
}
uchar uc_R1302(ucharucAddr)
{
}
以上就是对ds1302的给定地址读写操作了,下面是显示初始值的设定和记录时间子程序
void v_Set1302()//uchar*pSecDa)
{
}
voidv_Get1302()
{
}
然后是数码管显示内容和显示设置
void
{
}
voiddisplay2()
{
}
然后是主程序
void main()
{
}
这个程序是比较综合的除了中断没用到,其他的基本都用到了,其实若加进去整点报时或闹铃设置就更全面了,想着以后用1602做个时钟加进去这两个功能,试试吧。
- ds1302
- DS1302
- DS1302
- Ds1302
- DS1302
- ds1302
- DS1302
- DS1302
- DS1302程序
- DS1302 万年历
- DS1302读写
- DS1302组件
- 单片机--ds1302
- 【单片机】DS1302
- ds1302通信
- DS1302地址
- DS1302时钟
- ds1302的应用问题
- JZOJ 4676. 【NOIP2016提高A组模拟7.21】模板串
- Ajax跨域问题:跨域请求设置withCredentials
- node.js---入门学习
- 公办幼儿园教师要涨工资了???
- 来自滕州市全体农村学前教育一线教…
- ds1302
- 手机AT指令 AT+CMGS发信息_…
- Java实现邮箱找回密码
- 彼得-德鲁克的《创新与企业家精神》一书之分享活动收获
- 手机 SMS PDU 格式参考手册
- IPC-7351 LP Viewer的封装库…
- DS18B20的原理与应用
- JpaRepository 命名规范
- 少年,当你谈论飞翔的时候