毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc

上传人:laozhun 文档编号:3980192 上传时间:2023-03-30 格式:DOC 页数:38 大小:640KB
返回 下载 相关 举报
毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc_第1页
第1页 / 共38页
毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc_第2页
第2页 / 共38页
毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc_第3页
第3页 / 共38页
毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc_第4页
第4页 / 共38页
毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机AT89C51的电热炉温度控制系统的设计与仿真.doc(38页珍藏版)》请在三一办公上搜索。

1、目 录摘 要1ABSTRACT2第1章 绪 论31.1 单片机的应用31.2 电热炉控制中的问题31.3 本设计主要内容4第2章 设计仿真平台和编程软件52.1 设计仿真软件Proteus52.2 编程软件Keil7第3章 系统硬件结构设计83.1 系统硬件组成83.2 Proteus原理图设计83.3 硬件电路结构123.3.1 主控制芯片AT89C51原理及其说明123.3.2 外部时钟电路143.3.3 测温模块143.3.4 显示模块163.3.5 开关模块173.3.6 报警模块183.4 实际情况中的问题18第4章 系统软件设计及调试204.1 系统程序设计204.1.1 DS18

2、B20测温程序设计224.1.2 LM016L显示程序设计234.2 Keil与Proteus联调24第5章 总结与展望275.1 总结275.2 展望27参考文献28致 谢29附 录30摘 要:电热炉可使用金属发热体或非金属发热体来产生热源,其构造简单,工业电热炉的主要用途是供机械工业对原材料、毛坯、机械零件加热用。温度控制对于电热炉是至关重要的。为了更好地控制温度、提高控制质量,选用单总线芯片DS18B20作为温度传感器,进行了基于单片机AT89C51的温度控制系统的设计与仿真。显示模块选用LCD显示器,控制更为简单,显示更为清晰。配以键盘模块及由二极管、蜂鸣器组成的报警模块,组合成较为完

3、整的温度控制系统硬件。选用Proteus软件绘制电路原理图,同时选用软件Keil进行编程编译,并将Keil与Proteus联调,在Proteus中查看仿真结果,实现温度的自动控制。 关键词:单片机、温度控制、Keil、Proteus仿真Abstract:Electric furnace can use metal heater or ThermalTek to generate heat. Its structure is simple. Industrial electric furnaces are mainly used for the engineering industry for

4、heating raw materials, blanks and machine parts. Temperature control is critical for electric furnace. In order to control the temperature better and improve control quality, temperature control system based on AT89C51 microcontroller is designed and simulated. It uses a single bus chip DS18B20 as a

5、 temperature sensor. LCD monitor is used in display module for more simple control and more clearly shown. Accompanied by the keyboard module and alarm module consisting of the diode and buzzer, complete temperature control system hardware is formed. Circuit schematic diagram is drawn in proteus sof

6、tware, and the programs are compiled in the Keil platform. By debagging of keil and proteus, the simulation results can be viewed in proteus. And then temperature control is achieved.Keywords: Single Chip、Temperature control、Keil、Proteus simulation第1章 绪 论1.1 单片机的应用单片机具有体积小、可靠性高、功能强、使用方便、性能价格比高、容易产品化

7、等特点。国际上从1970年代开始,国内自1980年代以来,单片机已广泛应用于国民经济的各个领域,对各个行业的技术改造和产品的更新换代起重要的推动作用。其应用大致可分为如下几个范畴:1、在智能仪器仪表上的应用单片机具有功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。2、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。在工业过程控制、机床控制、机器人控制、汽车控制以及飞行器制导系统等方面得到广泛应用。3、在家用电器中的应用这个领

8、域的应用特点是量大面广并且具有价格低廉的特点,如电饭锅、电子游戏机、电视机、录音机、组合音响、洗衣机、电冰箱以至电子玩具等,都广泛地使用单片机进行控制。4、在计算机网络和通信领域中的应用现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5、单片机在医用设备领域中的应用单片机在医用设备中的用途相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6、在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不

9、要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),需要复杂的类似于计算机的原理。又如音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7、单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,ABS防抱死系统,制动系统等等。11.2 电热炉控制中的问题温度是工业生产和科学实验中一个非常重要的参数。许多生产过程

