第9章单片机串行扩展技术应用.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(三)数据输入输出I/O 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 DS1302的数据读写是通过I/O串行进行的,当进行一次读写操作时最少得读写两个字节:第一个字节是控制字节,就是一个命令,告诉DS1302是读还是写操作,是对RAM还是对CLOCK寄存器操作以及操作的址;第二个字节就是要读或写的数据了。 单字节写:在进行操作之前先得将CE(也可说是RST)置高电平,然后单片机将控制字的位0放I/O上,当I/O的数据稳定后,将SCLK置高电平 DS1302检测到SCLK的上升沿后就将I/O上的数据读取,然后单片机将SCLK置为低电平,再将控制字的位1放到I/O上。如此反复,将一个字节控制字的8个位传给DS1302,接下来就是传一个字节的数据给DS1302, 当传完数据后,单片机将CE置为低电平,操作结束。 单字节读:操作的一开始写控制字的过程和上面的单字节写操作是一样,但是单字节读操作在写控制字的最后一个位 SCLK还在高电平时,DS1302就将数据放到I/O上,单片机将SCLK置为低电平后数据锁存,单机机就可以读取I/O上的数据。如此反复,将一个字节的数据读入单片机。 读与写操作的不同:写操作是在SCLK低电平时单片机将数据放到I/O上,当SCLK上升沿时DS1302读取;而读操作是在SCLK高电平时DS1302放数据到I/O上,将SCLK置为低电平后,单片机就可从I/O上读取数据。 (四)DS1302的寄存器 1. 实时时钟/日历(12个字节) DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图9-19所示。 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 12/ 读寄存器 写寄存器 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 范围 81h 80h CH 10秒 秒 00-59 83h 82h 10分 分 00-59 85h 84h 0 10 时 时 1-12/0-23 AM/PM 87h 86h 0 0 10日 日 1-31 89h 88h 0 0 0 10月 月 1-12 8Bh 8Ah 0 0 0 0 0 周日 1-7 8Dh 8Ch 10年 年 00-99 8Fh 8Eh WP 0 0 0 0 0 0 0 - 图9-19 DS1302实时时钟/日历 小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高电平时,选择12小时模式。在12小时模式时,位5是AM/PM选择位 ,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。 秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。 控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。 2.静态RAM(31个字节) DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 DS1302中附加31字节静态RAM的地址如表9-11所示。 读地址 写地址 数据范围 C1H C0H 00-FFH C3H C2H 00-FFH C5H C4H 00-FFH . . . . . . . . . FDH FCH 00-FFH 表9-11 DS1302静态RAM地址 二、DS1302实时显示时间的软硬件 DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。另外,还可以在上面的电路中加入DS18B20,同时显示实时温度。只要占用CPU一个端口即可。 LCD还可以换成LED,还可以使用10位多功能8段液晶显示模块LCM101,内含看门狗(WDT)/时钟发生器及两种频率的蜂鸣器驱动电路,并有内置显示RAM,可显示任意

文档评论(0)

beautyeve + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档