单片机作息时间控制系统设计_第1页
单片机作息时间控制系统设计_第2页
单片机作息时间控制系统设计_第3页
单片机作息时间控制系统设计_第4页
单片机作息时间控制系统设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计(论文)单片机作息时间控制系统设计本科毕业设计(论文)目录第一章 绪 论 .31. 1 课题的提出及意义 .31. 2 设计的任务及要求 .3第二章 总体方案设计 .32. 1 芯片比较 .32.1.1 单片机选型 .32.1.3 存储器的选择 .72.1.4 继电器的选择 .82. 2 总体设计及系统原理 .9第三章 硬件设计 .103. 1 单片机部分 .103.1.1 AT89C52.103. 2 存储器部分 .133. 5 电源与复位电路部分 .233.5.1 电源部分 .233.5.2 复位电路 .233. 6 电铃和继电器部分 .243. 7 按键部分 .24第 四 章 软 件 设 计 .2541 主程序设计 .254. 2 子程序设计 .27第五章 系统安装与调试 .2851 软件调试 .2852 系统调试 .28参 考 文 献 .29本科毕业设计(论文)第一章 绪 论1. 1 课题的提出及意义单片机作息时间控制实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短的不便,实现代学校必不可少的设备。1. 2 设计的任务及要求1作息时间能控制电铃2作息时间能启动和关闭放音机单片机作息时间控制的功能如下: 使用 4 位七段显示器来显示现在的时间。 显示格式为“时分” 由 LED 闪动来作秒计数表示 具有 4 个按键来作功能设置,可以设置现在的时间及显示定时设置时间 一旦时间到则发出一阵声响,同时继电器启动,可以控制放音机开启和关闭。本科毕业设计(论文)第二章 总体方案设计2. 1 芯片比较2.1.1 单片机选型当今单片机厂商琳琅满目,产品性能各异。常用的单片机有很多种:Intel8051 系列、Motorola 和 M68HC 系列、Atmel 的 AT89 系列、台湾Winbond(华邦)W78 系列、荷兰 Pilips 的 PCF80C51 系列、Microchip 公司的PIC 系列、Zilog 的 Z86 系列、Atmel 的 AT90S 系列、韩国三星公司的 KS57C 系列 4 位单片机、台湾义隆的 EM-78 系列等。我们最终选用了 ATMEL 公司的AT89C52 单片机。AT89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 8Kbytes 的可反复擦写的只读程序存储器(PEROM)和 256bytes的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 FLASH 存储单元,功能强大 AT89C52 单片机适用于许多较为复杂控制应用场合。2.1.2 显示器接口芯片的选择LED 显示器接口芯片的选择常用的显示器接口芯片有CD4511,CD4513,MC14499,8279,MAX7219,74HC164 等,它们的功能有:1.CPU 接受来自键盘的输入数据,并作预处理;2.数据显示的管理和数据显示器的控制。CD4511 是 BCD 锁存,7 段译码,驱动器,但在显示 6 和 9 时,显示为 b 和 q,不是很好看。CD4513 是 BCD 锁存,7 段译码,驱动器(消隐),但现在市面上不好买。MC14499 为串行输入 BCD 码十进制译码驱动器,用它来构成单片机应用系统的显示器接口,可以大大减少 I/O 口线的占用数量。但是,由片内震荡器经过四分频的信号,经位译码后只能提供 4 个位控信号,使信号的采集受到限制;并且,MC19944 的价格偏高,也不经济。同样,8279 为INTEL 公司生产的通用键盘/显示器接口芯片,其内部设有 16*8 显示数据 RAM,若采用 8279 管理键盘和显示器,可以减少软件程序,从而减轻主机的负担,但我们同时也发现,由于其功能比较强大,不可避免将会使外围设备与操作过程复杂化,同时价格比较贵。对比一下 MAX7219 和74HC164 其占用资源少,且不需复杂的驱动电路。但 MAX7219 虽然比较好用,且一片能驱动四个数码管,但对于我们设计的系统来说,不需要很多数码管,此外 MAX7219 相对 74HC164 的价格也比较贵,所以我们最终选用 74HC164,下面对 MAX7219 作一下介绍。本科毕业设计(论文)特点:(1) 采用 3 线串行接口传送数据;(2) 内部有 8 字节显示静态 RAM 和 6 个特殊功能寄存器,相当于 14 个字节的RAM 单元。它们是可寻址的,即可以有选择的任意写入;(3) 只需一个外部电阻即可调节 LED 的段电流,并且允许程控方式 LED 通电的占空比而可方便的调节 LED 显示的亮度,或用于模拟亮度显示;(4) 可 LED 显示器的扫描个数;(5) 有不译码和 B 码两种显示模式,这种选择可做到位控,即各 LED 显示器可以有不同的显示方式:译码或不译码;(6) 含硬件动态扫描显示控制,可设置低功耗方式,可进行图条显示。引脚图(如图 2-1)图 2-1说明:引脚 名称 作用1 DIN 串行数据输入。在CLK上升沿时,数据被装入内部16位移位寄存器。2, 3, 58,10, 11DIG0DIG7 八个数字驱动器线路,来自共阴极显示器的反向电流。MAX7219当关闭的时候拉位输出到V+. 当关闭的时候MAX7221的位驱动器是高阻抗状态。4, 9 GND 地(两个GND引脚必须被连接在一起)LOAD 装载数据输入。串行数据的最后16位被锁存在LOAD的上升沿。12CS 片选输入。当/CS是低电平时穿行数据被装载到移位寄存器中。在/CS上升沿时串行数据的最后16位被锁存。本科毕业设计(论文)13 CLK 串行时钟输入。10MHz的最大比率。在CLK上升沿时,数据被转移到内部移位寄存器。在CLK下降沿时,数据从DOUT输出。在MAX7221中只有/CS是低电平时CLK输入被激活。1417,2023SEGASEG G,DP七段驱动和小数点驱动电源电流显示。在MAX7219中,当段驱动器被关闭,它就被接到地。当关闭以后MAX7221的段驱动器成高阻状态。18 ISET 通过一只电阻器(RSET)连接VDD来设置最高段电流(查阅选择RSET电阻器部分)。19 V+ 正供给电压。连接到+5V。24 DOUT 串行数据输出。进入DIN的数据16.5个时钟周期以后在DOUT有效。这个引脚常被用来链接MAX7219/MAX7221,没有高阻状态。工作原理简介数据(含地址)接收MAX7219 采用串行寻址方式,在传送的串行数据中包含有 RAM 的地址。按照时序的要求,单片机将 16 位二进制数逐位发送 DIN 端,在 CLK 上升延到来之前 DIN 必须有效,在 CLK 的每个上升延,DIN 被串行逐位移入 MAX7219 内部的16 位穿行寄存器中。设最先移入的数据是 D15,最后移入的数据是 D0,则移入 16位串行寄存器的数据是 D15-D0。为了有选择的将数据写入 8 个显示 RAM 或 6个特殊功能寄存器,D0D15 中,D8D11 四位作为 RAM 和特殊功能寄存器的地址,D0D7 作为写入显示数据或控制字。与并行数据传送相比,MAX7219 串行接收 D0D15 并存放到 16 位串行寄存器中的过程,相当于并行传送中,将并行数据和地址送到数据和地址总线上的过程。数据装载16 位接收寄存器将收到的 D0D7 位数据写入 RAM 或特殊功能寄存器是在数据装载信号控制下完成的。图 3-8 是 MAX7219 的数据接收装载(写入)时序图,由图可知,LOAD 必须在 15 个 CLK 下降延前由高变低,在 16 个 CLK 同时或之后由低变高(上升延) 。在 LOAD 的上升延,8 位数据 D0D7 写入以 4 位二进制数 D8D11 位地址的 RAM 或特殊功能寄存器中。显示扫描当显示模式设定后,写入显示 RAM 的数据将在控制器的控制下,按设定的显示模式,以动态扫描方式进行显示。MAX7219 内部显示 RAM 及特殊功能寄存器本科毕业设计(论文)显示 RAM(地址*1*8)地址为*1H 的 RAM 数据控制接 D0 引脚的显示器,地址为*2H 的 RAM 数据控制接 D1 引脚的显示器。译码方式寄存器(地址:*9H)该寄存器的 8 位二进制数的各位值分别控制着 8 个 LED 显示器的译码方式。当高电平时选择 BCD-B 码译码模式,当低电平时选择不译码模式。B 码译码的显示自行与现实数据的关系如下:显示数据(十六进制) 0 1 2 3 4 5 6 7 8 9 A B C D E FB 码字型 0 1 2 3 4 5 6 7 8 9 E H L P *其中,*代表全灭。小数点不译码,它由显示数据的 D7 位控制。扫描界限寄存器(地址:*BH)该寄存器的 D0D3 位数据设定值为 07,设定值表示显示器动态扫描个数为 18。停机寄存器(地址:*CH)当位 D0=0 时,MAX7219 处于停机状态;当 D0=1 时,处于正常工作状态。显示测试寄存器(地址:*FH)当位 D0=0 时,MAX7219 按设定模式正常工作;当 D0=1 时,处于测试状态。在该状态下,不管 MAX7219 处于什么模式,全部 LED 将按最大亮度接通显示。亮度寄存器(地址:*AH)及两度的调解或控制亮度可通过硬件和软件两种方法调解或控制。2.1.3 存储器的选择为了改善主 CPU 的资源与时序的分配,我们对 AT89C51 进行串行数据存储器的扩展。常用的存储芯片有很多,如 AT93C46/56/66,X5045。经过比较选择,最终选用了 XICOR 公司的 X5045。X5045 把三种常用的功能:看门狗定时器,电压控制和 EEPROM 组合在单个封装之内。这种组合降低了系统的成本并减少了对电路板空间的要求。看门狗定时器对微控制器提供了独立的保护系统。低 VCC 检测电路可以保护系统免受低电压的影响,同时 X5045 是串行 EEPROM 具有简单的三总线工作的串行外设接口,是一种有独特功能的高性能价格比存储器件。AT93C46/56/66 是 ATMEL 公司推出的低功耗、低电压电可擦除的可编程只读存储器。它采用 CMOS 技术和 Fairchild Semiconductor 公司的 Mi-croWire工业标准 3 线串行接口,具有 1Kb/2kB/4kB 的容量,并可通过 ORG 管脚配置成128*8/256*8/512*8 或 64*16/128*16256*16 等结构。该系列存储器可靠性高,能够重复写 100 万次,数据可以保存 100 年不丢失;采用 8 脚 PDIP/SOIC 封装本科毕业设计(论文)和 14 脚 SOI 封装(SOI 封装为 JEDEC 和 EIAJ 标准),与并行的 EEPROM 相比,AT93C46/56/66 可大大节省印制板空间,且接线简单,因而在多功能的精密测试仪中具有广阔的前途。引脚功能CS:片选信号。高电平有效,低电平时进入等待模式。在连续的指令之间,CS 信号必须持续至少 250ns 的低电平,才能保证芯片正常工作。CLK:串行时钟信号。在 CLK 的上升沿,操作码、地址和数据位进入器件或从器件输出。在发送序列时,CLK 最好不停止,以防止读/写数据的错误。DI:串行数据输入。可在 CLK 的同步下输入开始位、操作码、地址位和数据位。DO:串行数据输出。在 CLK 同步下读周期时,用于输出数据;而在地址擦/写周期或芯片擦/写周期时,该端用于提供忙/闲信息。VSS:接地。VCC:接5V 电源。ORG:存贮器构造配置端。该端接 VCC 或悬空时,输出为 16 位;接 GND 时,输出为 8 位。指令及时序地址擦指令(ERASE)该指令用于强迫指定地址中所有数据位都为“1”。一旦信息在 DI 端上被译码,就需使 CS 信号保持至少 250ns 的低电平,然后将 CS 置为高电平,这时,DO 端就会指示“忙”标志。DO 为“0”,表示编程正在进行;DO 为“1”,表示该指定地址的寄存器单元已擦完,可以执行下一条指令。擦/写允许指令(EWEN)由于在上电复位后AT93C46/56/66 首先将处于擦写不允许状态。故该指令必须在所有编程模式前执行,一旦该指令执行后,只要外部没有断电就可以对芯片进行编程。地址写指令(WRITE)写指令时,先写地址,然后将 16 位的或 8 位数据写入到指定地址中。当DI 端输出最后一个数据位后,在 CLK 时钟的下一个上升沿以前,CS 必须为低,且需至少保持 250ns,然后将 CS 置为高电平。需要说明的是:写周期时,每写一个字节需耗时 4ms。地址读指令(READ)读指令用于从指定的单元中把数据从高位到低位输出至 DO 端,但逻辑“0”位先于数据位输出。读指令在 CLK 的上升沿触发,且需经过一段时间方可稳定。为防止出错,建议在读指令结束后,再输出 2-3 个 CLK 脉冲。本科毕业设计(论文)芯片擦指令(ERAL)该指令可将整个存贮器阵列置为,其它功能与地址擦指令相同。芯片写指令(WRAL)该指令可将命令中指定的数据写入整个存贮器阵列,其它功能与地址写指令相同。该指令周期所花费时间的最大值为 30ms。擦/写禁止指令(EWDS)使用该指令可对写入的数据进行保护,操作步骤与擦/写允许指令相同。2.1.4 继电器的选择继电器是我们生活中常用的一种控制设备,通俗的意义上来说就是开关,在条件满足的情况下关闭或者开启。继电器的开关特性在很多的控制系统尤其是离散的控制系统中得到广泛的应用。从另一个角度来说,由于为某一个用途设计使用的电子电路,最终或多或少都需要和某一些机械设备相交互,所以继电器也起到电子设备和机械设备的接口作用。最常见的继电器要数热继电器,通常使用的热继电器适用于交流50Hz、60Hz、额定电压至 660V、额定电流至 80A 的电路中,供交流电动机的过载保护用。它具有差动机构和温度补偿环节,可与特定的交流接触器插接安装。时间继电器也是很常用的一种继电器,它的作用是作延时元件,通常它可在交流 50Hz、60Hz、电压至 380V、直流至 220V 的控制电路中作延时元件,按预定的时间接通或分断电路。可广泛应用于电力拖动系统,自动程序控制系统及在各种生产工艺过程的自动控制系统中起时间控制作用。 在控制中常用的中间继电器通常用作继电控制,信号传输和隔离放大等用途。此外还有电流继电器用来限制电流、电压继电器用来控制电压、静态电压继电器、相序电压继电器、相序电压差继电器、频率继电器、功率方向继电器、差动继电器、接地继电器、电动机保护继电器等等。正是有了这些不同类型的继电器,我们才有可能对不同的物理量作出控制,完成一个完整的控制系统。 除了传统的继电器之外,继电器的技术还应用在其他的方面,比如说电机智能保护器是根据三相交流电动机的工作原理,分析导致电动机损坏的主要原因研制的,它是一种设计独特,工作可靠的多功能保护器,在故障出现时,能及时切断电源,便于实现电机的检修与维护,该产品具有缺相保护,短路、过载保护功能,适用于各类交流电动机,开关柜,配电箱等电器设备的安全保护和限电控制,是各类电器设备设计安装的优选配套产品。该技术安装尺寸、接线方式、电流调整与同型号的双金属片式热继电器相同。是直接代替双金属片式热继电器的更新换代的先进电子产品。而其真正的原理还是继电器技术。 继电器技术发展到现在,已经和计算机技术结合起来,产生了可编程控制器的技术。可编程控制器简称作 PLC。它是将微电脑技术直接用于自动控制的先进装置。它具有可靠性高,抗干扰性强,功能齐全,体积小,灵活可扩,软件直接、简单,维护方便,外形美观等优点;以往继电器控制的电梯有几百个触点控制电梯的运行。有一个触点接触不良,就会引起故障,维修也相当麻烦,而 PLC 控制器内部有几百个固态继电器,几十个定时器/计数器,具备停电记忆本科毕业设计(论文)功能,输入输出采用光电隔离,控制系统故障仅为继电器控制方式的 10%。正因为如此,国家有关部门已明文规定从 1997 年起新产电梯不得使用继电器控制电梯,改用 PLC 微电脑控制电梯。 可以看出,继电器技术在日常生活中无所不在,而且和电脑的紧密结合更加增强了它的活力,使得继电器为我们的生活更好地服务。2. 2 总体设计及系统原理经比较我们选定单片机芯片为 AT89C52,存储器芯片为 X5045。在确定系统的大体形式之后,画出本系统的结构布局,电路原理如图 2-2所示。图 2-2显示电路自动复位电路 电源电路继电器电路单 片 机电铃电路本科毕业设计(论文)第三章 硬件设计3. 1 单片机部分3.1.1 AT89C52特点: 与 MCS-51 产品指令和引脚完全兼容 8K 字节可重擦写 FLASH 闪存 1000 次擦写周期 全静态操作:0Hz-24MHz 三级加密程序存储器 256X8 字节内部 RAM 32 个可编程 I/O 口线 3 个 16 位定时/计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式功能特性概述:AT89C52 提供以下标准功能:8K 字节 FLASH 闪存,256 字节内部 RAM,32个 I/O 口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C52 的芯片管脚图如图 3-1本科毕业设计(论文)图 3-1引脚功能说明:VCC电源电压GND地P0 口P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。在 FLASH 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口P1 口是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX) ,参见下表。FLASH 编程和程序校验期间,P1 接收低 8 位地址。P1.0 和 P1.1 的第二功能本科毕业设计(论文)引脚号 功能特性P1.0 T2(定时/计数器 2 外部计数脉冲输入) ,时钟输出P1.1 T2EX(定时/计数 2 捕获/重装载触发和方向控制)P2 口P2 是一个带内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行MOVXDPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2 口输出 P2 锁存器的内容。FLASH 编程或校验时,P2 亦接收高位地址和一些控制信号。P3 口P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上拉电阻输出电流。P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如下表所示:端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断 0)P3.3 INT1(外中断 1)P3.4 TO(定时/计数器 0)P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将是单片机复位。本科毕业设计(论文)ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。EA/VPP外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为0000H-FFFFH) ,EA 端必须保持低电平(接地) 。需注意的是:如果加密位 LB1被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端) ,CPU 则执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。3.1.2 单片机硬件资源分配P24 连接按键P25 连接按键P26 连接按键P27 连接按键P34 连接蜂鸣器P35 接继电器P14 连接 X5045 的 SO 端P15 连接 X5045 的/CS 端P16 连接 X5045 的 CLK 端P17 连接 X5045 的 SI 端本科毕业设计(论文)3. 2 存储器部分在上一章我已选定了存储器芯片 X5045,下面对其作进一步的介绍:特点: 可编程的看门狗定时器 上电复位及低 VCC 检测,即在上电和 VCC 低于检测门限时,输出复位信号。输出复位高电平有效,直至 VCC=1V 复位信号仍有效 SPI 接口方式,最高可达 1MHZ 的串行时钟频率 512*8 位串行 EEPROM 低功耗 CMOS,3mA 工作电流,10uA 备用电流 电源电压:2.7V-5.5V 分块锁定,可保护 1/4,1/2 或所有 EEPROM 列 防止偶然性写保护 高可靠性,数据可保存 100 年,每字节可擦除次数可达到 10 万次 可编程的复位门限。需要加高电压(15-18V 加在 WP 引脚)及一个专门的时序 8 引脚小型 DIP 封装引脚图 (如图 3-2)图 3-2引脚说明: /CS(1):片选输入 SO(2):串行输出 SI(3):串行输出 SCK(4):串行时钟输入 /WP(5):写保护输入 Vss(6):地 Vcc(7):电源电压 /RESET(8):复位输出使用说明:串行输出(SO)SO是一个推/拉串行数据输出引脚,在读周期时间内,数据从这个引脚输出,本科毕业设计(论文)串行时钟脉冲下降沿时数据输出。串行输入(SI)SI是串行数据输入引脚,所有的操作码,字节,地址及数据都通过这个引脚写入存储器,串行时钟脉冲上升沿时,数据被锁存。串行时钟(SCK)串行时钟控制串行总线为数据的输入和输出计时,SI引脚的操作码,地址或数据在时钟输入上升沿时被锁存,SO引脚的数据在时钟输入上升沿时被改写。片选(/CS)当/CS为高电平时,X5043/45被检测,SO输出引脚处于高阻抗状态,除非内部写操作在进行中的时候,X5045将处于后备电源模式。/CS为低电平时,可以使X5943/45处于工作电源模式,应特别注意,在电源上电以后,需要在开始任何操作以前完成/CS引脚上高电平到低电平的转换。写保护(/WP)当/WP为低电平时,对于X5045不能完成非易失性写操作,但是在其他方面工作正常。当/WP被拉成高电平时,所有的功能,包括非易失性写操作都能正常工作。当/WP变成高电平,/CS仍然是低电平时,将中断对X5045的写操作,如果内部写周期已经开始,/WP变成低电平将对写操作没有影响。复位(RESET)X5045的RESET分别工作在高电平/低电平,对外输出一直工作到VCC降至最小电压以下,将一直工作200ms直到VCC升高大于最小电压。如果看门狗定时时间已定,/CS保持高电平或低电平的时间超过看门狗的定时时间, RESET也同样有效。当/CS下降沿时可使看门狗定时器复位。工作原理X5045 是设计成直接与许多微控制器系列的同步串行外设接口(SPI)相接的 512*8EEPROM。X5045 包括一个 8 位指令寄存器,可以通过 SI 输入来访问,数据在 SCK 上升延由时钟同步输入,在整个工作期间内,/CS 必须低电平且/WP 输入必须是高电平。复位电源:给X5045上电将使复位电路有效,这个电路使RESET引脚有效,RESET可以阻止系统微处理机在不充足的电压或振荡器稳定之前开始操作,当VCC超过装置的Vtrip200ms(理论值)电路将解除RESET,允许资料处理机开始处理代码。图3-3:设定Vtrip电压时序(VCC=要设定的值) 本科毕业设计(论文)低电压控制:在操作过程中,X5045监测VCC标准并检测RESET,如果提供的电压低于预先设置的最小Vtrip值,在电源供电不足或节电状态, RESET会发信号阻止微处理机操作, RESET信号有效一直到电压降至1V。并且仍有效到VCC恢复并超过Vtrip200ms。看门狗定时:看门狗电路通过检测WDI输入来监测微处理机的工作情况,微处理机应定期切换/CS/WDI引脚以防止RESET信号有效,在看门狗定时时间终止之前应完成/CS/WDI引脚从高电平到低电平的切换。状态寄存器的两种非易失性控制位的状态决定看门狗的定时时间,微处理机可以改变看门狗的位,如果微处理机没有作用,看门狗定时器的控制位将不会改变,甚至在所有电源不能供电的状态下。VCC入口复位程序:X5045载有标准的VCC初始电压Vtrip,在正常的操作和存储条件下,这个值将不能改变,然而,在应用过程中有的地方初始电压不一定非常准确或需要更高精度的初始电压,X5045的入口将被调整。使用高电压控制信号。设置Vtrip值:这个时序常用来把Vtrip值设置成更高的电压值,例如:当前Vtrip值为4.4V,新的值为4.6V,次程序将直接进行转换。如果新设置的值低于当前值,在设置新值之前必须先复位。设置新的Vtrip值,把理想的初始电压值加到VCC引脚上,给/WP引脚加上编程电压Vp,发送WREN指令,接着写数据00H到地址01H,在写操作时/CS变成高电平,启动Vtrip编程时序,当/WP变成低电平时完成操作。复位初始电压:此时序常被用来把Vtrip设置成原始电压。例如:如果当前Vtrip值为4.4V,新的Vtrip值必须为4.0V,然而Vtrip需要被复位。当Vtrip值被复位以后,新的Vtrip值将低于1.7V。这个程序常用来把电压设置成更低的值。复位本科毕业设计(论文)Vtrip,把至少3V的电压加到VCC引脚上,给/WP引脚加上编程电压Vp,发送WREN指令,接着写数据00H到地址03H,在写操作时/CS变成高电平,启动Vtrip编程时序,当/WP变成低电平时完成操作。图3-4:复位门电压时序(VCC3V,/WP=1518V)图3-5:复位门电压电路SPI串行存储:芯片的存储部分是CMOS串行EEPROM排列及Xicor的分块锁存保护。这个排列在内部被作为8位指令寄存器。该装置具有SPI接口,软件协议可以通过四条总线进行操作。该芯片利用Xicor的所有的指令写单元,可以提供每字节擦写次数最少为100万次,数据可最少保存100年。该芯片被设计成直接连接许多通用微处理机的SPI接口。该芯片包括一个8位的指令寄存器来控制该装置的操作。指令代码通过SI输入写入该装置。有两条写指令需要指令字节,有两条读指令需要指令字节开始数据的输出,剩余的指令需要一条字节,一个八位的地址,数据字节。所有的指令,地址和数据位都需要SCK输入计时,所有的指令,地址和数据都首先被转换成MSB。时钟和数据定时:SI 引脚的输入数据在/CS 变成低电平以后,SCK 的第一个上升沿时被锁存,SO 上的数据在 SCK 下降沿时被输出,SCK 是固定的,允许使用者终止适中,也本科毕业设计(论文)可以重新开启恢复操作,在整个操作过程中/CS 必须保持低电平。X5045 的全部指令名,指令格式和操作说明如下表所示X5045 指令集指令 指令格式 操作说明WREN 00000110 设置写使能锁存器,允许写操作WRDI 00000100 设置写使能锁存器,禁止写操作RDSR 00000101 读状态寄存器WRSR 00000001 写状态寄存器,块锁定位WRITE 0000A8010 把数据写入开始所选地址中READ 0000A8011 从开始所选地址中读出数据指令寄存器可以通过 SI 输入来访问,所用指令,地址与数据都以 MSB 在前的方式传送。写使能锁存器该装置包含一个写使能锁存器,这个锁存器在写操作开始之前必须先设置。WREN指令可以设置锁存器,WRID指令可以使锁存器复位,在上电以后,完成一个有效的字节,页或者是状态寄存器写周期,锁存器将自动复位。如果/WP变成低电平锁存器也将复位,当发布WREN,WRDI,RDSR命令发送字节地址和数据是没有必要的。 (图3-10)图3-6:写使能/不能锁存时序 状态寄存器:状态寄存器包括四个非易失性控制位,两个易失性状态位。控制位可以设置看门狗定时器的操作,存储块锁存保护,状态寄存器被设计成“状态记录员” 。状态寄存器(缺省状态为30H)7 6 5 4 3 2 1 0本科毕业设计(论文)0 0 WD1 WD0 BL1 BL0 WEL WIP写入程序位(WIP)是一个易变性的、只读位,指示装置的是否忙于内部非易变性写操作。使用RDST指令可以使WIP位被读出。当设置为1时,非易变性写操作在进行中,当设置为0时,进行中没有写操作。写使能锁存位(WEL)指示“写使能”锁存的状态。当WEL为1时,锁存器被置位;当WEL为0时,锁存器被复位。WEL是一个易变性的、只读位。WREN指令可以设置WEL位,WROS指令可以使WEL位复位。块锁存位BL0和BL1,设置块锁定保护的标准。这些非易变位可以用WRSR指令编程,允许使用者保护存储器序列的1/4,1/2,全部或空。被块锁存保护排列的任一部分只能读不能写。它将保护到BL位被改变使存储器部分不能块锁存保护。状态寄存器位序列地址保护BL1 BL0 X5043/X50450 0 无0 1 $180-$1FF1 0 $100-$1FF1 1 $000-$1FF看门狗定时位WD0和WD1,选择看门狗定时溢出时间,用WRSR指令可以对这些非易变位编程。状态寄存器位WD1 WD0看门狗定时时间溢出(典型值)0 0 1.4s0 1 600ms1 0 200ms1 1 不确定读状态寄存器:读状态寄存器,把/CS降为低电平来选择该装置,接着发送8位RDSR指令。状态寄存器的内容被转移到SO引线上,通过CLK计时。状态寄存器在任何时间都可以被读出,甚至在写周期过程中。写状态寄存器:本科毕业设计(论文)在写数据到写状态寄存器之前,先发布WREN指令来设置“写使能”锁存器(WEL) 。首先使/CS变为低电平,对该装置定时WREN指令,再把/CS拉成高电平。再次把/CS拉成低电平,在8位数据之后,进入WRSR指令。这8位数据与状态寄存器的内容一致。当/CS变为高电平时操作结束。如果在WREN和WRSR之间/CS没有变成高电平,WRSR指令将无效。芯片保护矩阵存储块WREN命令(WEL)芯片引脚(WP) 被保护的区域不被保护的区域状态寄存器(BL0,BL1,WD0,WD1)0 X 被保护 被保护 被保护X 0 被保护 被保护 被保护1 1 被保护 写使能 写使能图3-7:读状态寄存器时序图3-8:写状态寄存器时序读存储序列: 当从EEPROM存储序列中读时,首先把/CS拉成低电平以选择芯片,8位READ指令被传输到芯片中,接着是8位的地址。READ指令的第3位选择芯片的高位或地位,在READ代码和地址被发送以后,在选择的地址中且存储在存储器中的数本科毕业设计(论文)据被转移到SO引线上。存储器下一个地址存储的数据通过继续提供时钟脉冲可以被读出。每一个数据的字节被转移以后地址将自动增加到更高的地址。当达到最高地址,地址计算器变为000,允许读周期无限的继续。当把/CS引脚拉成高电平时,读操作停止。写存储序列:在写数据到存储器序列之前,先发布WREN指令来设置“写使能”锁存器(WEL) 。首先使/CS变为低电平,对该装置定时WREN指令,再把/CS拉成高电平。再次把/CS拉成低电平,在8位地址之后,进入WRITE指令,接着数据就被写入。WRITE指令的第3位包含地址位A8,可以选择序列的高位或低位。如果在WREN和WRITE之间/CS没有变成高电平,WRITE指令将无效。WRITE指令至少需要16个时钟周期,CS在整个操作过程中必须保持低电平。操作者可以继续写入16字节的数据。唯一的限制是这16个字节必须存在同一页中。一页的地址开始于地址x xxxx 0000 ,结束于地址xxxxx 1111。如果字节地址达到了该页的最后一个字节,并且时钟仍然继续,计算器将返回到该页的第一个地址,写在以前写过的数据上。为了写操作(字节或页写)能被完成,在时钟周期内被写入的最后的数据字节的0位以后CS必须被拉成高电平。如果它在任何时间没有被拉成高电平,写操作将不能完成。在写过程中跟随着一个状态寄存器或存储序列写时序,状态寄存器可以被读入来检查WIP位。非易变写过程中WIP处于高电平。图3-9:存储序列时序图3-10:写存储时序本科毕业设计(论文)3. 4 显示部分 本仪器利用 89C52 单片机串行口和廉价的 74HC164 集成块实现多个 LED 显示的一种简单方法,利用该方法设计的多路 LED 显示系统具有硬件结构简单、软件编程容易和价格低廉的特点。下面简单的介绍一下 74HC164。特点:(1)与门串行输入;(2)完全的缓冲时钟脉冲和串行输入;(3)直接清除引脚图如图 3-11:图 3-11说明:这些 8 位移位寄存器的特点是具有与门串行输入和不同步的清除输入(CLR) 。门电路串行输入(A 和 B)允许对输入数据的完全控制;低电平加在输入端可以抑制新数据的进入;高电平输入能使输入有效。串行输入的数据当 CLK是高电平或低电平时可以改变。89C52 单片机串行口方式 0 为移位寄存器方式,外接 3 片 74LS164 作为 3本科毕业设计(论文)位 LED 显示器的静态显示接口,把 89C51 的 RXD 作为数据输出线,TXD 作为移位时钟脉冲。74LS164 为 TTL 单向 8 位移位寄存器,可实现串行输入,并行输出。其中 A、B(第 1、2 脚)为串行数据输入端,2 个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第 8 脚)为时钟输入端,可连接到串行口的 TXD 端。每一个时钟信号的上升沿加到 T 端时,移位寄存器移一位,8 个时钟脉冲过后,8 位二进制数全部移入 74LS164 中。R(第 9 脚)为复位端,当R=0 时,移位寄存器各位复 0,只有当 R=1 时,时钟脉冲才起作用。Q1Q8(第3-6 和 10-13 引脚)并行输出端分别接 LED 显示器的 hga 各段对应的引脚上。在给出了 8 个脉冲后,最先进入 74LS164 的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出,搞清了这一点,下面让我们来看电路,6 片 7LS164 首尾相串,而时钟端则接在一起,这样,当输入 8 个脉冲时,从单片机 RXD 端输出的数据就进入到了第一片 74LS164 中了,而当第二个 8 个脉冲到来后,这个数据就进入了第二片 74LS164,而新的数据则进入了第一片 74LS164,这样,当第六个 8 个脉冲完成后,首次送出的数据被送到了最左面的 164 中,其他数据依次出现在第一、二、三片 74LS164 中。3. 5 电源与复位电路部分 3.5.1 电源部分本次设计应用的电压有+5V。220

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论