10、都是在一定的温度范围内进行的,甚至对温度的要求相当严格,因此生产现场需要测量温度和控制温度。温度是电热炉需要控制的主要参数。在传统的电热炉温度控制系统中,炉温控制采用温度仪表监视和人工调节相结合的方式,电热炉的电源通断大多采用交流接触器来控制。这种控制方式结构简单,但控制精度差,控制速度慢,在资源方面耗费人力且本身耗能多,控制器的噪音大,而且在控温过程中由于接触器频繁通断,经常发生触点电弧放电现象,容易造成短路,使接触器损坏,对操作人员和设备带来不利影响及安全隐患。传统的定值开关温度控制法存在温度滞后的问题,而多数传统基于常规PD控制的控制装置,存在精度不高、效率低等问题。1.3 本设计主要内

11、容 本课题是基于单片机的电热炉温度控制系统的设计,要求实现温度自动控制,同时显示实际温度值和设定温度值,并控制实际温度值与设定温度值相差不超过2度,超过范围时自动报警并作出相应的动作。温度的控制图如图1-1所示。CPU对象测温显示 设定值输出值-图 1-1 温度控制反馈图第二章中简单介绍了编程软件Keil及电路设计仿真软件Proteus。第三章介绍本设计硬件结构及所涉及的芯片、电路说明,主控制芯片采用AT89C51;由于DS1302是一种高性能的芯片,可自动计时计数,故时钟电路采用DS1302;温度传感芯片DS18B20是单总线结构芯片,结构简单,接线少,且程序编写简单,故温度采集、转换、传递

12、采用DS18B20;LCD显示电路结构简单且软件设计也相对简单,具有低功耗特点,因此显示模块采用LCD显示。第四章简单讲述了程序的编写及Keil与Proteus联调显示的结果,具体程序见附录。本课题基于编程软件Keil和硬件电路仿真软件Proteus,在Keil软件中程序编译成功后与Proteus软件的原理图联调,仿真实现课题要求。第2章 设计仿真平台和编程软件2.1 设计仿真软件ProteusProteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。该软件将处理器模型、Prospice混合电路仿真、虚拟仪器、高级图形仿真、动态器件库和外设模型、处理器软仿真器、第三方的

13、编译器和调试器等有机结合起来,真正第一次实现了在计算机上完成从原理图设计、处理器代码调试及实时仿真、系统测试及功能验证,甚至可以生成PCB,功能及其强大。它运行于Windows操作系统上,可以仿真集成电路,简单介绍该软件的特点如下: 具有强大的原理图绘制功能。 支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、HC11系列、PIC12系列、PIC16系列、PIC18系列、Z80系列以及各种外围芯片如LCD、DS18B20。 实现了单片机仿真和SPICE电路仿真相结合。在元件库中有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。具有模拟电路仿真、数字电

14、路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能。 提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,在该软件仿真系统中同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。Proteus ISIS的工作界面是一种标准的Windows界面,如图2-1所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、图形编辑窗口、对象选择器窗口、预览窗口。图 2-1 Proteus界面其中各部

15、分的功能简单介绍如下: 原理图编辑窗口(The Editing Window):用来绘制电路原理图。蓝色方框内为可编辑区,画元件时要放置到里面。这个窗口没有滚动条,可通过拖动预览窗口的绿色方框来改变原理图的可视范围。 预览窗口(The Overview Window):它可显示两个内容,在元件列表中选择一个元件时,可以显示该元件的预览图;鼠标焦点落在原理图编辑窗口时,会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容。 模型选择工具栏(Mode Selector Toolbar):主要模型(Main Modes):1* 选择元件(compone

16、nts)2* 放置连接点3* 放置标签(用总线时会用到)4* 放置文本5* 绘制总线6* 放置子电路7* 即时编辑元件参数 配件(Gadgets):1* 终端接口(terminals):有VCC、地、输出、输入等接口2* 器件引脚:用于绘制各种引脚3* 仿真图表(graph):用于各种分析,如Noise Analysis 4* 录音机 5* 信号发生器(generators) 6* 电压探针:使用仿真图表时要用到 7* 电流探针:使用仿真图表时要用到 8* 虚拟仪表:有示波器等2D图形(2D Graphics): 1* 画各种直线 2* 画各种方框 3* 画各种圆 4* 画各种圆弧 5* 画各

17、种多边形 6* 画各种文本 7* 画符号 8* 画原点等 元件列表(The Object Selector):用于挑选元件(components)、 终端接口(terminals)、 信号发生器(generators)、 仿真图表(graph)等。当选择“元件(components)”,单击“P”按钮会打开挑选元件对话框,选择了一个元件后(单击了“OK”后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。 方向工具栏(Orientation Toolbar): 旋转:旋转角度只能是90的整数倍。 翻转:完成水平翻转和垂直翻转。 使用时先右键单击元件,再点击(左击)相应

18、的旋转图标。 仿真工具栏 仿真控制按钮 1* 运行 2* 单步运行 3* 暂停 4* 停止通过单步运行可以查看程序的执行情况。2.2 编程软件Keil目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。Keil提供C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等的完整开发方案,界面如图2-2所示。该软件由以下几部分组成:Vision IDE集成开发环境、C51编译器、A51汇编器、LIB51库管理器、BL51连接/

19、定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。图 2-2 Keil界面keil vision2 编写程序一般步骤如下:1、新建工程2、新建源程序文件,可以是C语言或汇编语言等3、把源程序添加到工程中4、编译并生成Hex文件绘制原理图及编写程序过程见第三章、第四章,本章不再叙述。第3章 系统硬件结构设计3.1 系统硬件组成系统硬件设备由以下几部分组成: 单片机:本系统选用AT89C51, 它的片内有集成的存储器, 无需外接存储器,使程序写入更加方便。 温度测量电路: 采用美国公司生产的单总线数字式温度传感器, 由于是单总线结构,具有结构简单, 不需要外接电路,

20、可用一根数据线既供电又传输数据, 并且具有体积小,分辨率高,转换快等优点。 键盘设定电路:输入设定的温度, 必须依靠键盘, 这里利用单片机的P2口连接矩阵式键盘, 采用扫描方式读键值,以实现温度设定。 温度显示电路:采用LCD显示器,电路比较简单,且在软件设计上也相对简单,具有低功耗功能,能够满足设计最优的要求。为使显示器能正常显示、稳定工作, 单片机的P0口作为数据输出接口,P1口作为控制字输入端口。 报警电路: 在系统温度达到上下限报警温度时选择发光二极管和蜂鸣器来实现这一功能。发光二极管工作时需要电流, 设计时考虑了相应的控制电路。3.2 Proteus原理图设计本设计采用AT89C51

21、作为控制系统,DS18B20温度传感器采集、转换温度,显示器LM016L显示温度,用proteus画的原理图如图3-1所示:图 3-1 原理图电路图的绘制过程如下:1、将所需元器件添加到对象选择器窗口。单击对象选择器按钮,如图3-2所示。图 3-2 选择元件弹出“Pick Devices”页面,在“Keywords”输入AT89C51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图3-3所示。图 3-3 查找元件在“Results”栏中的列表项中,双击“AT89C51”,则可将“AT89C51”添加至对象选择器窗口。同理,添加LM016L、DS18B20、LED、DS

22、1302等其他涉及的元器件至对象选择器窗口。如图3-4所示。图 3-4 对象选择器窗口2、放置元器件至图形编辑窗口在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象放置完成。若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,该对象的颜色变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。同理放置其他元器件,如图3-5所示。图 3-5 放置元件3、元器件之间的连线Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“W

23、AR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。例如,在LCD红色引脚处引出起点,连接到单片机对应引脚。如图3-6所示。同理,可以完成其它连线。在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。图 3-6 连线4、给总线或应连接而不便连接的导线贴标签单击绘图工具栏中的导线标签按钮,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“”号,如图3-7所示。表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图3-8所示。图 3-7 贴标签图 3-8 编辑标号在“string”栏中,输入标签名称(如P10),

24、单击“OK”按钮,结束对该导线的标签标定。如图3-9所示。同理,可以标注其它导线的标签。 图 3-9 编辑好的标签5、加入电源、接地单击工具栏中按钮,出现如图3-10后选择POWER或GROND,将电源或接地符号放置在相应引脚上。如图3-11所示。图 3-10 选择电源或地图 3-11 放置电源或地在绘制过程中如需删除元器件或导线、标签等,用右键双击需要删除的对象即可。至此,电路图基本绘制完成。根据实际要求可不断修改。3.3 硬件电路结构3.3.1 主控制芯片AT89C51原理及其说明AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含4k bytes 的可反复擦

25、写的只读程序存储器(PEROM)和128 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大,可灵活应用于各种控制领域。主要性能参数:l 与MCS-51产品指令系统完全兼容l 4K字节可重复擦写FLASH闪速存储器l 1000次擦写周期l 全静态操作:0Hz24MHzl 三级加密程序存储器l 128*8字节内部RAMl 32个可编程I/O口线l 2个16位定时/计数器l 6个中断源l 可编程串行UART通道l 低功耗空闲和掉电模式引脚功能:VCC(40)

26、:电源电压 GND(20):接地P0口(32-39):P0口是一个8位双向I/O接口,也即地址/数据总线复用口。作为输出口用时,每位以吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用。P1口(1-8):P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P1.0和P1.1还可以分别作为定时/计

27、数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。P2口(21-28):P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。P3口(10-17):P3是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)

