write in front  
大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流
欢迎各位→点赞 + 收藏⭐️ + 留言​ 

本系列哔哩哔哩江科大51单片机的视频为主以及自己的总结梳理 

前言:

本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。

引用:

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

​​​​​​c51语言变量语句意思,C51中循环语句-CSDN博客

正文:

0. 概述

在淘宝上购买了江协科技51单片机开发板套件(普中科技STC51单片机A2型号),就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。

术语和缩略语:

缩写全称说明
RTCReal Time Clock实时时钟

1. DS1302实时时钟芯片

DS1302实时时钟芯片引脚定义如下

引脚描述
VCC2双供电配置中的主电源供应管脚
VCC1 VCC1 连接到备用电源,在主电源失效时保持时间和日期数据
X1接外部晶振 32.768KHz
X2接外部晶振 32.768KHz
GND接地
SCLK串行时钟
I/O输出输出
CE使能控制位

CE使能位控制对DS1302时间寄存器的读写,当CE=0时对寄存器的读写无效。注意CE为并不影响DS1302的计时部分,计时CE=0 DS1602的计时部分也会正常计时。

DS1302内部模块框图

DS1302命令字:

  • MSB7:第7位必须为1
  • MSB6:第6位为0时表示实时时钟数据,为1表示内部RAM数据。
  • MSB5~MSB1:共5位表示寄存器地址
  • MSB0:第0位为0表示写,为1表示读。

DS1302单字节读/写时序:

  • 单字节读指令时序:
      CE为1高电平,使能DS1302读写。
      SCLK串行时钟每次上升沿,I/O口上的数据一位移动到DS1302的移位寄存器中,I/O发送数据时先发送LSB最低位。SCLK 经过8个时钟上升沿之后,DS1302命令字传输完成。
      接下来,在SCLK的时钟下降沿DS1302将命令字中要读取的指定地址的寄存器内容的一位送到I/O,SCLK每一次时钟下降沿指定要读取寄存器的下一位输出到I/O,经过8个时钟下降沿之后,要读取指定地址的寄存器里的值输出完成。DS1302寄存器读取时LSB先输出。

  • 单字节写指令时序:
    CE为1高电平,使能DS1302读写。
    SCLK串行时钟每次上升沿,I/O口上的数据一位移动到DS1302的移位寄存器中,I/O发送数据时先发送LSB最低位。SCLK 经过8个时钟上升沿之后,DS1302命令字传输完成。
      接下来,要写入的数据的D0位写到I/O,SCLK串行时钟每次上升沿,I/O口上的数据一位移动到DS1302的移位寄存器中,SCLK 经过8个时钟上升沿之后要写入的数据 D0~D7写入到寄存器完成。

注意:

,SCLK时钟一直是由单片机控制输出的,DS1302按照SCLK时钟的时序从I/O口读取数据到移位寄存器,或者从移位寄存器输出数据到I/O口。

DS1302的寄存器地址定义

2. 开发板DS1302电路原理图

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部