毕业设计-基于at89s51单片机的数字稳压电源设计_第1页
毕业设计-基于at89s51单片机的数字稳压电源设计_第2页
毕业设计-基于at89s51单片机的数字稳压电源设计_第3页
毕业设计-基于at89s51单片机的数字稳压电源设计_第4页
毕业设计-基于at89s51单片机的数字稳压电源设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

河南科技学院毕业设计论文论文题目数字稳压电源设计系部专业班级学生姓名指导教师学号目录软件介绍1设计任务3英文摘要3绪论4第一章、设计要求与方案论证511设计要求512系统基本方案选择和论证5121单片机芯片的选择方案和论证5122显示模块选择方案和论证5123时钟芯片的选择方案和论证6124温度传感器的选择方案与论证613电路设计最终方案决定6第二章、系统的硬件设计与实现721电路设计框图722系统硬件概述723主要单元电路的设计8231单片机主控制模块的设计8232时钟电路模块的设计11233温度采集模块设计12234电路原理及说明13235显示模块的设计16第三章、系统的软件设计2231程序流程框图2232子程序的设计25321DS18B20温度子程序25322读、写DS1302子程序26第四章、指标测试2841测试仪器2842硬件测试2843软件测试2844测试结果分析与结论29441测试结果分析29442测试结论29结束语30致谢、参考文献31附录一原理图32附录二PCB图32摘要设计一种基于单片机的电子时钟。针对题目要求,本系统电路设计采用AT89S51单片机,作为液晶显示万年历的中心控制器件。按照硬件应用电路与软件设计模块化的设计思路,依据设计方案的要求,本系统电路设计分为AT89S51单片机最小系统、温度检测(DS18B20)电路模块,实时时钟(DS12C887)电路模块,LCD显示电路模块,按键控制电路模块等几个部分。这样设计的结果使电路结构简洁,各种要求能完全保证,同时使系统电路的稳定性得到提高。在显示控制的编程中,查阅许多相关资料,经过最后的软件仿真与调试,硬件电路的性能测试,证明是成功的。关键词单片机;LCD;实时时钟DS18B20DS12C887绪论众所周知,科学技术的发展离不开实践,实践是促进科学技术发展的重要手段,应用起来更加广泛,电子系统的功能越来越强大,电路图也越来越复杂,印刷电路板的走线越来越复杂和精密。计算机的应用使得我们对各种复杂的电路设计工作变得简单快捷。“科学实践是科学理论的源泉”。基于“基础研究,应用研究,开发研究,生产研究”四个方面,如果结合得好的话,经济建设和国防建设定会兴旺发达。验证性实践和训练性的实践主要是针对电子技术本门学科范围内的理论验证和实际技能的培养。综合性的实践,属于应用型实践,目的是培养学生综合运用所学的理论的能力和解决比较复杂的实际问题的能力。设计性实践,主要侧重于某些理论知识的灵活运用。随着电子技术的飞速发展,各种新型电子器件和集成电路应用越集中,使得更好更复杂的电路得以实现。电子设计自动化(ELECTRONICSDESIGNAUTOMATES,即EDA技术)工具的集成设计环境,PROTEL99SE、POWERPCB、ALTIUMDESIGNER等软件的运用使得设计电路更加方便。作为电子专业的学生,更应该熟练掌握各种电路编辑软件,作为专业必需的技能更要及时地对这一类软件的更新版本进行学习,其日趋强大的功能是对我们专业技能的补充。随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。本课题设计采用AT89S51单片机作为核心。利用美国DALLAS公司的新型时钟日历芯片DS12C887,它可以对年、月、日、时、分、秒进行计时,而且DS12C887的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。温度测量使用DS18B20,它不仅检测温度灵敏度高而且可以设置温度上下限报警。显示采用1602液晶模块显示,功耗小,能在5V的低压工作,使用方便。科学的进步要求我们在不断的实践中熟练各种制板的技术,并不断地总结经验。这次毕业设计对我来说非常重要,这是对我的一次考验和挑战,好的开头是成功的第一步,我更应该加倍努力去完成,尽力做到更好,为将来的学习奠定良好的基础第一章设计要求与方案论证11设计要求()基本要求具有年、月、日、星期、时、分、秒等功能;时间与阴、阳历能够自动关联;具有温度计功能;具备年、月、日、星期、时、分、秒校准功能;2创新要求具有上、下课响铃功能;具有防御报警功能;12系统基本方案选择和论证121单片机芯片的选择方案和论证方案一采用89C51芯片作为硬件核心,采用FLASHROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二采用AT89S52,片内ROM全都采用FLASHROM;能以3V的超底压工作;同时也与MCS51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89S52作为主控制系统122显示模块选择方案和论证方案一该系统采用MCS51系列单片机AT89S51作为控制核心。温度检测采用DS18B20温度传感器;利用单片机定时器实现时间计数走时;显示采用16个数码管显示。该方案的特点是中小规模集成电路应用技术成熟,性能可靠,程序编写简单,占用单片机的I/O口少。但是由于定时器实现,所以电路断电后,就不能计时;并且运用数码管比较多电路连线比较复杂;制作过程工序比较烦琐,产品体积大。方案二该系统仍采用MCS51系列单片机AT89S51作为控制核心。温度检测仍采用DS18B20温度传感器;采用实时时钟芯片DS12C887计时,由于其内部自带锂电池,断电后内部计数器仍在工作,可以防止突然断电,并且可以自动进行闰年调整和设置定时时间。显示采用液晶显示模块1602,其体积小,集成度高,耗电量小。电路连线比较简单,并且制作产品体积小,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改性。123时钟芯片的选择方案和论证方案一直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压25V55V范围内,25V时耗电小于300NA24温度传感器的选择方案与论证方案一使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。方案二采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。13电路设计最终方案决定综上各方案所述,对此次作品的方案选定采用AT89S52作为主控制系统DS1302提供时钟数字式温度传感器1602液晶显示模块显示方案。第二章系统的硬件设计与实现21系统原理框图图21系统原理图22系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为25V55V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份有1602模块进行显示。23主要单元电路的设计231单片机主控制模块的设计AT89S52AT89S52主要性能与MCS51单片机产品兼容、8K字节在系统可编程FLASH存储器、1000次擦写周期、全静态操作0HZ33HZ、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。功能特性描述AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能8K字节FLASH,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8K字节在系统可编程FLASHAT89S52P0口P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P10和P12分别作定时器/计数器2的外部计数输入(P10/T2)和时器/计数器2的触发输入(P11/T2EX)。在FLASH编程和校验时,P1口接收低8位地址字节。引脚号第二功能P10T2(定时器/计数器T2的外部计数输入),时钟输出P11T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P15MOSI(在系统编程用)P16MISO(在系统编程用)P17SCK(在系统编程用)P2口P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在FLASH编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。在FLASH编程和校验时,P3口也接收一些控制信号。端口引脚第二功能P30RXD串行输入口P31TXD串行输出口P32INTO外中断0P33INT1外中断1P34TO定时/计数器0P35T1定时/计数器1P36WR外部数据存储器写选通P37RD外部数据存储器读选通此外,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仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。如图22所示图22主控制系统232时钟电路模块的设计图23所示出DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC102V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1和X2是振荡源,外接32KHZ晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在VCC大于等于25V之前,RST必须保持低电平。中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。图23DS1302的引脚图233温度采集模块设计DS18B20介绍DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济DALLAS半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为55C125C,在1085C范围内,精度为05C。DS1822的精度较差为2C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V55V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822的特性DS18B20可以程序设定912位的分辨率,精度为05C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。如图24所示。采用数字式温度传感器DS18B20,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用07与DS18B20的I/O口连接加一个上拉电阻,VCC接电源,VSS接地。图24DS18B20温度采集234电路原理及说明(一)DS18B20产品特点1只要求一个端口即可实现通信。2在DS18B20中的每个器件上都有独一无二的序列号。3实际应用中不需要外部任何元器件即可实现测温。4测量温度范围在55。C到125。C之间。5数字温度计的分辨率用户可以从9位到12位选择。6内部有温度上、下限告警设置。(二)DS18B20的引脚分布TO92封装的DS18B20的引脚排列见下图,其引脚功能描述见下表。(底视图)DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。(三)DS18B20的使用方法由于DS18B20采用的是1WIRE总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。四时钟芯片DS1302的工作原理DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图4所示。图5为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM1,对时间进行读/写时,CK0。位1至位5指操作单元的地址。位0是读/写操作位,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表6为DS1302的日历、时间寄存器内容“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。五DS1302的控制字节DS1302的控制字如表21所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出RAMRD1A4A3A2A1A0/CK/WR表21DS1302的控制字格式六数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图25所示图25DS1302读/写时序图七DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表22。表22DS1302的日历、时间寄存器此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH写、FFH读。235显示模块的设计16X2字符型带背光液晶显示模块外形尺寸PCB外形36480毫米液晶屏金属黑框34272毫米液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。这里介绍的字符型液晶模块是一种用5X7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等等,这里以常用的2行16个字的1602液晶模块来介绍它的编程方法。1602采用标准的16脚接口,其中第1脚VSS为地电源第2脚VDD接5V正电源第3脚V0为液晶显示器对比度调整端,接正电源时对比度最弱接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚即D0D7为8位双向数据线。第1516脚空脚1602液晶模块内部的字符发生存储器(CGROM已经存储了160个不同的点阵字符图形,如表23所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”表23CGROM和CGRAM中字符代码与字符图形对应关系液晶模块内部的控制器共有11条控制指令,如表23所示,表24控制指令表它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平、0为低电平)1602液晶模块内部的控制器共有11条控制指令,如表24所示表25控制指令表它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平、0为低电平)1602液晶模块内部的控制器共有11条控制指令,如表25所示,表26控制指令表它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平、0为低电平)指令1清显示,指令码01H,光标复位到地址00H位置;指令2光标复位,光标返回到地址00H;指令3光标和显示模式设置I/D光标移动方向,高电平右移,低电平左移S屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效;指令4显示开关控制;指令5光标或显示移位S/C高电平时移动显示的文字,低电平时移动光标;指令6置功能;指令7置字符发生存储器地址;指令8置数据存储器地址;指令9读忙标志或地址;指令10写数据到CGRAM或DDRAM;指令11读数据。DM162液晶显示模块可以和单片机AT89C51直接接口,电路如图26所示。图26AT89C51与DM162接口图液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表26是DM162的内部显示地址。比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H10000000B80H11000000BC0H以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序ORG0000HRSEQUP37确定具体硬件的连接方式RWEQUP36确定具体硬件的连接方式EEQUP35确定具体硬件的连接方式MOVP1,00000001B;清屏并光标复位ACALLENABLE调用写入命令子程序MOVP1,00111000B;设置显示模式8位2行5X7点阵ACALLENABLE调用写入命令子程序MOVP1,00001111B;显示器开、光标开、光标允许闪烁ACALLENABLE调用写入命令子程序MOVP1,00000110B;文字不动,光标自动右移ACALLENABLE调用写入命令子程序MOVP1,0C0H;写入显示起始地址(第二行第一个位置)ACALLENABLE调用写入命令子程序MOVP1,01000001B;字母A的代码SETBRS;RS1CLRRW;RW0准备写入数据CLRE;E0执行显示命令ACALLDELAY判断液晶模块是否忙SETBE;E1显示完成,程序停车AJMPENABLECLRRS;写入控制命令的子程序CLRRWCLREACALLDELAYSETBERETDELAYMOVP1,0FFH;判断液晶显示器是否忙的子程序CLRRSSETBRWCLRENOPSETBEJBP17,DELAY;如果P17为高电平表示忙就循环等待RETEND程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY,然后输入显示位置的地址0C0H,最后输入要显示的字符A的代码41H。第三章系统的软件设计31程序流程框图开始初始化读、写日期、时间和温度分离日期时间温度显示值显示子程序定时闹铃子程序图31主程序流程图图32计算阳历程序流程图农历自动更新子程序日期、时间修改子程序闰月子程返回图33时间调整程序流程图图34阴历程序流程图32子程序的设计321DS18B20温度子程序CONFIG12EQU7FHTEMPHEQU21HTEMPLEQU20HREG2EQU22HREG3EQU23HREG4EQU24HDATEQUP07TOUTOULCALLCHUSHILCALLRDTEMPMOVA,TEMPLANLA,11110000BMOVTEMPL,AMOVA,TEMPHANLA,00000111BORLA,TEMPLSWAPAMOV25H,AMOVA,25HMOVB,64HDIVABMOVA,BMOVB,0AHDIVABSWAPAORLA,BMOV10H,ARETCHUSHILCALLRESETMOVA,0CCHLCALLWRITE111MOVA,4EHLCALLWRITE111MOVA,CONFIG12LCALLWRITE111RETRDTEMPLCALLRESETMOVA,0CCHLCALLWRITE111MOVA,44HLCALLWRITE111LCALLDL1MSLCALLRESETMOVA,0CCHLCALLWRITE111MOVA,0BEHLCALLWRITE111LCALLERAD111MOVTEMPL,ALCALLERAD111MOVTEMPH,ARETRESETLASETBDATMOV52H,200LBCLRDATDJNZ52H,LBSETBDATMOV52H,30LCDJNZ52H,LCCLRCORLC,DATJCLBMOV58H,80LDORLC,DATJCLPDJNZ58H,LDSJMPLALPMOV52H,250LFDJNZ52H,LFRETWRITE111MOV53H,8W51HASETBDATMOV54H,8RRCACLRDATW52HADJNZ54H,W52HAMOVDAT,CMOV54H,30W53HADJNZ54H,W53HADJNZ53H,W51HASETBDATRETERAD111CLREAMOV58H,8RD1ACLRDATMOV54H,6NOPSETBDATRD2ADJNZ54H,RD2AMOVC,DATRRCAMOV55H,30RD3ADJNZ55H,RD3ADJNZ58H,RD1ASETBDATRET322读、写DS1302子程序写1302程序WRITECLRSCLKNOPSETBRSTNOPMOVA,32HMOVR4,8WRITE1RRCA送地址给1302NOPNOPCLRSCLKNOPNOPNOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPDJNZR4,WRITE1CLRSCLKNOPMOVA,31HMOVR4,8WRITE2RRCANOP送数据给1302CLRSCLKNOPNOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPDJNZR4,WRITE2CLRRSTRET读1302程序READCLRSCLKNOPNOPSETBRSTNOPMOVA,32HMOVR4,8READ1RRCA送地址给1302NOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPNOPCLRSCLKNOPNOPDJNZR4,READ1MOVR4,8READ2CLRSCLKNOP从1302中读出数据NOPNOPMOVC,IONOPNOPNOPNOPNOPRRCANOPNOPNOPNOPSETBSCLKNOPDJNZR4,READ2MOV31H,ACLRRSTRET第四章指标测试41测试仪器序号名称型号1PC机LXBHF769A2双路直流稳压电源CA17303D3V8通用单片机仿真器V8/L4数字万用表DT92085ISP在线编程器4硬件测试电子万年历的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。在本成电子万年历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题()LED数码管的断码错乱,原因出于没有认真看清A、B、C等引脚信息。解决重新排列74LS47的输出端,相应接入LED数码管,即可解决出现在的断码或乱码,SCLK、RET端。(2)对万年历修改时间或日期时,有时LED数码管被屏蔽掉,造成不亮现象。解决根据仪器的测试,发现电路的驱动能力不足,最后在DS1302时钟芯片的/CS、接入51K的上拉电阻后,电路的驱动能力才能满足,即可解决不亮现象。4软件测试电子成年历是多功能的数字型,可以看当前日期(阴、阳历),时间,还有温度的仪器。电子成年历功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下1烧入程序后,LED数码管显示闪动,而且亮度不均匀。解决首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子令,最后解决了此问题。2修改时间、日期时没有农历没有自动对应上。解决把不相关的程序暂时屏蔽,地农历的子程序独立调试,发现在调用农历自动更新时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对应,最后解决了此问题3加入温度的程序后,进行修改时间、日期时相应的数码管位没有按要求闪动。解决由于DS18B20是串行通信数据,只用一个口线传输,在处理采集的模拟信号时需要一定的时间,当把万年历的程序相接入时,会对延时有很大的影响。所以在调用温度子程序时,先关闭定时器1中断允许,在温度子程序反回时再打开定时器1中断允许。最终解决了此问题。4测试结果分析与结论41测试结果分析(1)在测试中遇到发光二极管、LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏(2)LED数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。442测试结论经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力同时在软件的编程方面得到更到的提高,对编程能力得到加强同时对所学的知识得到很大的提高与巩固结束语经过不懈努力,在老师和同学们的大力帮助下,我终于按时、按质、按量完成了这次毕业设计,并且成功制作出电子产品。本课题涉及的内容十分广泛。但无论是软件还是硬件,仍有许多需要改进和完善的地方,也有许多可以扩展的地方。这次毕业设计给我的感受很深刻,总结起来有一下几个方面以前的学习多重于理论方面,而且知识面不够宽,通过这次毕业设计,使我又一次系统全面的回顾了大学三年所学的课程。从中我还体会到了所学理论知识的重要性。再有学会查阅资料和利用工具书是非常重要。通过这次毕业设计,发现自己在专业方面还有很多欠缺和不足。例如,在编程方面还不够熟练,这些都是在今后值得注意和需要改进的。实践过程中,我深刻体会到在设计过程中,只有静下心,反复试验和测试,解决各种存在的问题,才能不断提高。总体来说,这次设计我受益匪浅。培养了我的设计思维,增加了实际操作能力。在让我体会到了设计电路的艰辛的同时,更让我体会到成功的喜悦。通过这次毕业设计,更进一步提高我的电路设计能力,加强设计电路的动手能力。通过这次设计,不仅加深了对学到的知识的理解消化,同时通过实践,提高了自身的理论向实践成果转化的能力。不仅如此,在这一过程中,我更加熟练运用PROTEL99SE这一强大电路设计软件,为以后的学习和工作奠定了坚实的基础。同时我对单片机的知识也有了更进一步的学习和掌握。虽然这次的设计任务较简单,但真正做一个板子不是想象中的那么简单,在实际设计过程中要考虑很多的因素。由于要求的知识非常丰富,查找了许多的参考文献,清楚地明白本设计的工作过程以及各个电器元件在本电路的作用,让理论和实际真正地结合到了一起,同时进一步使我们体会到电子电路在实践中的工程技术特点,提高了我们的科学素质,树立了我们工程和技术的观点。我经过这次系统的毕业设计,了解了对一课题进行系统研究、设计及制作的全过程。这些认识使我们在将来的工作和学习当中都会有很大的帮助。在往后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识补充最新的知识。毕业设计培养了严肃认真和实事求是的科学态度。而且培养了吃苦耐劳的精神以及严谨的作风,提高了交流沟通和团体协作能力。这些对我以后的工作都非常有帮助的。作为一个即将就将步入社会的大学生来说,提高自己的动手能力是很重要的,相信在走进社会以后,经过我的不断努力,一定会使得自己的能力更加充实。致谢词在这次毕业设计过程中,得到许多老师和同学的帮助与鼓励,使我能够顺利地完成毕业设计,我在此对他们表示衷心的感谢。首先,我诚挚地感谢我的指导老师孔慧君老师。他严谨的治学态度、对知识不懈的追求,必将使我受益终身。孔老师在我毕业设计过程中给予了我谆谆教诲和无私帮助;自己设定题目、取材、组织论文,给了我很大的创造空间,使我的各方面能力得到了提高。孔老师能在繁忙的工作中,腾出时间来对我的毕业设计指导和评定,耐心地指出产品存在的问题和进行科学有效的指导,使我少走弯路,也使我养成了严谨的学习态度,这些对我以后的学习和生活有着重要的指导意义。本论文从选题到系统调试成功到最后成文,无不倾注着孔老师的心血。在此论文脱稿之际,我再一次向他致以最诚挚的谢意。其次,感谢我的同学。他们能在我遇到困难时及时给予我真诚的帮助,为我解决难题。还要感谢参考文献中作者对著作的倾心编著,正是有了他们的著作,我的论文及电路制作才成功按时完成。本次设计实践过程中遇到了很多困难,我借鉴了一些网络上的优秀资源,在此一并表示感谢。参考文献1谭浩强C语言程序设计第二版2卢结成编电子电路实验及应用课题设计北京中国科学技术大学出版社,20023扬刚主编电子系统设计与实践北京电子工业出版社,20044HTTP/WWW51C51COM/5张军主编单片机原理及接口技术北京清华大学出版社北京交通大学出版社,20066任立民编单片机应用系统设计北京北京航空航天大学出版社,19907李军主编51系列单片机高级实例开发指南北京北京航空航天大学出版社,20048童长飞主编C8051系列单片机开发与C语言编程北京北京航空航天大学出版社,20059谢自美电子线路设计、实验、测试武汉华中理工大学出版社,200010祁伟杨亭编著单片机C51程序设计教程与试验北京北京航空航天大学出版社,2006附录一系统原理图附录二PCB图GANEMPLOYMENTTRIBUNALCLAIEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEIFYOUARETHINKINGABOUTSIGNINGUPFORADAMAGESBASEDAGREEMENT,YOUSHOULDMAKESUREYOURECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLANDSBASEDWEBB,THEHEADOFFIFASANTIRACISMTASKFORCE,ISINLONDONFORTHEFOOTBALLASSOCIATIONS150THANNIVERSARYCELEBRATIONSANDWILLATTENDCITYSPREMIERLEAGUEMATCHATCHELSEAONSUNDAY“IAMGOINGTOBEATTHEMATCHTOMORROWANDIHAVEASKEDTOMEETYAYATOURE,“HETOLDBBCSPORT“FORMEITSABOUTHOWHEFELTANDIWOULDLIKETOSPEAKTOHIMFIRSTTOFINDOUTWHATHISEXPERIENCEWAS“UEFAHASOPENEDDISCIPLINARYPROCEEDINGSAGAINSTCSKAFORTHE“RACISTBEHAVIOUROFTHEIRFANS“DURINGCITYS21WINMICHELPLATINI,P

温馨提示

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

评论

0/150

提交评论