28、4个TTL逻辑门电路,对端口P3写“1”时,它们被内部上拉电阻拉高并可作为输入端口,此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3-1所示:表 3-1 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写通道)P3.7RD(外部数据存储器读通道)RST(9):复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。复位电

29、路如图3-12所示。图 3-12 复位电路XTAL1(19):振荡器反相放大器的输入端及内部时钟发生器的输入端。XTAL1(18):振荡器反相放大器的输出端。通过XTAL1、XTAL2外接晶振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。震荡电路如图3-13所示。图 3-13 震荡电路3.3.2 外部时钟电路在时间控制中,如果用系统的定时器设计时钟,当偶然掉电或晶振的误差都会造成时间的错乱,因此本设计采用DS1302构成时钟电路。如图3-14所示:图 3-14 时钟电路DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路芯片,它可以对年、月、日、

30、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,这里与单片机的P1.5、P1.6、P1.7口连接,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,可以同时记录数据与出现该数据的时间。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是定时采样,不能记录时间,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源

31、,另一方面需要设置中断、查询等,耗费单片机的资源。但是,如果在系统中采用时钟芯片DS1302,就能很好地解决这个问题。本设计将DS1302芯片作为一个扩展。3.3.3 测温模块温度传感器是各种传感器中最常用的一种,早期使用模拟温度传感器如热电阻。现代的温度传感器已经走向数字化、微型化、集成化。本设计采用DS18B20。在Proteus中温度传感器DS18B20的元件图形及实物图如图3-15所示。 图 3-15 DS18B20元件图及实物图DS18B20是DALLAS公司生产的1Wire,即单总线器件,具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,与单片机接口仅需占用一个I/O端

