毕业设计论文--基于at89s52单片机电子万年历设计内容摘要:

始低电平期。 此时,低电平周期短的器件的时钟由低至高的跳变并不能影响 SCL 线的状态,于是这些器件将进入高电平等待的状态。 当所有器件的 时钟信号都上跳为高电平时,低电平期结束, SCL 线被释放返回高电平,即所有的器件都同时开始它们的高电平期。 其后,第一个结束高电平期的器件又将 SCL 线拉成低电平。 这样就在 SCL 线上产生一个同步时钟。 可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。 数据的传送 在数据传送过程中,必须确认数据传送的开始和结束。 当时钟线SCL 为高电平时,数据线 SDA 由高电平跳变为低电平定义为“开始”信号;当 SCL线为高电平时, SDA 线发生低电平到高电平的跳变为“结束”信号。 开始和结束信 号都是由主器件产生。 在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。 I2C 总线的数据传送格式是:在 I2C 总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前 7 位为地址码,第 8 位为方向位 R/W。 方向位为“ 0”表示发送,即主器件把信息写到所选择的从器件;方向位为“ 1”表示主器件将从从器件读信息。 开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送 信息则由第 8 位 R/W 确定。 在 I2C 总线上每次传送的数据字节数不限,但每一个字节必须为 8 位,而且每个传送的字节后面必须跟一个认可位(第 9 位),也叫应答位( ACK)。 每次都是先传最高位,通常从器件在接收到每个字节后都会响应,即释放 SCL 线返回高电平,准备接收下一个数据字节,主器件可继续传送。 如果从器件正在处理一个实时事件而不能接收数据时(例如正在处理一个内部中断,在这个中断处理完之前就不能接收 I2C 总线上的数据字节)可以使时钟 SCL 线保持低电平,从器件必须使 SDA 保持高电平,此时主器件产生 1 个结束信号 ,使传送异常结束,迫使主器件处于等待状态。 当从器件处理完毕时将释放 SCL 线,主器件继续传送。 当主器件发送完一个字节的数据后,接着发出对应于 SCL 线上的一个时钟( ACK)认可位,在此时钟内主器件释放 SDA 线,一个字节传送结束,而从器件的响应信号将 SDA 线拉成低电平,使 SDA 在该时钟的高电平期间为稳定的低电平。 从器件的响应信号结束后, SDA 线返回高电平,进入下一个传送周期。 总线竞争的仲裁 总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。 例如,多单片机系统中,可能在某一时刻有两个单片 机要同时向总线发送数据,这种情况叫做总线竞争。 I2C 总线具有多主控能力,可以对发生在 SDA 线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时 SDA 总线电平不符的那个器件将自动关闭其输出级。 总线竞争的仲裁是在两个层次上进行的。 首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。 由于是利用 I2C 总线上的信息进行仲裁,因此不会造成信息的丢失。 24C02 与单片机的接口非常简单,如图 所示。 A0, A1, A2为器件地址线, WP 为写保护引脚, SCL, SDA 为二线串行接口,符合 I2C 总线协议。 图 48 24C02 存储电路 液晶显示电路 显示器部分是由 HD61202 液晶显示控制驱动器和 HY12864 液晶显示器组成的,下面我们对其分别进行介绍。 液晶显示控制驱动器 HD61202 的特点 HD61202 液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器,它可直接与 8 位微处理器相连,它可与 HD61203 配合对液晶屏进行行、列驱动。 HD61202 是一种带有列驱动输出的液晶显示控制器,它可 与行驱动器 HD61203 配合使用,组成液晶显示驱动控制系统 [12]。 1 内藏 64 64 4096 位显示 RAM, RAM 中每位数据对应 LCD 屏上一个点的亮、暗状态; 2 HD61202 是列驱动器,具有 64 路列驱动输出; 3 HD61202 读、写操作时序与 68 系列微处理器相符,因此它可直接与 68系列微处理器接口相连; 4 HD61202 的占空比为 1/32~ 1/64。 液晶显示控制驱动器 HD61202 的引脚功能 HD61202 的引脚功能如下表 44 所示。 表 44 HD61202 的引脚功能 引 脚符号 状态 引脚名称 功能 CS1,CS2,CS3 输入 芯片片选端 CS1 和 CS2 低电平选通, CS3 高电平选通。 E 输入 读写使能信号 在 E 下降沿,数据被锁存(写)入 HD61202;在 E 高电平期间,数据被读出 R/W 输入 读写选择信号 R/W 1 为读选通, R/W 0 为写选通 RS 输入 数据、指令选择信号 RS 1 为数据操作 RS 0 为写指令或读状态 DB0DB7 三态 数据总线 RST 输入 复位信号 复位信号有效时,关闭液晶显示,使显示起始行为 0,RST 可跟 MPU 相连,由 MPU 控制;也可直接接 VDD,使之不起作用。 液晶显示控制驱动器 HD61202 的指令系统 HD61202 的指令系统比较简单,总共只有七种。 现分别介绍如下。 1 显示开 /关指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 1 1 1 1 1/0 当 DBO 1 时, LCD显示 RAM 中的内 容; DBO 0 时,关闭显示。 2 显示起始行( ROW)设置指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 显示起始行( 063) 该指令设置了对应液晶屏最上一行的显示 RAM 的行号,有规律的改变显示起始行,可以使 LCD 实现显示滚屏的效果。 3 页 PAGE 置指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1 页号( 07) 显示 RAM 共 64 行,分 8 页,每页 8 行。 4 列地址( Y Address)设置指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 显示列地址( 063) 设置 了页地址和列地址,就唯一确定了显示 RAM 中的一个单元,这样 MPU 就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。 5 读状态指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 0 BUSY 0 ON/OFF REST 0 0 0 0 该指令用来查询 HD61202 的状态,各参量含义如下: BUSY: 1内部在工作 0正常状态 ON/OFF: 1显示关闭 0显示打开 REST: 1复位状态 0正常状态 在 BUSY 和 REST 状态时,除读状态指令外,其它指令均不对 HD61202 产生作用。 在对 HD61202 操作之前要查询 BUSY 状态,以确定是否可以对 HD61202 进行操作。 6 写数据指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 写 数 据 7 读数据指令 R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 读 显 示 数 据 读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。 HY12864 的电路结构特点 HY12864 是使用 HD61202 作为列驱动器,同时使用 HD61203 作为行驱动器的液晶模块。 由于 HD61203 不与 MPU 发生联系,只要提供电源就能产生行驱动信号和各 种同步信号,比较简单,因此这就不做介绍了。 下面主要介绍以下 HY12864 这个模块的逻辑电路图。 HY12864 共有两片HD61202 和一片 HD61203,如下图 49 所示。 图 49 HY12864 的逻辑电路图 在 HY12864 中,两片 HD61202 的 ADC 均接高电平, RST 也接高电平,这样在使用 HY12864 时就不必再考虑这两个引脚的作用。 /CSA 跟 HD61202( 1)的 /CS1相连; /CSB 跟 HD61202( 2)的 CS1 相连,因此 /CSA、 /CSB 选通组合信号为 /CSA,/CSB 01 选通( 1), /CSA, /CSB 10 选通( 2)。 对于 HY12864,只要供给 VDD、VSS 和 V0 即可, HD61202 和 HD61203 所需的电源将由模。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。