好文档 - 专业文书写作范文服务资料分享网站

单片机常用总线讲解

天下 分享 时间: 加入收藏 我要投稿 点赞

. . ..

CE复位引脚有两种功能:①CE引脚接通控制逻辑,允许地址/命令序列送入移位寄存器;②CE引脚可以终止单字节或多字节数据的传送。当CE为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

时钟周期是下降沿跟随上升沿的序列,对于数据输入,则在时钟上升沿时数据必须有效,输出数据时,数据在时钟的下降沿输出。

如果在传送过程中将CE引脚置为低电平,则会终止此次数据传送,使I/O引脚变为高阻态。上电运行时,在VCC2.0V之前,CE必须保持低电平。只有在SCLK为低电平时,才能将CE置为高电平。

读数据/写数据如图8.2.3和图8.2.4

图8-17 单字节读

图8-18 单字节写 数据输入

紧跟写命令字节的8个SCLK之后的8个SCLK周期的上升沿,将数据写入DS1302,数据从低位开始写入。 数据输出

紧跟写命令字节的8个SCLK之后的8个SCLK周期的下降沿,将数据从DS1302输出。输出的第一个数据位出现在写命令字节的最后一位后的第1个下降沿。 多字节方式读写

通过对地址31寻址(地址命令位1~5全为1),则可以对时钟和RAM寄存器实现多字节读写操作,又称为突发模式。同样,地址命令位6选择时钟或RAM,而位0选择读或写。再多字节操作方式下,不能操作地址为9~31的时钟寄存器,也不能操作地址为31的RAM

.v .. ..

第八章 单片机常用总线讲解

寄存器。在多字节读写操作中,从地址0的0位开始。 时钟

时间与日期可以通过读DS1302的某些字节得到。通过写某些寄存器字节可以设置时间和日期,这些寄存器如表8-1所示。

表8-1 DS1302寄存器

表中每个寄存器都有读地址与写地址,前七个寄存器为:秒、分、小时、日期、月、星期、年,随后是写保护寄存器和充电保护寄存器。时间和日期以BCD格式保存。

小时寄存器的第7位为1,为12小时模式;位5显示AM/PM,当位5为1时,表示PM,为0时,表示AM。位7为0时是24小时模式,这时位5是小时的最高位。

秒寄存器的第7位为始终暂停位(CH),该位为1时,时钟停止,DS1302处于低功耗状态,消耗电流为100nA;该位为0时,启动时钟。

控制寄存器的第7位(WP)是写保护位,该位为0才能进行写时钟与RAM寄存器操作;为1时,阻止写操作。上电后该位状态不定,所以在写操作前应该先清除该位。 一些参数

表8-2 DS1302参数

. . ..

时序图

读数据与写数据时CE、SCLK和I/O之间的时序图8-19如图8-19与图8-20所示。 图中的时间参数如表8-3所示。由表8-3可以看出,芯片工作在5V,最小时间中最大的时间长度都小于1例如,

s,也就是说只要时间大于1

s,就可以满足DS1302芯片的动作要求。

s后才能跳到高电平。因此对已工

s。若第一条指令使CE跳到s,因此可以满足时序要求。

时间,在CE跳到高电平之后,SCLK应该在1

作在11.0592MHz的51单片机,其每条指令的执行时间大于1高电平,第二条指令使SCLK上跳到高电平,则间隔时间为1

表8-3 时间参数(条件:VCC=5V)

参数 数据与CLK建立时钟与数据保持时钟与数据延时 时钟低电平时钟高电平时钟频率 参数值 最小50ns 最小70ns 最大200s 最小250ns 最小250ns 直流 最大2MHz .v .. ..

第八章 单片机常用总线讲解

时钟上升与下降CE与CLK建立CLK与CE保持CE无效时间CE与I/O高阻SCLK与I/O高阻

, 最大500ns 最小1s 最小60ns 最小1s 最大70ns 最大70ns

图8-19 读数据时CE、SCLK、和I/O之间的时序图

图8-20 写数据时CE、SCLK和I/O之间的时序图 一些经典程序

●从DS1302读出一个字节数据的51单片机程序

sclk=0; //使sclk为低电平 ce=0; //使ce为低电平

ce=1; //ce信号上跳,到此DS1302已经准备好接收数据 i/o=a0; //将输出的命令a0送上i/o数据线 sclk=1; // sclk信号上跳

sclk=0; //返回低电平,为下次上跳做准备 i/o=a1; //将输出的命令a1送上i/o数据线

. . ..

sclk=1; // sclk信号上跳

sclk=0; //返回低电平,为下次上跳做准备 . . .

i/o=a7; //直到命令最后一位

sclk=1; // sclk信号上跳,到此为止,命令字节发送完毕 //以下为读数据操作

sclk=0; // sclk信号下跳,使DS1302的数据送上i/o线 clock_dat=1; //准双向口设置为输出 a0=i/o; //从i/o数据线上接收数据a0 sclk=1; //为下次下跳做准备 sclk=0; //下跳,使DS1302输出数据 a1=i/o; //接收数据 . . .

sclk=1; sclk=0;

a7=i/o; //接收最后一位数据a7 ce=0; //一次读操作完毕 sclk=1;

●向DS1302写入一个字节数据的51单片机程序

sclk=0; //使sclk为低电平 ce=0; //使ce为低电平

ce=1; //ce信号上跳,到此DS1302已经准备好接收数据 i/o=a0; //将输出的命令a0送上i/o数据线 sclk=1; // sclk信号上跳

sclk=0; //返回低电平,为下次上跳做准备 i/o=a1; //将输出的命令a1送上i/o数据线

.v .. ..

单片机常用总线讲解

....CE复位引脚有两种功能:①CE引脚接通控制逻辑,允许地址/命令序列送入移位寄存器;②CE引脚可以终止单字节或多字节数据的传送。当CE为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。时钟周期是下降沿跟随上升沿的序列,对于数据输入,则在时钟上升沿时
推荐度:
点击下载文档文档为doc格式
0xo5u5tf9k565jb3urou8mpoj7oc3w00zof
领取福利

微信扫码领取福利

微信扫码分享