《单片机的电热炉温控制系统设计.docx》由会员分享,可在线阅读,更多相关《单片机的电热炉温控制系统设计.docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、温度是工业生产和科学试验中一个格外重要的参数。很多生产过程都是在肯定的温度范围内进展的,甚至对温度的要求相当严格,因此生产现场需要测量温度和掌握温度。温度是电热炉需要掌握的主要参数。在传统的电热炉温度掌握系统中,炉温掌握多承受人工调整和温度仪表监视相结合的方式,电热炉的电源通断大多承受沟通接触器来掌握。这种掌握方式构造简洁,但掌握精度差,掌握速度慢,在资源方面消耗人力且本身耗能多,掌握器的噪音大,并且在掌握温度的过程中由于接触器需要频繁接通与断开,会常常发生触点电弧放电的现象,极易造成短路,损坏接触器,对操作人员和设备带来不利影响和安全隐患。而传统的定值开关温度掌握法存在温度滞后的问题,多数传
2、统基于常规PD掌握的掌握装置,存在精度不高、效率低等问题。1.1 课题背景及意义随着社会的进展,温度的测量及掌握已经变得越来越重要了。工业中的很多的装置的温度常常需要保持在一个既定的温度值上。传统的利用炉温掌握承受温度仪表监视和人工调整相结合的方式已经不能够再满足生产的需要。并且随着科技的进步以及产品的开发,温度的要求变得格外的重要,同时对于温度的精度方面的要求也变得越来越高了。在这一背景条件下,利用单片机对温度进展采样、掌握等方面的优点,可以很好的满足工艺的要求。另外,随着科技的进步,单片机的进展也格外的迅猛。因其本身固有的体积小重量轻价格廉价,功耗低,掌握功能强及运算速度快等特点,所以基于
3、单片机的温度掌握系统具有格外宽阔的前景。1.2 课题设计任务单片机广泛应用于现代工业掌握中,承受单片机系统对温度进展掌握不仅具有着掌握便利、简洁和敏捷性大等优点,而且还可以大幅度的提高被控温度的技术指标,从而可以大大的提高产品的质量。在本课题争论中,需要深入的了解 51 单片机在掌握领域中的进呈现状以及其应用前景,提高对大学本科阶段所学专业学问的融合和运用的力量,熬炼自己独立查阅和学习文献的力量,培育独立分析和解决问题的力量,通过软件的设计、程序的编写调试和硬件的制作切实熬炼自己的科研开发力量,加强自己的科技创力量。主要任务如下:1) 系统学习和查阅了各类模拟电路以及电子元器件的功能、管脚图以
4、及工作特性等一系列 参数和使用方法,学习和实践多功能数字时钟的硬件电气设计原则及印刷电路板的制作;学习和争论AT89C51单片机相关的汇编语言程序编程、外部硬件接口以及内部定时中断等功能。2) 设计基于单片机的电热炉温度掌握系统。3) 硬件电路设计和完成相应掌握软件设计。 4完成Keil+Proteus 环境下的软硬件联调和仿真。1.3 当今国内外争论动向(1) 国外温度测控系统争论国外对温度掌握技术争论的比较早,开头于 20 世纪 70 年月左右。先是承受模拟式的组合仪表,采集现场的信息并进展指示、记录和掌握等。 80 年月末消灭了分布式的掌握系统。目前正开发和研制计算机数据采集掌握系统的多
5、因子综合掌握系统。现在世界各国的温度测控技术进展格外迅猛,一些国家在所实现自动化的根底上正向着完全自动化、无人化的方向进展。(2) 国内温度测控系统争论我国对于温度测控技术的争论一些较晚,开头于20 世纪 80 年月左右。我国的工程技术人员在吸取和借鉴兴旺国家温度测控技术的根底上,把握了温度室内微机掌握技术,不过该技术仅限于对温度的单项环境因子的掌握的方面。我国的温度测控设施计算机方面的应用,总体上正在从消化吸取、简洁应用阶段向有用化、综合性应用阶段过渡和进展。在技术上,以单片机掌握单参数单回路的系统居多,目前还没有真正意义上所讲的多参数综合掌握系统,与兴旺国家相比,我国的温度掌握系统方面仍旧
6、存在着比较大的差距。我国的温度测量掌握现状还远远没有到达工厂化的程度,生产实际中仍旧存在着种种的问题,存在着装备配套力量差,产业化的程度低,环境掌握水平落后,软硬件资源不能共享和牢靠性差等缺点。随着科技的进展和全球化的经济日益趋于整体化,以单片机为核心的掌握温度的系统必将成为单片机进展的整体趋势。在不久的将来,依靠着单片机掌握温度所带来的便捷将充满着日常生活各个方面,而且在工业化方面也将表达出单片机掌握温度系统所带来的好处。总之,单片机掌握温度系统将会有光明的进展前景。2 总体方案论证2.1 系统方案此系统主要包括单片机掌握系统、温度采集系统、温度显示模块、温度上下限调整模块以及外部存储模块等
7、几局部组成。如下为系统的总体框架由系统总体框架图可知,在温度掌握系统中,经过 DS18B20 传感器检测到的温度值送入单片机中,在单片机内部经过数据的处理信号与给定的对应的所要求的温度值进展比较,同时还可以经过按键来调整温度的实时值,产生的温度值可以与存储器中存储的温度值进展比较,依据比较的结果来掌握相应的指示灯的亮与灭,从而可以便利地掌握温度的变化。此外,电热炉的温度掌握的性能至关重要,传统的装置通常是基于常规的PID 掌握方案,往往会存在着精度不高以及工作效率较低的特点。特别是对于难以准确确实定其数学模型或者是具有非线性、纯滞后和时变的温度的掌握过程,仅仅依靠传统的PID 掌握方案难以满足
8、电热炉温度掌握的高精度的要求。为了确保电热炉温度掌握高性能目标的实现,可以依据其数学模型、典型的掌握方案和仿真运行的结果进展分析和争论,从而可以觉察模糊自适应整定的PID 掌握方案通过模糊规章和模糊的推理方法能够对PID 掌握器参数进展校正,因而具有有用和高性能的特点。3 硬件电路设计3.1 单片机系统设计所谓的单片机系统,就是应用单片机作为核心,外围增加一些关心的电路,能够完成肯定的功能的系统。本文承受的单片机为 AT89C51。它是由美国 ATMEL公司生产的 8 位 Flash ROM 单片机,它的突出的优点是片内的 ROM 是 Flash ROM,易于便利地擦写,价格低廉,并且指令丰富
9、,编译工具多,仿真环境好。另外它还具有着集成度高、系统简洁、体积小、牢靠性强、处理功能强、速度快等特点。并且其内部还含有 8 位 CPU 的程序存储器、256bytes 的数据存储器、21 个专用存放器以及 32 条 I/O 口线等等。因此往往会被广泛的应用于各种掌握的领域。如以下图所示为 51 单片机的管脚图。如下为单片机 AT89C51 的管脚相关说明:VCC:供电电压。GND:接地标志。P0 口:P0 口是作为一个 8 位漏级开路的双向 I/O 口,每脚可吸取 8TTL 门电流。当 P0 口的管脚第一次写 1 时,就会被定义为高阻输入。P0 亦能够用于外部程序数据存储器,它能够被定义为数
10、据/地址的第八位。在 FIASH 的编程时,P0 口可作为原码输入口,当 FIASH 进展校验时, P0 会输出原码,不过此时的P0 的外部必需被拉高。P1 口:P1 口是一个内部供给了上拉电阻的 8 位双向的 I/O 口,P1 口缓冲器能够接收输出 4TTL 门电流。当 P1 口管脚写入 1 后,会被内部上拉为高电平,此时可用作输入,当P1 口被外部下拉为低电寻常,将会输出电流,这是由于内部上拉的原因。在FLASH 校验和编程时,P1 口均可作为第八位地址接收。P2 口:P2 口是一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可以用于接收,此时会输出4 个 TTL 门电流,当 P
11、2 口被写“1”时,它的管脚就会被内部上拉电阻拉高,并且可以作为输入。当作为输入时,P2 口的管脚会被外部拉低,此时将输出电流,这是由于内部上拉的原因。当 P2 口用于外部程序存储器或者是 16 位的地址外部数据存储器进展存取时,此时P2 口输出地址会是高八位。当在给出地址“1”时,它就会利用内部上拉优势,当对外部八位地址数据存储器进展读 写时,P2 口就会输出其特别功能存放器的内容。P2 口在 FLASH 校验和编程时接收的是高八位的地址信号和掌握信号。P3 口:P3 口的管脚是 8 个带内部上拉电阻的双向 I/O 口,可用于接收输出 4 个 TTL 门电流。当 P3 口写入“1后”,它们就
12、会被内部上拉为高电平,并可以用作输入。作为输入,由于外部下拉为低电平,P3 口将会输出电流ILL这是由于上拉的原因。P3 口也可以作为 AT89C51 的一些特别的功能口,如下表所示:端口引脚功能说明P3.0/RXD串行数据输入端P3.1/TXD串行数据输出端P3.2/INT0外部中断 0 申请信号P3.3/INT1外部中断 1 申请信号P3.4/T0定时/计数器T0 计数输入端P3.5/T1定时/计数器T1 计数输入端P3.6/WR外部数据RAM 写掌握信号P3.7/RD外部数据RAM 读掌握信号管脚备选功能:P3 口同时为闪耀编程和编程校验接收一些掌握信号。RST:复位输入。当振荡器复位器
13、件需要响应时,需要保持RST 脚两个机器周期的高电寻常间。如以下图为复位电路图:ALE/PROG:访问外部存储器时,地址锁存所允许的输出电平就会用于锁存地址的地位字 节。在 FLASH 的编程期间,这个引脚会用于输入编程脉冲。在通常状况下,ALE 端会以不变的频率周期输出正脉冲信号,这个频率将是振荡器频率的 1/6。因此它也可以用作对外部输出的脉冲或者也可以用于以定时作为目的。但是应当留意到的是:每一次作为外部数据存储器时,就会跳过一个 ALE 脉冲。假设想要使 ALE 的输出制止,可以在SFR8EH 的地址端置 0。此时, ALE 仅会在执行到 MOVX 指令时,MOVC 指令是 ALE 才
14、将起作用。另外,该引脚会被稍稍的拉高。假设微处理器在外部执行的状态ALE 被制止时,那么置位将会无效。EA/VPP : 当/EA 保持低电平的状态时, 那么在此期间外部的程序存储器 0000H- FFFFH,不管其是否有内部程序存储器。留意加密方式 1 时,/EA 将会内部锁定为 RESET;当/EA 端保持高电寻常,此间内部程序存储器。在 FLASH 的编程期间,这个引脚也可以用于施加12V 的编程电源VPP。/PSEN:外部程序存储器的选通信号。当外部程序存储器读取指令的时候,每个机器周期两 次的/PSEN 才会有效。但当在访问外部数据存储器的时侯,这两次有效的/PSEN 信号将不会再消灭
15、。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性: XTAL1 为反向放大器的输入,XTAL2 是反向放大器的输出。该反向放大器将会配置为片内振荡器。石晶振荡和陶瓷振荡都可以承受。假设承受的是外部时钟源驱动器件,XTAL2 应当不接。有余输入到内部时钟信号需要通过一个二分频的触发器,因此对外部时钟信号的脉宽将无任何的要求,但必需要满足脉冲的凹凸电平要求的宽度。振荡电路的接线如以下图所示:3.2 温度采集模块温度由 DALLAS 公司所生产的一线式数字温度传感器DS18B20 采集。DS18B20 的测温范围位- 55125C,测试的区分率
16、能够到达 0.0625C,测试的温度用符号扩展位 16 位形式串行输出。CPU 只需一根端口线就可以与多个 DS18b20 进展通信,占用的微处理器的端口较少,进而可以节约大量的引线与规律电路。DS18B20 的内部是一个 9 字节的高速存储器,存储器用来存储所设定的温度值。其中它的前两个字节是将要测得的温度数据,第一字节所存储的是温度的低八位,其次字节会是温度的高八 位,第三和第四字节将是温度的上限 Th 与温度的下限 TL 的易失性拷贝,第五字节会是构造存储器的易失性拷贝,此三字节的内容在每一次的上电复位时均会被刷,第六、七、八三个字节 是用于内部的计算,而第九字节为冗余校验字节,用于保证
17、通信的准确性。当温度转换命令发出转换命令后,经过转换的温度值将会以二字节补码的形式存放在此存储器的第一和其次字节中。单片机能够通过单线接口读到数据,读数据时低位在前,高位在后,其中的高五位是符号位,中间的七位是整数位,最低四位将会是小数位。DS18B20 的最大特点是单总线数据的传输方式,因而对于读写的数据位有着严格的时序要求。例如包括初始化时序、读时序、写时序。每一条命令和数据的传输都是从单片机写时序开头的,如要求 DS18B20 回送数据,那么在进展写命令后,单片机需要启动读时序才能够完成数据的接收。命令和数据的传输都是低位在先。如以下图为DS18B20 在 proteus 中的的实物图以
18、及对于DS18B20 的特性的介绍:DS18B20 是 DALLAS 公司生产的 1Wire,即单总线器件,具有微型化、低功耗、高性能、抗干扰力量强、易配微处理器等优点,与单片机接口时仅需占用一个 I/O 端口,无须任何外部元件,就直接可以将环境温度转化成串行数字信号供处理器处理。其特性如下:(1) 只要求一个端口即可实现通信。(2) 在DS18B20 中的每个器件上都会有独一无二的序列号。(3) 测量的温度范围是55到125之间。(4) 在实际的应用中不需要任何外部元器件即可实现测温。(5) 内部有温度上限和下限的报警设置。(6) 用户可以从 9 位到 12 位来选择数字温度计的区分率。(7
19、) 支持多点测温的功能,假设干个 DS18B20 可以并联在唯一的三线上,实现组网思维多点测温。(8) 电源极性接反时,芯片不会由于发热而烧毁,但不能正常的工作。假设需要掌握多个 DS18B20 进展温度采集时,只需将 DS18B20 的 I/O 口都连到一起。如以下图所示。.VCCDS18B20DS18B20DS18B20单VCC片4.7K机GNDGNDGND.DS18B20 的引脚功能为:DQ 为数字信号的输入/输出端;GND 为电源接地标志;VCC 为外接供电电源的输入端。本设计使用单片机 AT89C51 的 P3.4 口与 DS18B20 的单总线端口 DQ 相连。DS18B20 内部
20、构造主要是由四局部组成:64 位光刻 ROM、温度传感器、非挥发的温度报警触发器TH 和TL 以及配置存放器。DS18B20在出厂时的默认设置为12位,最高位为符号位,温度值共11位。单片机在读取数据时可以一次读取2个字节共16位,前5位为符号位,当前5位为1时,当读取的温度为负值时,读到的数值要取反加1再乘以0.0625才是它的实际温度值。而当前 5位为0时,读取的温度为正值,读到的数值直接乘以0.0625便是实际的温度值。依据DS18B20 的通讯协议,主机掌握DS18B20 完成温度转换必需经过三个步骤:在每一次的读写之前都需要对DS18B20 进展复位,并且在复位成功后还要发送一条RO
21、M 指令,最终再发送RAM 指令,只有这样才能够对DS18B20 进展预定的操作。复位成功后会要求主CPU 将数据线下拉 500 微秒左右,然后将会释放,DS18B20 在收到信号后将会等待 1660 微秒左右,然后将发出 60240 微秒的存在低脉冲,此时主CPU 收到此信号才能够表示复位成功。在实际使用的中,DS18B20 有以下事项需要留意:在对DS18B20 的读写的编写程序时,必需严格的保证读写时序,如假设不然将会无法读取到测得的温度结果。 在用DS18B20 进展长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。由于连接DS18B20 的总线电缆是有长度限制的。当向 DS1
22、8B20 发出温度转换的指令后,程序要等待 DS18B20 的返回信号,假设某个DS18B20 接触不好,当程序读该DS18B20 时,将没有返回信号,程序会进入死循环。DS18B20 与单片机的连接如以下图所示:3.3 液晶显示器液晶显示器也成为 LCD,由于 LCD 的掌握必需使用专用的驱动电路,且 LCD 面板的接线需要特别的技巧,再加上 LCD 面板格外的脆弱,因此一般不单独的使用,而是将LCD 面板、驱动电路与掌握电路组合成 LCM 模块一起使用。LCM 是一种很省电的电子设备,常被应用在数字或单片机掌握系统中。液晶显示器选用 LM016L,它是显示两行的字符型 LCD 显示器,它是
23、由 32 个字符点阵块组成。每个字符点阵块都是由 57 或 510 个点阵组成,并可以显示 ASCII 表中全部的可视字符。它的内部内置了字符产生器 ROM,字符产生器 RAM 和显示数据 RAM, CGROM 的内部内置了 192 个常用字符的字模,且 CGRAM 包含了 8 个字节的 RAM,可以用来存放用户自定义的字符,DDRAM 就是用来存放等待选择的字符的代码。LM016L 字符型与单片机之间的连接主要有两种:直接访问方式连接和间接掌握方式连接。直接访问方式连接是由单片机的读、写和高位地址线共同掌握 LCM 的 E 端,由高位地址线其中的两条分别与 RS 端和 R/W 端相连,由单片
24、机的P0 口与 LCM 的 DB0DB7 相连,这样就可以构成了三总线数据总线DB、地址总线AB 和掌握总线 CB的连接方式。由于构成了三总线的构造,所以在软件掌握上比较简洁,用通过访问外部地址的方式就能访问 LCM。但是,在使用这种连接方式时需要留意单片机的掌握总线时序和地址总线时序必需要与 LCM 所需要的时序相匹配,否则将无法访问。LM016L 主要技术参数如下: 显示容量:16*2 个字符芯片工作电压:4.55.5V工作电流:2.0mA字符尺寸:2.95*4.35W*Hmm管脚号1名称VSS电平0V功能描述2VDD5.0V3VEE4RSH/LH:数据线上为数据信号;L:数据线上为指令信
25、号5RWH/LH:读数据模式;L:写数据模式6EH/L使能信号端714DB0DB7H/L数据口承受液晶显示装置即把温度信号显示在液晶显示器上,不仅构造简洁清爽可见,而且省电简洁掌握。数据的传输承受P0 口进展掌握, 与显示器的D0D7 脚相连,同时连接一个 8 脚排阻。其引脚VSS 和VEE 接地,VDD 接高电平,RS 和RW、E 是显示器的掌握端,分别由单片机的引脚P2.0、P2.1、P2.2 进展掌握。如以下图所示:液晶显示器与单片机的连接图3.4 外部存储模块外部存储器选用的是美国ATMEL公司生产的低功耗的CMOS 型 E2PROM 器件AT24C02C,它的内部含有 2568 位的
26、存储空间,而且它还具有工作电压宽,擦写次数多、写入速度快、数据不易丧失等特点。它承受了I2C 的总线规程,能够使主机和从机实现双向通信。主时机通过SCL 引脚产生串行的通信时钟信号并且可以发出掌握字,用于掌握总线的数据传输的开头、方向和停顿。不管是主机或者是从机,每当接收到一个字节后必需发出一个确认信号。AT24C02C占用很少的资源和I/O 线,且支持在线编程,数据实时存取格外的便利。如以下图为存储器相关的电路图:3.5 键盘的设置键盘可以分为两种:非编码式键盘和编码式键盘。非编码式键盘是利用按键直接与单片机进展连接而成的,这种键盘通常使用的按键数量较 少,使用这种键盘,系统的功能通常比较简
27、洁,需要完成的任务较少,同时可以降低系统的成 本、简化电路的设计。非编码式键盘的接口电路需要依据设计者的需要自行打算,按键信息是通过单片机的接口软件来猎取。编码式键盘是较多按键和专用驱动芯片组合而成的,当某个按键按下时,它能够处理按键抖动、连击等问题,直接输出按键的编码,无需系统软件的干预。键盘的工作方式有三种:编码扫描工作方式、中断工作方式和定时扫描工作方式。本文的键盘设置包括四个按键:启动键、温度的增加键、温度的降低键和确认键。通过这四个键的整体协作,可以便利快捷的调整温度的值,从而可以依据设置的温度的上下限值观看报警灯的工作状态,使调整的过程安全牢靠。如下为此次电路的相关的按键的电路图:
28、3.6 掌握电路模块该局部电路有光耦合元件 4N25、继电器、三极管、指示灯以及假设干电阻构成。该局部电路的主要作用是光电隔离,即消退后级电路对前级单片机的影响。三极管是使用NPN 型的,把其集电极接+5V 电压,射极接继电器。当单片机的引脚给出低电位时,光耦合元件4N25 内部的发光二极管亮,使其内部的三极管导通,进而使引脚上的10K 电阻分得电压。掌握电路可以实时的反响温度值的大小,可以为温度的变化带来快速、准确的响应。如下为掌握电路图:在本设计中掌握方法是定值开关温度掌握,没有承受PID 掌握算法,根本可以满足本设计要求。在实际应用中还有PD、PID 算法,可以到达比较高的精度。对于不同
29、的掌握对象,所承受的算法也应当有所不同。比方对于热惯性大、耦合强、时间滞后明显、难以建立准确数学模型的大型立式淬火炉,有时就会承受人工智能模糊掌握的算法,借以对淬火炉电热元件通断比的调 节,来实现对炉温的自动掌握,有时也可以承受仿人智能掌握SHIC算法结合 PID 掌握算法的联合掌握方案,对于不同的对象在实际应用时应当敏捷运用。4 系统软件设计及调试4.1 程序流程图如以下图所示为主程序的流程图:由主程序流程图可知:主程序调用了 5 个子程序,它们是按键扫描及处理程序、LCD 显示程序、AT24C02C 读写程序、温度的采集程序、温度越界判决程序等。LCD 显示程序是用于将温度的值实时的显示在
30、屏幕上;按键扫描及处理程序是按键的输入、实现各个按键的功能;温度的采集程序就是将 DS18B20 所采集到的现场温度读入到指定的数组中;温度越界判决程序是依据存储器存储的温度的上下限值与实际的温度进展比较,假设温度的实际值超过了温度的上限值, 指示红灯就亮,假设温度的实时值低于设定的温度的下限值,这指示绿灯就亮。从而可以依据指示灯的状况对温度的值进展推断;AT24C02 读写程序,是用于存储和调用所设定的温度的上下限值。4. 2 系统的Proteus 仿真4.2.1 Proteus 仿真软件的简洁介绍Proteus 是英国 Labcenter electronics 公司研发的 EDA 设计软
31、件, 是一个基于 ProSPICE 混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。 Proteus 不仅可以做数字电路、模拟电路、数模混合电路的仿真,还可进展多种CPU 的仿真,涵盖了 51、PIC、AVR、HC11、ARM 等处理器,真正实现了在计算机上从原理设计、电路分析、系统仿真、测试到 PCB 板完整的电子设计,实现了从概念到产品的全过程。下面介绍一下PROTEUS 的编辑环境。1工作界面Proteus ISIS 的工作界面是一种标准的Windows 界面,如图 4.2.1 所示。包括:绘图工具栏、标题栏、预览窗口、对象选择器窗口、预览对象方位掌握按钮、主菜单、标准工具栏、图
32、形编辑窗 口、状态栏、对象选择按钮、仿真进程掌握按钮。图 4.2.1 Proteus ISIS 的工作界面(2) 主菜单PROTEUS 包括 File、 Edit、View 等 12 个菜单栏,如图 5.2 所示。每个菜单栏又有自己的菜单,PROTEUS 的菜单栏完全符合WINDOWS 操作风格。(3) 工具栏图 4.2.2 Proteus ISIS 的菜单栏工具栏包括菜单栏下面的标准工具栏和图 5.1 右边的绘图工具栏,标准工具栏的内容与菜单栏的内容一一对应,绘图工具栏有丰富的操作工具,选择不同的按纽会得到不同的工具。4.2.2 编程软件Keil 的简洁介绍Keil 使用“工程”Projec
33、t的概念,对工程而不能对单一的源程序进展编译/汇编、连接等操作。首先建工程Project-new project,如图 4-2-1 所示。图 4-2-1 建工程文件保存类型为.uv2,如以下图所示:图 4-2-2 保存工程点击保存后在跳出来的对话框中选择Ateml 下面的 89c51 单片机。如图 4-2-3 所示。图 4-2-3 选择单片机类型此时的工程治理窗口的文件页 Files上会消灭“Target1”,点击前面的+,接着选择 Source Group1,右键单击会弹出快捷菜单,然后选择“Add File to Group Source Group1”这一命令,如图 4-2-4 所示。消
34、灭了一个对话框,需要查找并参加源文件,源文件后缀为.c 或.asm,如图 4-2-5 所示。翻开空白c 文件就可以开头编写程序了。图 4-2-4 添加源文件图 4-2-5 源文件4.3 相关程序的简洁的介绍4.3.1 DS18B20 测温程序设计1、DS18B20 的掌握指令如下: CCH跳过ROM。无视 64 位ROM 地址,直接向DS18B20 发送温度变换命令。 55H匹配ROM,发出此命令后发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS18B20 并使之做出响应。 33H读ROM 中的编码。假设主机只对一个 DS18B20 进展操作即本设计这样的状况,只需用跳过ROM
35、CCH命令就可进展温度转换和读取操作。如下: 44H温度转换。启动DS18B20 进展温度转换,结果存入内部9 字节的RAM 中。 BEH读暂存器。读内部RAM 中 9 字节的温度数据。 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
36、)i-。 写数据: 数据线置低电平 0; 延时 15us; 按从低位到高位的挨次发送数据; 延时 45 us; 将数据线拉到高电平 1; 重复步骤,直到发送完整个字节; 再次将数据线拉高到 1。 读数据: 将数据线拉高到 1; 延时 2us; 将数据线拉低到 0; 延时 6us; 将数据线拉高到 1; 延时 4us; 读数据线的状态得到一个状态位,并进展数据处理; 延时 30us; 重复步骤,直到读取完一个字节。在编写具体的程序时,首先要对 DS18B20 进展复位初始化,其次编写读一位数据函数、读一个字节数据函数、写一个字节数据函数、温度的猎取转换程序、读温度程序等子程序。4.3.2 LM0
37、16L 显示程序设计1、显示器与单片机的接口程序如下:#include /用AT89C51时就用这个头文件#include sbit LcdRs sbit LcdRw sbit LcdEn sfr DBPort2、初始化设置:= P20。= P21。= P22。= 0x80。/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口原则上每次进展读/写之前都必需进展读/写检测,但由于单片机的操作速度慢于液晶掌握器的反响速度,因此可以用简洁延时代替读/写检测。其内部等待函数的程序如下:unsigned char LCD_Wait(void)LcdRs=0。LcdRw=1。LcdE
38、n=1。LcdEn=0。return DBPort。_nop_。_nop_3,、写操作时序: 通过 RS 确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示,需/不需要移屏,在液晶的什么位置显示等等,写数据是写要显示的内容。 读/写掌握端设置为写模式,即低电平。 将数据或命令送达数据线上。 给E 使能端一个高脉冲将数据送入液晶掌握器,完成写操作。例如,写命令的程序如下:#define LCD_COMMAND#define LCD_DATA10/ Command/ Data#define LCD_CLEAR_SCREEN0x01/ 清屏#define LCD_HOMING0x02/ 光标
39、返回原点void LCD_Write(bit style, unsigned char input)LcdEn=0。LcdRs=style。LcdRw=0。_nop_。DBPort=input。_nop_。/留意挨次LcdEn=1。LcdEn=0。_nop_。/留意挨次_nop_。LCD_Wait。本设计显示程序包括 LCD 清屏程序、写入掌握命令子程序、写入数据子程序、初始化程序等。4.4 Keil 与Proteus 联调程序编写完成后,进展编译及联调。步骤如下:1、把安装名目ProteusMODELS 下的VDM51.dll 文件复制到Keil 安装名目的C51BIN 名目中。2、修改Ke
40、il 安装名目下Tools.ini 文件,在C51 字段参加TDRV5=BINVDM51.DLL(“PROTEUS6 EMULATOR”)并保存。不肯定要用TDRV5,依据原来字段选用一个不重复的数值就可以。引号内的名字随便。3、单击“Project 菜单/Options for Target”选项或者点击工具栏的“option for ta rget”按钮,弹出窗口,图 4-4-1 仿真设置界面点击“Debug”按钮后,在消灭的对话框里的右上栏 Use后面的下拉菜单里选中 “Proteus VSM Monitor一51 Driver”这一命令,此后还要点击一下 “Use”前面说明选中的小圆点
41、。如图 4-4-2所示。图 4-4-2 仿真设置再点击“Setting”按钮,此时需要设置通信的接口,在“Host”后面需要添上“127.0.0.1”,当使用的不是同一台电脑时,则需要在这里添上另一台电脑的IP 地址。在“Port”后面添加“8000”。设置好的情形如图 4-4-3 所示,点击“OK”按钮即可。最终将工程编译,进入调试状态,并运行。图 4-4-3 通信接口设置4、Proteus的设置进入Proteus的ISIS,左键单击菜单“Debug”, 然后选中“use romote debuger monitor” ,这一命令,如图4-4-4所示。此后,即可实现KeilC与Proteus
42、的连接调试。图 4-4-4 选择远程掌握5、KeilC与Proteus连接仿真调试(1) 单击仿真运行开头按钮 ,开头仿真。仿真图如下A 所示A.仿真开头时(2) 当按下Set 按键后,仿真如B 图所示B. 按下Set 键(3) 当按下UP 键后,仿真如C 所示C. 按下UP 键(4) 当按下DOWN 键,仿真如D 图所示D. 按下DOWN 键(5) 当按下OK 键,仿真如图E 图所示E. 按下OK 键总体的仿真效果如图 4-4-5 所示。图 4-4-5 仿真效果图完毕语本设计的课题任务是显示实际温度值、设定温度值,并对这两个温度进展比较掌握,使实际温度始终保持在肯定范围内。在实际工业生产中,
43、设定温度的范围会比较广泛,相应的实际温度范围可能也比较广泛,DS18B20 温度范围窄有可能不适合,需要选用其他适合的温度传感器。生产中的温度掌握精度会比较高,需要使用先进掌握算法,比方模糊PID 掌握。本设计中报警系统承受了发光二极管,还可以加上蜂鸣器报警。显示器也有使用温度的限制,总之,对不同的要要选用适宜的元器件。本设计初步实现了温度的掌握功能,在此根底上可以提高掌握精度及显示精度,扩大温度掌握范围,实现更多的掌握报警功能,并可依据本设计制作出硬件电路板。用单片机掌握电热炉的温度是一种主流趋势,并有可能在今后用嵌入式系统来进展温度掌握,承受先进掌握算法来进展设计。经过半个多学期的学习,根
44、本完成了本次毕业设计的预期要求,娴熟把握了基于单片机的温度掌握系统的设计原理,并运用了相关自动掌握原理。Proteus 及 Keil 的功能都格外强大,是现在单片机仿真使用的主流软件,通过本次设计能娴熟使用这两个软件,并制作出自己相关的成 果。同时接触到了的硬件并生疏了这些硬件的资料及使用方法。到目前为止,对本设计涉及的硬件的使用已根本把握,如 DS18B20、显示器 LM016L 的使用及相关程序的编写,实现了温度显示,未能很好的实现温度的自动掌握。通过设计,学习到了的元器件学问,加强了C 程序编写力量和单片机的掌握学问,熬炼了文献搜寻、资料整理力量,自学力量,调试、查错力量。由于时间关系和本人力量有限,在设计中难免存在一些缺乏之处,敬请大家批判指正。致 谢在本次毕业设计过程中,感谢指导教师刘清教授和葛辉教师,他们给我供给了良好的学习环境,催促我认真学习相关软硬件学问,准时进展总结与打算,对自己的设计有一个比较严谨的规划与进展。正是在刘教师的严格催促下,我才能顺当完本钱次设计。更重要的是 ,通过本次设计我对单片机、C 程序设计、过程掌握以及相关掌握仪表学问有了更深入、更实际的理解,将所学的专业学问应用在了实践中。同时也要感谢我的同学,制造了良好的学习气氛,给我的设计供给了贵重的意见,为我解答了一些程序上的