《基于单片机的电阻炉温控制系统设计(48页).doc》由会员分享,可在线阅读,更多相关《基于单片机的电阻炉温控制系统设计(48页).doc(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于单片机的电阻炉温控制系统设计-第 43 页摘 要在现代工业生产中,人们需要对各类加热炉、 反应炉和锅炉中的温度进行检测和控制。为适应这一需要有必要设计一个性能良好、 操作方便的温度控制系统。课题主要设计一个水温测控系统 ,控制锅炉中水的温度,选择合适的控制规律,使锅炉中水的温度按预定规律变化,并且能够进行越限报警。可通过键盘 ,显示电路设定目标温度和参数。控制系统按功能分主要包括温度传感器模块、温度显示/设定模块、温度控制模块、单片机与上位机通信模块。系统可通过键盘对电阻炉水温以及恒温时间长短进行预设,单片机根据当前炉内温度和预设温度,根据设定的算法计算出控制量,根据控制量通过PWM控制
2、固态继电器的导通和关闭从而控制电阻丝的导通时间,以实现对炉温的控制。另外通过单片机的串口与上位机通信,通过上位机软件实时显示当前温度和历史温度并且绘制出温度曲线,让系统的可读性更强,实现了远程监测的功能2。关键词:电阻炉,温度曲线,PWM,上位机AbstractThe project is mainly about designing a water temperature monitoring system to control the water temperature in the boiler, and choosing proper control rules to make wat
3、er temperature in the boiler change within the predetermined path, with the function of alerting temperature rising limit. Through the keyboard and display, we can set the goal temp. and other parameters. Control system, according to the functions, includes temperature sensor module, the temperature
4、 display / setting module, a temperature control module, MCU and host computer communication module. System can preset the resistance furnace temperature and heating time through the keyboard. Single-chip microcomputer, according to the furnace temperature and preset temperature and the set of algor
5、ithms, calculates the volume control, and according to the control volume, using the PWM control solid state relay to switch on and off so as to control the resistance wire conduction time in order to achieve temperature control. In addition through the serial port of MCU and host computer communica
6、tion, through the PC software, the device can fulfill the real-time display of current temperature and temperature history and draw out the temperature curve, making the system more readable, realizing the remote monitoring function.Key words: STC89C52, DS18B20, PWM, PC目录摘 要.IAbstractII目录III1 绪论11.1
7、 选题意义11.2 国内外发展趋势11.3 系统的主要性能指标21.4 主要工作任务22 系统方案选择和工作原理22.1 系统综述22.2各模块电路的方案选择及论证32.2.1 系统硬件总框图32.2.2主机控制模块42.2.3温度控制模块42.2.4温度采集模块52.2.5显示模块52.2.6上位机软件62.3系统各模块的最终方案63 系统硬件设计73.1 STC89C52构成的最小系统73.1.1 晶振回路73.1.2 复位电路83.2温度采集模块的硬件设计83.2.1温度传感器DS18B20概述83.2.2温度采集模块的硬件设计103.3 报警电路设计103.4 电源电路设计113.5
8、按键电路设计123.5.1矩阵式键盘的结构与工作原理123.5.2矩阵键盘两种扫描方式133.6 显示电路设计133.6.1 LCD1602简介133.6.2 LCD1602管脚功能介绍143.6.3温度显示模块电路图173.7 时钟电路设计173.7.1 DS1302简介173.7.2 DS1302的结构及工作原理183.7.3 DS1302的控制字节183.7.4数据输入输出(I/O)183.7.5 DS1302的寄存器193.7.6 DS1302硬件连接图193.8电平转换电路设计193.8.1 RS-232标准介绍193.8.2 DB-9连接器203.8.3 MAX232芯片介绍223
9、.8.4 串口硬件连接图223.9 继电器驱动电路设计223.9.1 固态继电器的分类与工作原理223.9.2固态继电器的硬件连接图244 系统的软件设计244.1 主程序的设计254.2 液晶显示模块264.3温度模块软件设计274.3.1 DS18B20测温数据的读取程序设计274.3.2 DS18B20温度读取流程324.4中断服务函数334.5上位机软件设计345 系统抗干扰措施375.1软件抗干扰措施37结 论39致 谢40参考文献41附录A 系统原理图42附录B 系统总程序431 绪论1.1 选题意义随着现代科学技术的迅猛发展,各个领域对温度控制系统的精度、稳定性等的要求越来越高,
10、控制系统也千变万化。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制等等。而且在我们的日常生活中也使用微波炉、电阻炉、电热水器、空调等家用电器,温度与我们息息相关。可见温度控制电路广泛应用于社会生活的各个领域,所以对温度进行控制是非常有必要和有意义的。随着电炉广泛应用于各行各业, 其温度控制通常采用模拟或数字调节仪表进行调节,但存在着某些固有的缺点。而采用单片机进行炉温控制,不仅可以大大地提高控制质量和自动化水平,而且具有良好的经济效益和推广价值。为适应以上现实需要有必要设计一个基于单片机的性能
11、良好、 操作方便的温度控制系统。1.2 国内外发展趋势自1980年以来,由于工业过程控制的需要,特别是微电子技术和计算机技术的迅猛发展以及自动控制理论和设计方法发展的推动下,国外温度测控系统发展迅速,尤其是控制方面,在智能化、自适应、参数自整定等方面取得显著成果。在这方面,以日本、美国、德国、瑞典等国家技术领先,都生产出了一批商品化、性能优异的温度控制仪表,并在各行业广泛应用。其特点是适应于大惯性、大滞后等复杂温度测控系统,具有参数自整定功能和自学习功能,即温控器对控制对象、控制参数及特性进行自动整定,并根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果的最优化。温度控制系
12、统具有控制精度高、抗干扰力强等特点。目前,国外温度控制仪表正朝着高精度、智能化、小型化等方向发展。电阻炉是热处理生产中应用最广泛的加热设备,它在机械,冶金等行业的生产中占有十分重要的地位。对电阻炉温度控制的好坏直接影响工艺要求的温度水平和加热质量,以致直接影响产品的质量、产量和生产消耗指标,所以国内外关于电阻炉自动控制的研究一直备受重视,发展比较快,也取得了较为丰硕的成果。总的来说,电阻炉温度控制的发展分为以下三类:第一类: 经典控制方案第二类: 基于现代控制理论的设计方案第三类: 智能控制方案1.3 系统的主要性能指标根据生活、生产环境,设计本产品的主要技术指标为:测温范围:0+99.9 。
13、温度测量精度:在085 时精度为0.5。可设置上限报警值,当温度超限时,发出报警信号。电源工作范围:DC4.55.5V。能够按照设定的温度曲线控温。1.4 主要工作任务在对各类温度传感器原理介绍的基础上,根据本毕业设计实际的任务要求,完成温度传感器芯片的选型,系统芯片的选择,并设计电源电路、显示接口电路、键盘电路、报警电路、时钟电路、单片机与上位机通信电平转换电路。系统开始工作后,根据初始条件读取温度值,测量数据经处理后,将其与设定的温度值比较,如果发现当前的温度超限,则发出报警信号,未超限时,系统显示正常的温度度值,并在达到设定的恒温温度时开始恒温计时。根据设定的算法计算出控制量,根据控制量
14、通过控制固态继电器的导通和关闭从而控制电阻丝的导通时间,以实现对炉温的控制3。2 系统方案选择和工作原理2.1 系统综述本文所要研究的课题是基于单片机控制的水炉温度控制系统,主要是介绍了对水箱温度的测控,实现了温度的实时显示及控制。用DS18B20、STC89C52单片机及LCD的硬件电路完成对水温的实时检测及显示,由DS18B20检测炉内温度,并在LCD1602中显示。控制器是用STC89C52单片机,根据设定的算法计算出控制量,根据控制量通过控制固态继电器的导通和关闭从而控制电阻丝的导通时间,以实现对炉温的控制。DS18B20可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20
15、都有唯一的产品号,可以一并存入其ROM中,以便在构成大型温度测控系统时在单线上挂接任意多个DS18S20芯片。从DS18S20读出或写入DS18S20信息仅需要一根口线,其读写及其温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,故不需要额外电源。同时DS18B20能提供九位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。本设计主要实现温度测控,温度显示,温度门限设定,超过设定的门限值时自动启动相应的功能。而且还要以单片机为主机,使温度传感器通过一根口线与单片机相连接,再结合上位机通信部分来共同实现温度的监测与控制。22各模块电路的方案选择及论证根据题目的基本要
16、求,设计任务主要设计一个水温测控系统,控制锅炉中水的温度,选择合适的控制规律,使锅炉中水的温度按预定规律变化,并且能够进行越限报警。可通过键盘,显示电路设定目标温度、控制参数、运行等。2.2.1 系统硬件总框图显示电路上位机通信报警电路温度检测电路按键电路时钟电路单片机 图2-1系统硬件总框图2.2.2主机控制模块方案一:采用FPGA作为系统控制器。FPGA功能强大,可实现各种复杂的逻辑功能,规模大,密度高,它将所有器件集成在一块芯片上,可以减少体积,提高稳定性,并且可用EDA软件仿真、调试,易于进行功能扩展,但成本较高。由于本设计对数据的处理速度本不高,FPGA的高速处理优势得不到充分体现,
17、且引脚较多。方案二:采用模拟放大器组成的PID控制系统。对于水温控制系统是足够的。但要附加显示,温度设置等功能,附加电路较多,且反应速度慢。方案三:采用STC89C52单片机作为控制器。单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑功能。本身带有定时/计数器,可以用来定时、计数,并且具有功耗低、体积小、技术成熟和成本低等优点。基于以上分析,拟定方案三,由STC89C52作为主机控制部分。2.2.3温度控制模块根据题目要求,可以用电阻炉进行加热,控制电阻炉的通断频率即可以控制加热的速度。当水温过高时,关掉电阻炉,即可使水温控制在设定的温度范围内。对加热控制模块有以下
18、三种方案:方案一:采用可控硅来控制加热器有效功率。可控硅是一种半控器件,应用于交流电的功率控制有两种形式:控制导通的交流周期数达到控制功率的目的;控制导通角来控制交流功率。可以实现对交流电单个周期有效值周期性控制,保证系统的动态性能指标。该方案电路稍复杂,需使用光耦合驱动芯片以及变压器等器件。但该方案可以实现功率的连续调节,因此反应速度快,控制精度高。 方案二:采用电磁继电器作为控制器件。电磁继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流、较低的电压去控制较大电流、较高的电压。但是电磁继电器开关频率低,不能
19、用于开关频率高的场合。方案三:采用固态继电器控制。使用固态继电器可以很容易地实现控制较高的电压和电流,在正常条件下,工作十分可靠。继电器无需外加光耦,自身即可实现电气隔离。固态继电器具有控制电压宽(332 V)、驱动电流小(520 mA)、通断延间小(10 ms)等优点,适合通断频率高的控制场合。分析可知方案三无法精确实现电热丝功率控制,但是采用固态继电器控制省去光耦和交流过零检测电路,并且可以通过算法,利用pwm波控制开关频率,同样可以达到要求的控温精度。2.2.4温度采集模块方案一:选用Harris公司生产的采用激光修正的精密集成温度传感器AD590。AD590的测温范围是-55+150,
20、最大非线性误差为0.3,响应时间仅为20us,重复性误差低至0.05,功耗低,仅为2mW。此外AD590是温度-电流传感器,对于提高系统抗干扰能力有很大的帮助,但是该器件需要模数转换电路。方案二:采用热敏电阻。选用此类元件的优点价格便宜,但由于热敏电阻的非线性特性会带来较大的误差。方案三:使用带有A/D(模数转换)单片集成的DS18B20传感器。DS18B20数字传感器是DALLAS公司生产的即单总线器件,无需其他外加电路,直接输出数字量。可直接与单片机通信,读取测温数据。具有线路简单,性能稳定体积小的特点,测温范围55+125,固有测温分辨率0.5。比较以上方案,DS18B20传感器直接输出
21、数字信号,结构简单性能可靠,测温范围和测温精度满足设计要求,而且比方案一成本低,所以选择方案三。2.2.5显示模块方案一:采用三个LED八段数码管分别显示温度的十位、个位和小数位。数码管具有亮度高,寿命长,耐老化,对外界环境要求低。但LED八度数码管引脚排列不规则,显示时要加驱动电路,硬件电路复杂。方案二:采用带有字库的12864液晶显示屏。12864液晶显示屏(LCD)具有功耗低、轻薄短小无辐射危险,平面显示及影像稳定,不闪烁,可视面积大,画面效果好,能显示文字和图像,抗干扰能力强。但是12864价格昂贵。方案三:1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵
22、型液晶模块它有若干个57或者511等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形,但是价格便宜,编程简单。比较以上方案,方案二是显示温度曲线的首选,但是因为设计会做单片机与上位机通信,通过上位机显示温度曲线,下位机无需再显示温度曲线,考虑经济因素,采用方案三作为显示模块。2.2.6上位机软件方案一:VB是Visual Basic的缩写,是微软公司于1991年推出的以结构化Basic语言为基础,以事件驱动为运行机制的集成开发环境。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的
23、开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。方案二:VC是Visual C或Visual C+的缩写,也是微软公司推出的,支持C和C+语言。也就是在VC环境下,可以用C/C+编写代码,然后编译、运行、调试,并最终生成可运行的EXE文件及相关配置。比较以上两种语言后发现vb相对vc来说更简单易学,编译快速,生成软件体积更小,所以这里选择vb进行上位机编程。2.3系统各模块的最终方
24、案根据以上分析,结合器件和设备等因素,确定如下方案:采用STC89C52单片机作为控制器,分别对温度采集、LCD显示、温度设定、加热装置、上位机通信进行控制。温度测量模块采用DS18B20,此器件的使用可以省去A/D(模数转换)部分。电热丝有效功率控制采用固体继电器控制,实现电路简单实用,固体继电器的开关频率可以满足设计要求。显示用LCD1602显示屏显示温度值和时间,用数字键和功能设置键实现温度、时间的设置。上位机采用vb语言编写,因为vb相对来说更简洁、易学,编程界面更友好。3 系统硬件设计为了实现温控系统的智能化,系统的硬件设计包括控制系统最小系统的设计,电源电路的设计,温度测量回路的设
25、计,显示电路的设计,时钟电路设计,按键电路设计,报警电路设计,以及上位机通信电路的设计。3.1 STC89C52构成的最小系统微型计算机即单片机是因工业测控系统数字化,智能化的迫切需求而发展起来的。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时
26、器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz。 3.1.1 晶振回路晶振回路主要任务是为STC89C52单片机正常工作需要的时钟电路提供一个稳定的工作频率。根据STC89C52单片机时钟周期的要求,回路需要选用频率为11.0592MHz的晶振。晶振回路由电容和陶瓷谐振器晶振组成。作为单片机的时钟源。STC89C52
27、内部有一个用于构成振荡器的高增益反相放大器,此放大器的输入和输出端分别是引脚XTAL0和XTAL1,在XTAL0和XTAL1端口接上时钟电源即可构成时钟电路。本设计中采用内部时钟产生方式。在XTAL0和XTAL1两端跨接晶振,与内部的反相器构成稳定的自激振荡器。其发出的时钟脉冲直接送入单片机内定时控制部件。电容C1和C2对频率有微调作用。电容C1和C2应尽可能的安装在单片机芯片附近,以减少寄生电容,保证振荡器稳定可靠的工作。晶振电路如图3-2所示图3-2 晶振电路3.1.2 复位电路为确保温控系统电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。电路正常工作需要供电电
28、源为5V5%,即4.755.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。复位电路第二功能是手动复位。手动复位需要人为在复位输入端RST上加入高电平,一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。复位电路如图3-3所示: 图3-3 复位电路3.2温度采集模块的硬件设计3.2.1温度传感器DS18B20概述温度传感器是将温度信号转换为电信号的装置,型号有很多,数字式温度传感器常用的有DS18B
29、20、DS1820等。此设计采用的是DS18B20。DS18B20是DALLAS公司生产的一线式数字温度传感器,是世界上第一片支持“ 一线总线”接口的温度传感器, 在其内部使用了在板(ON-BOARD)专利技术。具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20内部结构
30、如图3-4所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DQ为数字信号输入输出端;GND为电源地;VCC为外接供电电源5。图3-4 DS18B20内部结构框图ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/
31、LSB形式表达,其中S为符号位。例如125的数字输出为07D0H,25.0625的数字输出为0191H,25.0625的数字输出为FF6FH,55的数字输出为FC90H。DS18B20主要特性如下:适应电压范围更宽,电压范围:3.0V5.5V,在寄生电源方式下可由数据线供电。独特的单线接口方式, DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与的双向通讯。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。温度范围-55+125,在-108
32、5 时精度为0.5。可编程的分辨率为9-12位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。在9位分辨率时最多在93.75ms内把温度转换为数字。测量结果直接输出数字温度信号,以“ 一线总线”串行传送给CPU, 同时可传送CRC校验码,具有极强的抗干扰纠错能力。负压特性电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。3.2.2温度采集模块的硬件设计当DS18B20正在执行温度转换或从高速暂存器EPPROM传送数据时,工作电流可达1.5mA,这个电流可能会引起连接单总线的弱上拉电阻的不可接受的压降,这需要更大的电流,而此时Cpp(寄生电源储能电容)无
33、法提供,为了保证DS18B20有充足的供电,当进行温度转换或拷贝数据到EEPROM操作时,必须给单总线一个上拉电阻,一般为4.7K的上拉电阻,根据距离远近可以适当调节阻值,距离近时减小阻值,但不能低于2.1K,否则DS18B20将无法复位。其数据线DQ端接单片机P2.2。硬件电路如图3-5所示。图3-5 DS18B20接线图在外部电源供电方式下, DS18B20工作电源由VCC引脚接人, 不存在电源电流不足的问题, 可以保证转换精度, 同时在总线上理论可以挂接任意多个DS18B20传感器, 组成多点测温系统。注意在外部供电的方式下, DS18B20的GND引脚不能悬空, 否则不能转换温度, 读
34、取的温度总是851。3.3 报警电路设计目前智能化的测试仪表设计都自带有报警电路。设计报警电路也是为了更完善系统的功能。本设计采用由发光二极管和压电式蜂鸣器为核心的声光报警电路。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.5
35、2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。报警电路的功能是在STC89C52单片机的控制下实现声光报警或解除报警。当STC89C52单片机检测实时温度超过设定报警温度时,通过报警电路向报警器发出有效信号(低电平有效),声音报警电路接到有效电平后则自动发出预置的报警声,同时红色报警指示灯发出耀眼的红色信号。报警电路结构如图3-6所示图3-6 报警电路接线图3.4 电源电路设计温度测量系统的电源使用直流电源。电源部分是整个系统的基础,这部分的稳定工作对整个以单片机
36、为核心的系统的内稳定工作起着至关重要的作用。STC89C52单片机和DS18B20温度传感器芯片正常工作电压范围都是DC4.55.5V。为了使系统安全稳定的工作,还需要设计系统的电源电路。首先+220V的交流电压需要经过变压器降到15V左右。然后经过桥式整流电路把交流电转变成直流电。整流后的电流经过稳压器LM7805输出稳定的+5V电压。桥式整流电路是有四个型号相同的二极管组成的。VD1和VD3两个二极管组成一对桥臂;VD2和VD4两个二极管组成一对桥臂。由于二极管的启动电压比较小,所以经过变压器的电压可以使VD1和VD3二极管组成的桥臂在正半周期导通,VD2和VD4两个二极管组成的桥臂在负半
37、周期导通。稳压器LM7805是由三个管脚组成的串联型降压式电源芯片。Vin是输入端,Vout输出端。两个端口接去耦电容后接地。经稳压器LM7805稳压后,输出端输出稳定的+5V直流电压。电源输出基本不受外输入变动的干扰。稳压器LM7805电源电路设计如图3-7所示。图3-7 电源电路图3.5 按键电路设计3.5.1矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多
38、,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些。列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。3.5.2矩阵键盘两种扫描方式行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下: 1)判断键
39、盘中有无键按下。将全部行线置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 2)判断闭合键所在的位置。在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。高低电平翻转法首先让P1口高四位为1,低四位为0,。若有按键按下,则高四位中会有一个1翻转为0,低四位不会变,此时即可确定被按下
40、的键的行位置。 然后让P1口高四位为0,低四位为1,。若有按键按下,则低四位中会有一个1翻转为0,高四位不会变,此时即可确定被按下的键的列位置。最后将上述两者进行或运算即可确定被按下的键的位置。 方法程序更简洁,这里使用第二种方法“高低电平翻转法”。硬件连接图如3-8所示:图3-8 矩阵键盘电路3.6 显示电路设计3.6.1 LCD1602简介液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。本系统采用LCD1602液晶显示模块,它可以显示两行,每行16个字
41、符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。LCD1602实物图如3-9所示:图3-9 LCD1602实物图3.6.2 LCD1602管脚功能介绍LCD1602接口引脚及其功能介绍如表3-1所示:表3-1 接口引脚及其功能引脚号符号状态功能1GND电源地2VCC电源+5V3V0液晶驱动电源4RS输入寄存器选择5R/W输入读、写操作6E输入使能信号7DB0三态数据总线(LSB)8DB1三态数据总线9DB2三态数据总线10DB3三态数据总线11DB4三态数据总线12DB5三态数据总线13DB6三态数据总线14DB7三态数据总线(MSB)15LEDA输入背光+5V16LE
42、DK输入背光地主要管脚介绍:V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS:寄存器选择,高电平时选择数据寄存器;低电平时选择指令寄存器。R/W:读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W为低电平时可以写入数据。E:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。LCD1602控制指令如表3-2所示:表3-2 LCD1602控制指令指令功能清屏清DDRAM和AC值输入方式设置设置光标、画面移动方式显示开
43、关控制设置显示、光标及闪烁开、关光标、画面位移光标、画面移动,不影响DDRAM功能设置工作方式设置(初始化指令)CGRAM地址设置设置CGRAM地址。A5A0=03FHDDRAM地址设置DDRAM地址设置读BF及AC值读忙标志BF值和地址计数器AC值写数据数据写入DDRAM或CGRAM内读数据从DDRRAM或CGRAM数据读出清屏指令如表3-3所示:表3-3 LCD1602控制指令RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 0 0 0 0 0 1开关控制指令如表3-4所示:表3-4开关控制指令RS R/WDB7 DB6 DB5 DB4 DB3 DB2
44、 DB1 DB00 00 0 0 0 1 D C B开关控制指令功能:设置显示、光标及闪烁开、关。其中:D表示显示开关:D=1为开,D=0为关;C表示光标开关:C=1为开,C=0为关;B表示闪烁开关:B=1为开,B=0为关。光标、画面位移指令如表3-5所示:表3-5 光标、画面位移指令RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 0 1 S/C R/L * *光标、画面位移指令功能:光标、画面移动,不影响DDRAM。其中: S/C=1:画面平移一个字符位;S/C=0:光标平移一个字符位;R/L=1:右移;R/L=0:左移。功能设置指令如表3-6所示:表
45、3-6 功能设置指令RS R/WDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 00 0 1 DL N F * *功能设置指令功能:工作方式设置(初始化指令)。其中:DL=1,8位数据接口;DL=0,四位数据接口;N=1,两行显示;N=0,一行显示;F=1,511点阵字符;F=0,57点阵字符。读写控制时序如表3-7所示:表3-7读写控制时序RSR/WE功能00下降沿写指令代码01高电平读忙标志和AC码10下降沿写数据11高电平读数据3.6.3温度显示模块电路图LCD1602引脚详解:第1脚:GND为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶对比度调整端,接正极时对比度弱,接负极时对比度高。第4脚:RS为寄存器选择,高电平时选数据寄存器、低电平时选指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。此处为P0口输出,因为P0口的电压过于微弱,所以添加上拉电阻使其能够驱动LCD液晶显示屏。温度显示模块的电路图如图3-10所示:图3-10 温度显示模块电路图 3.7 时钟电路设计3.7.1 DS1302简介串行时钟电路很多,如DS1302、DS1307、PCF8485等。这些电路的接
限制150内