基于单片机的防盗报警器的毕业设计(6)

2020-05-08 08:30

3、数据传输时,总线要有一个稳定的数据状态,来保证数据为有效数据,它的要求是在SCL为高电平时,SDA必须保持电平稳定,不允许有跳变。编写单片机向总线送数据程序时则可以在SCL还在低电平时,把数据电平送到SDA,然后拉高SCL,这时SDA不应有电平跳变,延时后拉低SCL,再进行下一位的数据传送直到完成。在总线上读数据时也是只有在SCL为高时,SDA为有效数据。时序参看图3-3的“保持”。

4、数据传输后,总线要有一个STOP(结束位)位,来通知总线本次传输已结束,它的要求是SCL为高时,SDA有一个从低到高的电平跳变动作,正好和START位相反。时序参看图3-3的“停止”。

图3-3 I2C基本信号

5、I2C总线在每接收完一个字节(8个二进制位)后,在第九个时钟信号时,会在SDA上回应一个低电平的ACK应答信号,以此表明当前受控的器件已接收完一个字节,可以开始下一个字节的传送了。若未收到应答信号,由判断为受控单元出现故障。时序图可以参看图3-4。

图3-4 I2C的ACK信号

6、I2C总线在操作受控器件时,需要先发送受控器件的器件地址,24C04也不例外,在每次命令前需要先发送一个字节的器件地址和读写标识,也可称为器件录

址。图3-5是24C04的器件寻址命令中每个位所代表的意思。A1、A0位是器件地址,它是对应于芯片的A1、A0引脚。这样不难看出在同一总线可以挂4个24C04。器件地址字节中的R/W位是用于标识当前操作是读器件还是写器件,写器件时R/W位设置0,读器件时R/W位设置1。

图3-5 24C04的器件寻址命令

3.4.2 24C04的I2C总线基本操作

24C04的I2C总线基本操作包括写入单个字节、页写入、读当前地址数据、读任意地址数据、连续读取数据等。在本设计中使用到了写入单个字节、读当前地址数据、读任意地址数据、连续读取数据等操作,以下对这几个操作进行介绍。

1、单字节写入

写入字节指令每次只能向芯片中的一个地址写入一个字节的数据。首先发送开始位来通知芯片开始进行指令传输,然后传送设置好的器件地址字节,R/W位应置0,接着是分开传送十六位地址的高低字节,再传送要写入的数据,最后发送停止位表示本次指令结束。图3-6是写入单个字节的时序图。

图3-6 24C04的单字节写入时序

2、读当前地址数据

这种读取模式是读取当前芯片内部的地址指针指向的数据。每次读写操作后,芯片会把最后一次操作过的地址作为当前的地址。在这里要注意的是在微处理器接收完芯片传送的数据后不必发送给低电平的ACK给芯片,直接拉高SDA等待一个时钟后发送停止位。图3-7是读当前地址时序图。

图3-7 24C04的读当前地址数据时序

3、读任意地址数据

\读当前地址\可以说是读的基本指令,读任意地址时只是在这个基本指令之前加一个'伪操作',这个伪操作传送一个写指令,但这个写指令在地址传送完成后就要结束,这时芯片内部的地址指针指到这个地址上,再用读当前地址指令就可以读出该地址的数据。图3-8是读任意地址的时序图。

图3-8 24C04的读任意地址数据时序

4、连续读取

连续读取操作时只要在上面二种读取方式中芯片传送完读取数据后,微处理器回应给芯片一个低电平的ACK应答,那么芯片地址指针自动加一并传送数据,直到微处理器不回应并停止操作。图十二是连续读取的时序图。

图3-9 24C04的读连续读取时序

3.4.3 24C04的驱动子程序

由上述的分析,可编写24C04的驱动子程序,首先利用_nop()定义空操作宏,作为等待延时操作。然后利用sbit定义数据和时钟引脚。最后根据时序编写子程序。具体的程序参见附录。

4 Proteus仿真

本系统利用是英国Labcenter electronics公司出版的EDA工具软件Proteus 7.5 SP3进行系统的仿真,来调试系统的功能完整性。本章介绍利用Proteus进行系统仿真的主要流程及操作,其余部分可参考Proteus的帮助文档。 4.1 Proteus 7.5 SP3 界面

安装完Proteus后,打开Proteus软就就会出现如图4-1所示的操作界面。

图4-1 Proteus操作界面

图4-1中的原理图编辑窗口(The Editing Window),是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。其余各部分可参考有关书籍。

4.2 仿真流程

1、 添加元件到元件列表中

本例要用到的元件有:AT89S52、7805、LED、24C04、LED等。单击如图4-2所示的“P”按钮,出现挑选元件对话框,在对话框的 KEYWORDS 中输入 AT89C52,即可得到图4-3所示结果。

图4-2 Proteus的“P”按钮

图4-3 Proteus的器件选取

然后单击 OK,关闭对话框,这时元件列表中列出 AT89S52,以同样方式即可添加所需要的器件。最终结果如图4-4所示。

图4-4 Proteus中已选取的器件


基于单片机的防盗报警器的毕业设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018年对口升学幼师专业语文二模试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: