文档详情

I2C存储器读写(计数器,并能断电存储).doc

发布:2017-04-24约2.67万字共20页下载文档
文本预览下载声明
任务二:I2C存储器读写(计数器,并能断电存储) 实验原理 1)I2C总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需 的包括总线裁决和高低速器件同步功能的高性能串行总线。 2)I2C信号线 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。 图  SEQ 图表 \* ARABIC 3 I2C总线框图 3)I2C总线的数据传送 a)数据位的有效性规定 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。 图  SEQ 图表 \* ARABIC 4 SDA与SCL的工作时序图 b) 起始和终止信号 SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号 SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。 c) I2C总线的数据传送速率 I2C总线的通信速率受主机控制,能快能慢,最高速率限制为100Kb/s d) I2C总线的数据传送格式 主机向从机发送数据 从机向主机发送数据 图  SEQ 图表 \* ARABIC 5 I2C总线的数据传送格式 S:起始位 SA: 从机地址,7位 W/:写标志位,1位 R:读标志位,1位 A:应答位,1位 A/:非应答位,1位 D:数据,8位 P:停止位 阴影:主机产生的信号 无阴影:从机产生的信号 4)总线的寻址 I2C总线协议有明确的规定:采用7位的寻址字节(寻址字节是起始信号后的第一个字节)。 寻址字节的位定义 D7~D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机 向从机写数据,为“1”时表示主机由从机读数据。 主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据R/位将自己确定为发送器或接收器。 从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多 个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。 任务三: 要求:设计一个简单系统,每10S进行温度采集(结合电路与程序,分析指标),在液晶屏上显示当前温度和前一状态的温度,并将结果存入存储器,具备可将温度的存储结果与PC机通讯和数据发送功能,可以使用键盘设定温度高低限制值,达到限制值时报警。 实验设计思路 二、实验内容 蜂鸣器工作原理 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。原理图见图: 如图所示,蜂鸣器的负极经电阻R3接地,蜂鸣器的正极接到三极管的集电极C,三极管的基级B经过限流电阻R2后由单片机的P1.3引脚控制,当P1.3输出高电平时,三极管Q1截止,没有电流流过线圈,蜂鸣器不发声;当P1.3输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P1.3脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机P1.3引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P1.3输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。 SP2键盘控制 数据格式 1个起始位总是逻辑08个数据位(LSB)低位在前1个奇偶校验位奇校验1个停止位总是逻辑11个应答位仅用在主机对设备的通讯中数据发送时序 一个键盘发送值的例子: ????? 通码和断码是以什么样的序列发送到你的计算机从而使得字符G 出现在你的字处理软件里的呢?因为这是一个大写字母,需要发生这样的事件次序:按下Shift 键-按下G键-释放G 键-释放Shift 键。与这些时间相关的扫描码如下:Shift 键的通码12h,G 键的通码34h ,G 键的断码F0h 34h ,Shift 键的断码F0h 12h 。因此发送到你的计算机的数据应该是: 12h 34h F0h 34h F0h 12h DS18B20温度
显示全部
相似文档