




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于51单片机的数字稳压电源设计 河南科技学院 毕业设计论文 论文题目:数字稳压电源设计 系 部 专 业 班 级 学生姓名 指导教师 学 号 河南机电高等专科学校毕业设计 2011年09月25日 目录 软件介绍.1 设计任务.3 英文摘要.3 绪论.4 第一章、设计要求与方案论证.5 1.1 设计要求.5 1.2 系统基本方案选择和论证.5 1.2.1单片机芯片的选择方案和论证.5 1.2.2 显示模块选择方案和论证.5 1.2.3 时钟芯片的选择方案和论证.6 1.2.4 温度传感器的选择方案与论证.6 1.3 电路设计最终方案决定.6 第二章、系统的硬件设计与实现.7 2.1 电路设计框图
2、.7 2.2 系统硬件概述.7 2.3主要单元电路的设计.8 2.3.1单片机主控制模块的设计.8 2.3.2时钟电路模块的设计.11 2.3.3温度采集模块设计.12 2.3.4 电路原理及说明.13 2.3.5显示模块的设计.16 第三章、系统的软件设计.22 3.1程序流程框图.22 3.2 子程序的设计.25 3.2.1 DS18B20温度子程序.25 3.2.2 读、写DS1302子程序.26 第四章、指标测试.28 4.1 测试仪器.28 4.2硬件测试.28 4.3软件测试.28 4.4测试结果分析与结论.29 4.4.1 测试结果分析.29 4.4.2 测试结论.29 2 河南
3、机电高等专科学校毕业设计 结束语.30 致谢、参考文献.31 附录一原理图.32 附录二PCB图.32 摘 要 设计一种基于单片机的电子时钟。针对题目要求,本系统电路设计采用AT89S51单片机,作为液晶显示万年历的中心控制器件。按照硬件应用电路与软件设计模块化的设计思路,依据设计方案的要求,本系统电路设计分为: AT89S51单片机最小系统、温度检测(DS18B20)电路模块,实时时钟(DS12C887)电路模块,LCD显示电路模块,按键控制电路模块等几个部分。这样设计的结果使电路结构简洁,各种要求能完全保证,同时使系统电路的稳定性得到提高。在显示控制的编程中,查阅许多相关资料,经过最后的软
4、件仿真与调试,硬件电路的性能测试,证明是成功的。 关键词 单片机;LCD;实时时钟; DS18B20; DS12C887 绪 论 众所周知,科学技术的发展离不开实践,实践是促进科学技术发展的重要手段,应用起来更加广泛,电子系统的功能越来越强大,电路图也越来越复杂,印刷电路板的走线越来越复杂和精密。计算机的应用使得我们对各种复杂的电路设计工作变得简单快捷。“科学实践是科学理论的源泉”。基于“基础研究,应用研究,开发研究,生产研究”四个方面,如果结合得好的话,经济建设和国防建设定会兴旺发达。 验证性实践和训练性的实践主要是针对电子技术本门学科范围内的理论验证和实际技能的培养。 3 河南机电高等专科
5、学校毕业设计 综合性的实践,属于应用型实践,目的是培养学生综合运用所学的理论的能力和解决比较复杂的实际问题的能力。 设计性实践,主要侧重于某些理论知识的灵活运用。随着电子技术的飞速发展,各种新型电子器件和集成电路应用越集中,使得更好更复杂的电路得以实现。电子设计自动化(Electronics Design Automates,即EDA技术)工具的集成设计环境, Protel99se、PowerPCB、Altium Designer等软件的运用使得设计电路更加方便。 作为电子专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是
6、对我们专业技能的补充。 随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。本课题设计采用AT89S51单片机作为核心。利用美国DALLAS公司的新型时钟日历芯片DS12C887,它可以对年、月、日、时、分、秒进行计时,而且DS12C887的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。温度测量使用DS18B20,它不仅检测温度灵敏度高而且可以设置温度上下限报警。显示采用1602液晶模块显示,功耗小,能在5V的低压工作,使用方便。 科学的进步要求我们在不断的实践中熟练各种制板的技术
7、,并不断地总结经验。这次毕业设计对我来说非常重要,这是对我的一次考验和挑战,好的开头是成功的第一步,我更应该加倍努力去完成,尽力做到更好,为将来的学习奠定良好的基础! 第一章设计要求与方案论证 1.1 设计要求: ()基本要求 具有年、月、日、星期、时、分、秒等功能; 时间与阴、阳历能够自动关联; 具有温度计功能; 具备年、月、日、星期、时、分、秒校准功能; ( 2 ) 创新要求 具有上、下课响铃功能; 具有防御报警功能; 4 河南机电高等专科学校毕业设计 1.2 系统基本方案选择和论证 1.2.1单片机芯片的选择方案和论证: 方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,
8、内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二: 采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损
9、坏。 所以选择采用AT89S52作为主控制系统. 1.2.2 显示模块选择方案和论证: 方案一: 该系统采用MCS-51系列单片机AT89S51作为控制核心。温度检测采用ds18b20温度传感器;利用单片机定时器实现时间计数走时;显示采用16个数码管显示。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,程序编写简单,占用单片机的I/O口少。但是由于定时器实现,所以电路断电后,就不能计时;并且运用数码管比较多电路连线比较复杂;制作过程工序比较烦琐,产品体积大。. 方案二: 该系统仍采用MCS-51系列单片机AT89S51作为控制核心。温度检测仍采用ds18b20温度传感器;采用实时时钟芯片
10、ds12c887计时,由于其内部自带锂电池,断电后内部计数器仍在工作,可以防止突然断电,并且可以自动进行闰年调整和设置定时时间。显示采用液晶显示模块1602,其体积小,集成度高,耗电量小。电路连线比较简单,并且制作产品体积小,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改性。 1.2.3时钟芯片的选择方案和论证: 方案一: 5 河南机电高等专科学校毕业设计 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。 方案二: 采用DS1302时钟芯片
11、实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA. .2.4温度传感器的选择方案与论证: 方案一: 使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。 方案二: 采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要
12、一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。 1.3 电路设计最终方案决定 综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟;数字式温度传感器;1602液晶显示模块显示方案。 第二章系统的硬件设计与实现 2.1系统原理框图 6 河南机电高等专科学校毕业设计 图2-1系统原理图 2.2 系统硬件概述 本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM
13、的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份有1602模块进行显示。 2.3 主要单元电路的设计 2.3.1单片机主控制模块的设计 AT89S52 7 河南机电高等专科学校毕业设计 AT89S52 主要性能 与MCS-51单片机产品兼容 、
14、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。 功能特性描述 At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8
15、位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控
16、制器 8K 字节在系统可编程 Flash AT89S52 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 8 河南机电高等专科学校毕业设计 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为
17、输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2
18、输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TT
19、L 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用。 在flash编程和校验时,P3口也接收一些控制信号。 端口引脚 第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3 INT1(外中断1) 9 河南机电高等专科学校毕业设计 P3.4 TO(定时/计数器0) P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通)
20、此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MO
21、VX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。 如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。 FLASH存储
22、器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。 单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。如图2-2
23、 所示 10 河南机电高等专科学校毕业设计 图2-2 主控制系统 2.3.2时钟电路模块的设计 图2-3所示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST
24、提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。 11 河南机电高等专科学校毕业设计 图2-3 DS1302的引脚图 2.3.3温度采集模块设计 DS18B20介绍 DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公
25、司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 “一线总线”数字化温度传感器 同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压
26、范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20、 DS1822 的特性 DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色! DS1822与 DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新
27、概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 如图2-4所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传 12 河南机电高等专科学校毕业设计 输,使用0.7与DS18B20的I/O口连接加一个上拉电阻,Vcc接电源,Vss接地。 图2-4 DS18B20温度采集 2.3.4 电路原理及说明 (一)DS18B20产品特点 (1) 只要求一个端口即可实现通信。 (2) 在DS18B20中的每个器件上都有独一无二的序列号。 (3) 实际应用中不需要外部任
28、何元器件即可实现测温。 (4) 测量温度范围在55。C到125。C之间。 (5) 数字温度计的分辨率用户可以从9位到12位选择。 (6) 内部有温度上、下限告警设置。 (二)DS18B20的引脚分布 TO92封装的DS18B20的引脚排列见下图,其引脚功能描述见下表。(底视图) DS18B20详细引脚功能描述 (三)DS18B20的使用方法 由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/
29、O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将 13 河南机电高等专科学校毕业设计 主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。 (四) 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时
30、序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP” 是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。
31、 (五) DS1302的控制字节 DS1302的控制字如表2-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出 RD 1 A4 A3 A2 A1 A0 /WR 表2-1 DS1302的控制字格式 (六) 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉
32、冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图2-5所示 14 河南机电高等专科学校毕业设计 图2-5 DS1302读/写时序图 (七) DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表2-2。 表2-2 DS1302的日历、时间寄存器 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个
33、单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 15 河南机电高等专科学校毕业设计 2.3.5显示模块的设计 16x2字符型带背光液晶显示模块 外形尺寸:PCB外形:36.4*80毫米 液晶屏金属黑框:34.2*72毫米 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。 这里介绍的字符型液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16
34、个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。 1602采用标准的16脚接口,其中: 第1脚:VSS为地电源 第2脚:VDD接5V正电源 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 16 河南机电高等专科学校毕业设计 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电
35、平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7-14脚:即D0-D7为8位双向数据线。 第 1516 脚:空脚 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表2-3所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 表2-3 CGROM和CGRAM中字符代码与字符图形对应关系
36、 液晶模块内部的控制器共有11条控制指令,如表2-3所示, 17 河南机电高等专科学校毕业设计 表2-4控制指令表 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)1602液晶模块内部的控制器共有11条控制 指令,如表2-4所示: 表2-5控制指令表 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)1602液晶模块内部的控制器共有11条控制指令,如表2-5所示, 表2-6控制指令表 18 河南机电高等专科学校毕业设计 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电 平、0为低电平) 指令1
37、:清显示,指令码01H,光标复位到地址00H位置; 指令2:光标复位,光标返回到地址00H; 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:指令4:显示开关控制; 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标; 指令6:置功能; 指令7:置字符发生存储器地址; 指令8:置数据存储器地址; 指令9:读忙标志或地址; 指令10:写数据到CGRAM或DDRAM; 指令11:读数据。 DM-162液晶显示模块可以和单片机AT89C51直接接口,电路如图2-6所示。 屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效; 图2-6 AT
38、89C51与DM-162接口图 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表2-6是DM-162的内部显示地址。 比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒 19 河南机电高等专科学校毕业设计 定为高电平1所以实际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H) 以下是在液晶模块的第二行第一个字符的位置显
39、示字母“A”的程序: ORG 0000H RS EQU P3.7;确定具体硬件的连接方式 RW EQU P3.6 ;确定具体硬件的连接方式 E EQU P3.5 ;确定具体硬件的连接方式 MOV P1,#00000001B ;清屏并光标复位 ACALL ENABLE;调用写入命令子程序 MOV P1,#00111000B ;设置显示模式:8位2行5x7点阵 ACALL ENABLE ;调用写入命令子程序 MOV P1,#00001111B ;显示器开、光标开、光标允许闪烁 ACALL ENABLE ;调用写入命令子程序 MOV P1,#00000110B ;文字不动,光标自动右移 ACALL
40、ENABLE ;调用写入命令子程序 MOV P1,#0C0H ;写入显示起始地址(第二行第一个位置) ACALL ENABLE ;调用写入命令子程序 MOV P1,01000001B ;字母A的代码 SETB RS ;RS=1 CLR RW ;RW=0 ;准备写入数据 CLR E ;E=0 ;执行显示命令 ACALL DELAY ;判断液晶模块是否忙? SETB E ;E=1 ;显示完成,程序停车 AJMP $ ENABLE: CLR RS ;写入控制命令的子程序 CLR RW CLR E ACALL DELAY SETB E RET DELAY: MOV P1,#0FFH ;判断液晶显示器是
41、否忙的子程序 CLR RS 20 河南机电高等专科学校毕业设计 SETB RW CLR E NOP SETB E JB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待 RET END 程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY,然后输入显示位置的地址0C0H,最后输入要显示的字符A的代码41H。 21 河南机电高等专科学校毕业设计 第三章系统的软件设计 3.1程序流程框图 图3-1 主程序流程图 22 河南机电高等专科学校毕业设计 图3-2计算阳历程序流程图 2
42、3 河南机电高等专科学校毕业设计 图3-3 时间调整程序流程图 24 河南机电高等专科学校毕业设计 图3-4阴历程序流程图 3.2 子程序的设计 3.2.1 DS18B20温度子程序 CONFIG12 EQU 7FH MOV B,#64H LCALL RESET TEMPH EQU 21H DIV AB MOV A,#0CCH TEMPL EQU 20H MOV A,B LCALL WRITE111 REG2 EQU 22H MOV B,#0AH MOV A,#44H REG3 EQU 23H DIV AB LCALL WRITE111 REG4 EQU 24H SWAP A LCALL DL
43、1MS DAT EQU P0.7 ORL A,B LCALL RESET TOUTOU: MOV 10H,A MOV A,#0CCH LCALL CHUSHI RET LCALL WRITE111 LCALL RDTEMP CHUSHI: MOV A,#0BEH MOV A,TEMPL LCALL RESET LCALL WRITE111 ANL A,#11110000B MOV A,#0CCH LCALL ERAD111 MOV TEMPL,A LCALL WRITE111 MOV TEMPL,A MOV A,TEMPH MOV A,#4EH LCALL ERAD111 ANL A,#000
44、00111B LCALL WRITE111 MOV TEMPH,A ORL A,TEMPL MOV A,#CONFIG12 RET SWAP A LCALL WRITE111 RESET: MOV 25H,A RET LA: MOV A,25H RDTEMP: SETB DAT 25 河南机电高等专科学校毕业设计 MOV 52H,#200 LF: LB: DJNZ 52H,LF CLR DAT RET DJNZ 52H,LB WRITE111: SETB DAT MOV 53H,#8 MOV 52H,#30 W51HA: LC: SETB DAT DJNZ 52H,LC MOV 54H,#8
45、CLR C RRC A ORL C,DAT CLR DAT JC LB W52HA: MOV 58H,#80 DJNZ 54H,W52HA LD: MOV DAT,C ORL C,DAT MOV 54H,#30 JC LP W53HA: DJNZ 58H,LD DJNZ 54H,W53HA SJMP LA DJNZ 53H,W51HA LP: SETB DAT MOV 52H,#250 RET 3.2.2 读、写DS1302子程序 ;写1302程序WRITE: NOP CLR SCLK DJNZ R4,WRITE1 NOP CLR SCLK SETB RST NOP NOP MOV A,31H
46、 MOV A,32H MOV R4,#8 MOV R4,#8 WRITE2: WRITE1: RRC A RRC A ;送地址给 NOP ;送数据给1302 1302 NOP CLR SCLK NOP NOP CLR SCLK NOP NOP MOV IO,C NOP NOP NOP NOP MOV IO,C NOP NOP SETB SCLK NOP NOP NOP NOP SETB SCLK DJNZ R4,WRITE2 NOP CLR RST ERAD111: CLR EA MOV 58H,#8 RD1A: CLR DAT MOV 54H,#6 NOP SETB DAT RD2A: DJNZ 54H,RD2A MOV C,DAT RRC A MOV 55H,#30 RD3A: DJNZ 55H,RD3A DJNZ 58H,RD1A SETB DAT RET RET ;读1302程序 READ: CLR SCLK NOP NOP SETB RST NOP MOV A,32H MOV R4,#8 READ1: RRC A ;送地址给1302 NOP MOV IO,C NOP NOP NOP SETB SCLK N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信贷公司绩效管理办法
- 包装产业销售管理办法
- 儿童救助保护管理办法
- 儿童医药安全管理办法
- 农村综合产权管理办法
- 全国洗染纠纷管理办法
- 修订税收减免管理办法
- 关于加强工作管理办法
- 家具生产制造进度计划与措施
- 公司高龄员工管理办法
- 水电设备安装合同
- 北京民政局离婚协议书范本示例
- 教育培训分期付款协议
- T-CCSAS 023-2022 危险化学品企业紧急切断阀设置和使用规范
- 弱电工程招标文件样本模板
- 抖音发展历程介绍
- 评茶员(高级)试题(含答案)
- HGT20615-2009整体法兰尺寸及公差
- TSHSPS 001-2024 临床试验协调员管理及能力评估规范上海
- 寒假作业一年级上册《数学每日一练》30次打卡
- 人教版八年级物理下册期末复习试题及答案
评论
0/150
提交评论