32、口,无须任何外部元件,直接将环境温度转化成串行数字信号供处理器处理。其特性如下:(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在55到125之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限报警设置。(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(8)电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。如果需要控制多个DS18B20进行温度采集,只需将DS18B20的I/O口都连到一起。如图3-16所示。图3-

33、16 DS18B20多点测温DS18B20的引脚功能为:DQ为数字信号输入/输出端;GND为电源地;VCC为外接供电电源输入端。本设计使用单片机AT89C51的P1.0口与DS18B20的单总线端口DQ相连。如图3-15所示。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20在出厂时默认设置为12位,最高位为符号位,温度值共11位。单片机在读取数据时一次读取2个字节共16位,前5位为符号位,当前5位为1时,读取的温度为负值,读到的数值要取反加1再乘以0.0625才是实际温度值。而当前5位为0时,读取的温度为正值,读

34、到的数值直接乘以0.0625便是实际温度值。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。在实际使用中,DS18B20有以下事项需要注意:在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 在用DS18B20进行长距离测温系统设计时要充

35、分考虑总线分布电容和阻抗匹配问题。因为连接DS18B20的总线电缆是有长度限制的。向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,假如某个DS18B20接触不好,当程序读该DS18B20时,将没有返回信号,程序会进入死循环。DS18B20的初始化、工作时序见第四章。3.3.4 显示模块液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。各种型号的液晶显示器通常按照显示的行数来命名,如1602,就是每行显示16个字符,一共显示2行。液晶显示器(LCD)具有功耗低、体积小、质量轻的特点。点阵字符型液晶显示器把LCD 控制器、点阵驱动器、字符存储器集

36、成在一块印刷电路板上,构成便于应用的液晶模块。这类液晶模块不仅可以显示数字、字符,还可以显示各种图形符号以及少量自定义符号,并且可以实现屏幕的上下左右滚动、文字的闪烁等功能。但是液晶的使用温度范围比较窄,通用型液晶正常工作范围为055。因此在设计产品时,要选取合适的液晶显示器。本设计使用显示器LM016L,如图3-16所示。图 3-16 LM016L液晶显示器LM016L主要技术参数如下:显示容量:16*2个字符芯片工作电压:4.55.5V工作电流:2.0mA字符尺寸:2.95*4.35(W*H)mm表3-1 LM016L 引脚说明管脚号名称电平功能描述1VSS0V2VDD5.0V3VEE4R

37、SH/LH:数据线上为数据信号;L:数据线上为指令信号5RWH/LH:读数据模式;L:写数据模式6EH/L使能信号端714DB0DB7H/L数据口采用液晶显示装置即把温度信号显示在液晶显示器上,不仅结构简单清新可见,而且省电容易控制。数据的传输采用P0口进行控制, 与显示器的D0D7脚相连,同时连接一个8脚排阻。其引脚VSS和VEE接地,VDD接高电平,RS和RW、E是显示器的控制端,分别由单片机的引脚P1.1、P1.2、P1.3进行控制。如图3-17所示。图 3-17 LM016L与单片机的连接显示器相关初始化、读写控制见第四章。3.3.5 开关模块本课题温度设定由矩阵式键盘设定,键盘是一组

38、按键的组合,共有12个按键,分别是0、1、2、3、4、5、6、7、8、9、+、-,电路如图3-18所示。通常用到的开关都是机械弹性开关,当开关闭合时,线路导通,开关断开时,线路断开。单片机AT89C51的P2口作为检测按键时用的I/O口与矩阵键盘两端都相连,在检测是否有键按下时需人为通过P2口送出低电平。即采用扫描式读键值。检测时,先送一列为低电平,其余几列全为高电平,然后轮流检测一次各行是否有低电平,若某一行有低电平,则可确认当前按下的键的行列数。键在按下和释放的瞬间会产生抖动现象,因此在检测键盘时要加上去抖动电路,本设计使用延时程序来去抖动。图 3-18 键盘模块3.3.6 报警模块本设计

39、采用发光二极管和蜂鸣器作为报警装置。当实际温度达到上限或下限时,相关二极管发光、蜂鸣器报警;实际温度低于设定温度时,发光二极管点亮报警。二极管分别与P3.0、P3.1、P3.2、P3.3相连,蜂鸣器与P3.4连接。电路如图3-19所示。 图 3-19 报警模块及相应管脚连接3.4 实际情况中的问题实际的温度控制是一个反馈控制,CPU进行温度处理后控制信号作用于对象,将对象的测温结果再反馈给CPU,是一个动态过程。在实际的硬件电路中,温度的对象是具体存在的,但在proteus中,DS18B20已经包含了温度对象,对电阻R6的控制就是对温度对象的控制,再通过DS18B20的测温反馈到单片机中。单片

40、机对实际温度与设定温度进行比较后,根据设定要求通过热电阻等器件加温,通过自然冷却降温,从而达到温度的大致恒定。DS18B20在实际中仅作温度传感器使用,但在proteus中可以通过改变DS18B20的值来改变实际温度的值。在本设计中控制方法是定值开关温度控制,没有采用PID控制算法,可以满足本设计要求。在实际应用中还有PD、PID算法,可以达到比较高的精度。不同的控制对象,所采用的算法有所不同。例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型的大型立式淬火炉,可以采用人工智能模糊控制算法,通过对淬火炉电热元件通断比的调节,实现对炉温的自动控制,也可以采用仿人智能控制(SHIC)算法

41、和PID控制算法的联合控制方案,实际应用时应灵活运用。本设计中考虑到对对象的执行部分,如图3-20所示。单片机的P3.7口控制热电阻的通断。当经过比较后需要加温时P3.7输出高电平。否则保持低电平。图 3-20 加热电阻 实际的工业情况中,温度的测量变送可以使用模拟式温度变送器或智能式温度变送器。执行机构一般采用电动执行机构。如电动阀门。控制信号从控制器传送到电动阀门即是从控制室传送到现场,需要通过安全栅,并采用直流电流信号。具体参见控制仪表相关书籍。第4章 系统软件设计及调试4.1 系统程序设计Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等

42、操作。首先新建工程(Project-new project),如图4-1所示。图 4-1 新建工程文件保存类型为.uv2,如图4-2所示。图 4-2 保存工程点击保存后在跳出来的对话框中选择Ateml下面的89c51单片机。如图4-3所示。图 4-3 选择单片机类型这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,如图4-4所示。出现一个对话框,要求寻找并加入源文件,源文件后缀为.c或.asm,如图4-5所示。打开空白c文件就可以开始

43、编写程序了。图 4-4 添加源文件图 4-5 源文件4.1.1 DS18B20测温程序设计1、DS18B20的控制指令如下: CCH跳过ROM。忽略64位ROM地址,直接向DS18B20发送温度变换命令。 55H匹配ROM,发出此命令后发出64位ROM编码,访问单总线上与该编码相对应的DS18B20并使之做出响应。 33H读ROM中的编码。如果主机只对一个DS18B20进行操作(即本设计这样的情况),只需用跳过ROM(CCH)命令就可进行温度转换和读取操作。如下: 44H温度转换。启动DS18B20进行温度转换,结果存入内部9字节的RAM中。 BEH读暂存器。读内部RAM中9字节的温度数据。

44、4EH写暂存器。发出向内部RAM的第2、3字节写上下限温度数据命令,随后传送两字节的数据。2、工作时序及相应程序: 初始化: 先将数据线置高电平1; 延时; 数据线拉到低电平0; 延时; 数据线拉到高电平1; 延时等待; 数据线再次拉到高电平1。 具体的程序应用如下: void dsreset(void) uint i; ds=0; i=103;while(i0)i-;ds=1;i=4;while(i0)i-; 写数据: 数据线置低电平0; 延时15us; 按从低位到高位的顺序发送数据; 延时45 us; 将数据线拉到高电平1; 重复步骤,直到发送完整个字节; 再次将数据线拉高到1。 读数据:

45、 将数据线拉高到1; 延时2us; 将数据线拉低到0; 延时6us; 将数据线拉高到1; 延时4us; 读数据线的状态得到一个状态位,并进行数据处理; 延时30us; 重复步骤,直到读取完一个字节。 在编写具体的程序时,首先要对DS18B20进行复位初始化,其次编写读一位数据函数、读一个字节数据函数、写一个字节数据函数、温度的获取转换程序、读温度程序等子程序。详细程序见附录。4.1.2 LM016L显示程序设计1、基本工作时序:读状态 输入:RS=0,RW=1,E=1 输出:D0D7=状态字读数据 输入:RS=1,RW=1,E=1 输出:无写指令 输入:RS=0,RW=0,D0D7=指令码,E

46、=高脉冲 输出:D0D7=数据写数据 输入:RS=1,RW=0,D0D7=数据,E=高脉冲 输出:无2、初始化设置: 原则上每次进行读/写之前都必须进行读/写检测,但由于单片机的操作速度慢于液晶控制器的反应速度,因此可以用简单延时代替读/写检测。本设计所用初始化指令如下:write_com(0X01); 显示清0,数据指针清0write_com(0X38); 设置16*2显示,5*7点阵,8位数据接口write_com(0X0C); 设置开显示,不显示光标write_com(0X06); 写一个字符后地址指针自动加1write_com(0x80); 在第一排开始显示write_com(0xC0); 显示第二排3、写操作时序: 通过RS确定是写数据还是写命令。写命令包括使液晶的光

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号