资源描述
论文题目:基于C8051F040的温度控制器设计(硬件)专 业:测控技术与仪器本 科 生: (签名)指导老师: (签名)摘 要相对于世界各国来说,中国的温度控制器的生产产量居高不下使我国成为了一个温度控制器生产大国。人们对于温度的感知和关注已经造就了温度的控制必然会成为一种趋势,因此研究温度的测量方法和装置具有十分重要的意义。在工业生产氨的过程中,不同温度下的产品合成效率不同,在700C时效率最高,其他温度下会产生可逆反应。在农业方面,大棚蔬菜在不同温度下光合作用不同,产量会不同。温度控制器的研究对工业和农业都有重要的影响。本文设计温度控制系统以C8051F040单片机为控制核心,可以实时显示当前测量的温度值,可以预设温度,通过加热模块对温度进行加热,从而达到控制温度的目的。本设计对于软件和硬件进行了联调,确保系统运行和显示的正确性,对温度感知和控制的灵敏性,实现了系统的整体功能。关键词:单片机,温度控制器,Pt1000热电阻,显示电路11Subject: Based on C8051F040 temperature controller designSpecialty: Measure and control technology and instrumentName: (Signature) Instructor: (Signature) ABSTRACTRelative all over the world, Chinas production of high temperature controller makes our country becomes one of the biggest country in the production of temperature controller. Peoples perception of the concern and attention for temperature made the control of the temperature will become a trend, so learning the temperature the device and measurement method has the very vital significance. Industrial production in the process of ammonia, different temperature product synthesis efficiency is different, when in 700 degrees c ,it has the highest efficiency, other temperature will produce reversible reaction. In agriculture, the big awning vegetables in different temperature photosynthesis is different, the output will be different. The temperature controller to industry and agriculture has important implications. This paper design temperature control system to C8051F040 microcontroller as control core, can display current measurement of the temperature Every moment, the system can set temperature in advance, through the heating module to heat the water, so as to achieve the purpose of temperature control. The design for the software and hardware for the alignment, ensure that the operation of the system and the correctness of the temperature of perception and the sensitivity of the control, realize the whole function of the system. KEY WORDS: Single chip microcomputer ,temperature controller, PT1000 heat resistance, show circuit 目 录第1章 绪 论11.1 国内外温度控制器的发展和发展趋势11.2温度控制方法的发展和分类31.2.1定值开关温度控制法31.2.2 PID温度控制法41.6 论文的主要工作61.7 本章总结7第2章 系统设计方案及主控制芯片介绍82.1 系统总体方案的设计82.2系统方案的选择82.2.1驱动控制加热模块的选择92.2.2 输入显示模块的选择92.3系统工作原理102.4 C8051F040单片机最小系统介绍102.4.1 C8051F040引脚102.4.2 C8051F040最小系统112.5 本章小结13第3章 各部分单元电路的设计及器件选择143.1测温模块143.1.1 温度传感器的介绍143.1.2 LM324的介绍153.1.3测温电路153.2控制加热模块173.2.1 固态继电器的介绍173.2.2加热棒的介绍183.2.3加热控制电路193.3键盘输入模块203.4 液晶显示模块213.5本章小结22第4章 系统的软件设计234.1编程工具的介绍234.1.1 C语言的主要优点234.1.2 C语言使用的工具244.1.3 Keil编程软件的介绍244.1.4 C语言编程实现的功能244.5本章小结27第5章 系统调试285.1 硬件调试285.1.1 元器件的检测285.1.2 模块电路的检测285.1.3 整个硬件电路的静态调试285.1.4 整个硬件电路的动态调试295.2 系统软硬件联机调试295.4 调试经验305.5本章小结30第6章 总 结316.1 系统的不足316.2设计展望316.3 设计心得体会31致 谢33参考文献34附录35附 录1:系统设计原理图35附 录2:Pt1000的分度表36附 录3:系统设计实物图3737第1章 绪 论1.1 国内外温度控制器的发展和发展趋势科技迅猛发展的同时,现在的温度控制系统功能日益完善,准确性的要求也日益升高。单片机以迅猛的方式已经被社会接受,温度控制系统也借助单片机广泛的应用。温度控制系统以其制作简单安装维护方便等优点日益受各行各业的重视。温度控制器在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,同发达国家相比,中国总体发展水平仍然不是很高,传统的温度控制器在国内一些比较落后的工厂还可以见到。传统的温度控制器如图1.1:图1.1 传统的温度控制器科技迅猛的发展的同时,比较成熟的温控产品已经代替传统的温度控制器。一般的温度控制系统采用“点位“控制的成熟温度控制器。温度控制器用于要求较高的控制场合,温度系统的智能化、自适应控制还不成熟。随着我国经济的发展及加入世界贸易组织WTO,在温度控制器方面的差距使我国政府及企业意识到温控系统发展的落后,对相关企业资源进行了重组,相继建立了研究开发中心,开展创新性研究,使我国温度控制仪表工业得到了迅速的发展,同时温度控制技术也得到飞速发展。多点控制成熟的温控产品如下图:图1.2 多点控制温度控制器在科技迅猛发展温度控制系统已趋向于集成测试系统,集成测试系统也走向了网络化,各个仪器之间通过总线相互通信已变成一种趋势。借助仪器仪表的应用日益高升,温度控制系统应用已经要求更加精细并趋于微机化和网络化。网络化 伴随着仪器仪表行业的发展,集成(VLSI)的新器件以大量的超大规模的形式被采用、与此同时贴装技术(SMT)与多层线路板的印刷技术被应用并成为计算机的辅助技术。由于新技术的产生已经被广泛应用,人机交互的重要性、模糊控制和人工神经元网络的控制技术已经被社会所重视,温度控制器行业也得到了飞速发展。如图1.3 KDSD系列隧道式灭菌干燥网络化的温度控制系统:图1.3 KDSD系列隧道式灭菌干燥网络化的温度控制系统:微型化计算机控制技术日益趋于完善,基于计算机的智能仪器在已陆续推向控制市场,许多企业也经历着重大的变革,微型化的仪器仪表已经代替了传统的笨重的仪器。微型化仪器的轻巧,占用体积小。如图1.4为微型温度控制器。图1.4 微型温度控制器温度控制器应用已经渗透到各行各业,例如,化工行业生产的产品都要求对温度进行控制,农业方面温室大棚的农作物产量依靠的是温度的变化而定,那么对于温度的控制就至关重要。由此可见,在工农业的发展过程中,温度控制器处于牵一发而动全局的境地。1.2温度控制方法的发展和分类1.2.1定值开关温度控制法对系统冷却装置(或加热源)进行通断控制,就是利用通过硬件电路或软件计算判别设定目标温度值与当前温度值与之间的关系。这种控制就是定制温度控制法。若当前温度值比设定温度值低,则关断制冷器并同时开启加热器。如果开关设定温度值低于当前温度值,则开动制冷装置,或者关断加热器。如果没有计算机参与,用很简单的模拟电路就能够实现开关控温方法。目前,我国许多工厂的老式工业电炉中采用这种控制方法的温度控制器。这种控制方式无法克服温度变化过程的滞后性,因而完全不适用于高精度的温度控制。定制开关控制法致使系统温度波动较大,控制精度低,因为它是当系统温度下降至设定点时开通电源,当系统温度上升至设定点时断开电源。定值开关的温度控制装置如图1.5:图1.5 定制开关温度控制装置1.2.2 PID温度控制法20世纪3040年代,频域设计法是具时代意义经典的设计法并且得到了很快的发展。Nyquist和Bode是在频域设计法稳定性理论的基础上所取得的重要成就。频域设计法以获得一定量的稳定裕度设计的一种反馈补偿器,来减少系统对模型误差灵敏度和干扰。它利用反馈的原理重点考虑了模型的不确定性。采用由Nyquist稳定准则引申出来的图解法作为补偿器的设计是经典的方法之一。进入50年代以后,一些瞬态性能指标的定义奠定了解析法的迅速发展。为了检测时域响应指标方便,模拟计算机的加入使得检测变得简单明了,但是解析法的发展使得人们降低了对控制系统的灵敏度和鲁棒性。20世纪50年代中期,用差分方程来描述控制系统模型随着数字计算机的出现了,并且这种描述方法得到了应用。20世纪60年代,在解决各种不同设计问题上,控制器的最优化技术设计方法显示出了其优势。实际的过程控制应用了现代控制理论,但这种控制理论需要对控制的过程对象建立非常精确的数学模型,但是非常精确的数学模型实际上往往难以建立,因此鲁棒性问题在七十年代以后得到了人们更多的关注。从20世纪80年代开始,由于自适应控制理论和参数整定在单回路PID控制器中的应用, PID控制理论在20世纪80年代高速发展。在控制技术高速发展的今天,鉴于在工业过程控制中PID控制算法较为可靠简单等特点,它仍然占有主导地位。系统的误差,误差积累及系统误差变化在PID模型的建立占有很大的因素,因此定值开关控温法远远比不上PID温度控制算法。PID温度控制法采用计算机软件方法与模拟电路或来实现PID调节功能是非常优越的。被称为模拟PID调节器采用的是模拟电路,被称为数字PID调节器采用的是计算机软件的方法,两种方法都有它的优越性。其中具有较大的灵活性的数字PID调节器的参数可以在线整定,所以可以得到较好的现场控制效果。采用数字PID实现的温度控制器,PID参数(即比例值、积分值、微分值)决定了温度控制器的控制品质的优良。正确的选择PID参数,对于较为要求精确的控制系统,是非常重要的。PID控制器图如1.5所示:图1.5 PID控制器PID控制器对大多数工业控制对象都能达到比较满意的控制效果。随着生产的迅速发展发展,对于越来越复杂的被控对象,控制要求的精度也越来越高,鉴于常规PID控制器己不能达到系统所要求的条件,许多新的控制方法逐渐开始在舞台上出现。自适应、最优、智能、鲁棒、满意控制等控制策略的引入PID控制系统中大大的提高了系统的控制精度和性能。智能PID控制近几年引起了人们极大的研究兴趣。智能PID是常规PID控制方法结合智能控制方法而形成的。智能PID调节器不但吸收了智能控制的优点而且具备常规PID控制优点。1.2.3智能温度控制法智能控制系统是某些具有仿人智能的工程控制和信息处理系统。温控系统由于被控过程常常具有严重的非线性时变性,所以智能控制系统的出现具有即时性。智能控制作为一门新兴的交叉前沿学科应用相当的广泛。信息可以有效的获取、传递、处理、再生和利用被称为智能控制。利用模型化人们的思维过程、利用计算机来模仿人的智能的学科被称为人工智能。人工智能与控制理论比起来具有更广泛的应用。高度脑力行为和体力行为包括判断问题、理解问题、推理预测、识别、规划、决策、学习和求知都可以用智能控制理论化。智能控制就是将智能控制与PID控制相结合并应用运筹学的优化方法和人工智能的理论和技术,实现温度的智能控制,与此同时还要应用控制理论方法与技术相结合的方法。适当加以专家系统并采用模糊数学和神经元网络为理论基础被称为智能控温法。智能控温法中应用较为广泛的有专家系统、模糊控制、神经网络控制等。在实际工程技术中模糊控温法与其它温度控制法比起来得到了极为广泛的应用。从理论上讲高精度的模糊控制器,可以在一定基础上完全消除静态误差。智能温度控制器如图1.6所示:图1.6 智能温度控制器在温控仪的发展上,国内和国外有着一定的差距。国内的温控仪在控制算法方面表现的不太理想,譬如温度控制在全量程精度低并且自适应性较差。这种不足的原因是多方面造成的,不可能一朝一夕的完成。在对于不同的被控对象,控制算法是非常重要的,控制算法直接决定着系统的稳定性和精度。追根溯源,温度控制器的发展是伴随着仪器仪表行业的发展技术之间提高。相信未来国内的温度控制器技术将更加的发达。1.6 论文的主要工作论文的研究内容主要如下:(1) 掌握C8051Fxxx系列单片机的基本结构和指令系统,掌握C8051F040单片机的控制功能,理解本论文所设计系统的工作原理;(2) 系统硬件设计;(3)系统器件的选择;(4)系统硬件模块的调试;(5) 系统调试;(6) 总结;1.7 本章总结本章叙述了温度控制器在国内外的发展,温度控制算法从简单到复杂的经历过程。简洁的表达了人类现阶段对温度控制算法的应用及本次设计需要完成的工作和要求。论文的主要工作和温度控制系统设计的步骤。第2章 系统设计方案及主控制芯片介绍本设计是基于51单片机的基础上选择C8051F040芯片作为系统的中心,经过一系列的选择,我们设计了一套含有输入、测量、控制、显示等功能的系统方案。本次设计的温度控制系统采用闭环控制。其控制框图如图2.1所示。 图2.1 系统控制框图2.1 系统总体方案的设计本系统要含有电源电路、键盘输入、Pt1000测温电路、加热电路以及显示电路。系统要达到的功能:具有设定和显示功能;温度控制精度:2;控温范围:3080;系统原理框图如图2.2:图2.2系统原理框图2.2系统方案的选择在确定设计方案之前,系统方案的选择对于设计的简化灵活具有很重要的意义。2.2.1驱动控制加热模块的选择驱动控制模块也是整个设计的重要环节,它通过固态继电器控制电热棒的通或断,使水温保持恒定。常用的温度测量方案有如下几种:方案一:采用继电器。继电器的价格低廉,但由于继电器采用电磁吸合方式,在开关瞬间,触点容易产生火花从而引起干扰。另外继电器采用机械开关,具有时间延迟大和寿命短的缺点。本系统输出电压较大普通继电器不能达到要求。方案二:采用可控硅。单片机是通过高低电平来控制电路,以实现加热器的供给。可控硅需要单片机触发脉冲,增加软件的编程难度,因此不宜采用。方案三:采用固态继电器。固态继电器是可控硅过零触发器,无触点,不用调相,对电网不会引起波形畸变。C8051F040经过控制算法(本次设计采用PID控制)得到的输出结果转换为调占空比,控制输出口P3.0输出相应的高低电平,控制固态继电器的通断。固态继电器除具有与电磁继电器一样的功能外,还具有输入功率小,灵敏度高,控制功率小,电磁兼容性好,通断迅速,噪声低和工作频率高等特点。在本设计中,针对驱动控制部分,为了简化输出通道的硬件结构,同时考虑到加热系统具有较大的热惯性,本系统采用固态继电器控制通断时间,即采用方案三。2.2.2 输入显示模块的选择方案一:四位LED数码管显示温度值和输入的键值,独立式键盘设置数值,并确认数字的输入。 方案二:由LCD1602液晶显示模块显示温度值,由独立式键盘设置输入,并确认。方案三:由LCD12864液晶显示模块显示温度值,由矩阵式键盘设置数字键和功能键,实时显示温度值。 方案比较:LCD液晶屏显示器与数码管相比,有功耗小、体积小、显示内容丰富、画面美观、超薄轻巧、使用方便等特点,LCD12864与LCD1602比较,有丰富的中文字库,方便调用,显示灵活等特点。矩阵式键盘与独立键盘相比,有按键功能多、简单明了的特点,所以方案三为最佳的选择。综上所述,驱动加热模块采用固态继电器控制,输入模块采用矩阵式键盘,显示模块采用LCD12864会使系统更加完美。2.3系统工作原理本温度计采用一种具有温度引起电阻值变化的铂电阻作为检测元件。考虑到下载程序的方便和单片机功耗小等条件的限制我选了C8051F040这款单片机作为控制器。显示电路方面,我选择LCD12864作为显示电路。键盘输入部分考虑到输入的方便和快捷性选择4*4矩阵式键盘作为单片机的温度输入部分。控制部分,考虑到电路的简单和控制的迅速灵敏性,选择固态继电器作为控制部分的开关量。当键盘输入温度,测温电路铂电阻的电阻变化量,通过电路转化成电压的变化量送入单片机,单片机进行AD转化成数字量通过LCD12864显示实测温度值。单片机比较键盘输入的温度,当输入温度小于实测温度时,单片机控制加热电路不动作,当输入温度大于实测温度时,单片机IO口给高电平控制固态继电器动作,加热电路工作对水温进行加热,使水温维持稳定的温度。整个过程中显示部分实测温度实时显示。2.4 C8051F040单片机最小系统介绍C8051F040是Cygnal公司的51系列单片机,它是集成混合信号系统级在一块芯片上的单片机,它代表了目前8位单片机控制系统的发展方向。芯片上包含的12位多通道ADC有1个,电压比较器有2个, 12位DAC有2个,电压基准1个, 32kB的FLASH存储器1个,拥有与MCS51指令集完全兼容的高速CIP51内核,拥有可达25MIPS峰值速度,并且完全支持CAN2.0B和CAN2.0A的CAN控制器,拥有硬件实现的UART串行接口。C8051F040是具有与8051单片机兼容的高速CIP-51微控制器内核的高度集成的混合信号SoC级微控制器芯片,C8051F040除了标准8051的数字外设部件外,片内还集成了控制系统中常用的模拟部件及其它一些数字外设器件并且集成了数据采集器件。2.4.1 C8051F040引脚在本设计的温度控制器中,控制核心芯片为C8051F040单片机,芯片管如图2.3:图2.3 C8051F040单片机芯片引脚图2.4.2 C8051F040最小系统(1)时钟电路C8051F040的时钟可以由内部方式产生或外部方式产生,本系统所用的时钟由外部方式发生。定时元件通常采用石英晶体和电容组成的并联谐振回路。本系统选用24MHz的晶振。时钟电路如图2.4所示:图2.4 时钟电路(2)复位电路复位是使单片机的CPU以及其他功能部件都恢复到一个确定的初始状态的初始化操作。复位后单片机从这个状态开始工作。除此之外,当单片机运行出错或系统处于死循环状态等情况时,需要对单片机进行复位以重新启动机器。复位电路如图2.5所示:图2.5 复位电路(3)电源电路C8051F040单片机的电源电路输出电压3.3V,+5V的电压通过AS1117稳压器将电压稳到3.3V,接0欧电阻,然后经过电容,能够有效地限制环路电流。单片机AV+通过调线帽连接到3.3V。C8051F040单片机AV+管脚模拟电源必须接+2.7V+3.6V。C8051F040最小系统电源电路如图2.6所示:图2.6电源电路C8051F040单片机的主芯片一共有100个管脚,其中IO口总共有7个,从P0-P4是低位,P5-P7为高位,它们可以设置成推挽方式和开漏方式,两种方式没有本质的区别。C8051f040最小系统原理图如2.7所示:图2.7 C8051F040最小系统原理图2.5 本章小结本章介绍了系统的总体方案设计过程,通过方案对比,确定出一个实用、廉价、可行的系统方案。作为主控芯片,对C8051F040的详细了解是十分关键的。此外,介绍了C8051F040最小系统的设计。第3章 各部分单元电路的设计及器件选择3.1测温模块在测温电路中主要用到的器件有温度传感器和放大器。在本设计中温度传感器采用的是热电阻Pt1000,放大器的芯片选择的是LM324。3.1.1 温度传感器的介绍对于温度的感知可以采用多种的温度传感装置,例如热电偶,热电阻,热敏电阻,PN结温度传感器,集成温度传感器等。常用的有DS18B20。本设计采用的是Pt1000热电阻。实物如图3.1所示: 图3.1. Pt1000热电阻实物图Pt1000热电阻的特点: Pt1000是铂热电阻,它的阻值跟温度的变化基本成线性。Pt1000的阻值与温度变化关系为:当Pt1000温度为0时它的阻值为1000欧姆,在100时它的阻值约为1385.005欧姆。它的工业原理:阻值会随着温度上升而成匀速增长的。温度每上升1,阻值上升3.8欧姆。 医疗、电机、工业、温度计算、阻值计算等高精温度设备,应用范围非常之广泛 人们利用Pt1000铂电阻的温度与阻值变化基本呈线性的关系生产了Pt1000热电阻温湿度采集于一体的智能传感器传感器。Pt1000的外部结构如图3.2所示:图3.2 Pt1000传感器的结构3.1.2 LM324的介绍LM324内部含有四个放大器,输出管脚分别位于芯片的边沿,放大器反相输入端位于芯片的输出管脚下方第二位,放大器同相输入端管脚位于电源上方,电源管脚位于芯片的中心,电源左边管脚接高电平,右边电源管脚接地。LM324的芯片管脚排列图如3.3所示:图3.3 LM324的芯片管脚排列图LM324内含放大器主要是由三极管和电阻组成的集成电路,放大器的性能取决于三极管的性能和电路的组成。 LM324的内部结构如图3.4所示:图3.4 LM324内部结构图3.1.3测温电路由于Pt1000随温度的变化基本呈线性关系,那么阻值的变化转换成电压送入单片机就要进行线性化处理,使得电压与温度的变化呈线性化关系。因为C8051F040单片机AD转化接口接受的电压不得超过2.4V,那么就要求,测温电路的输出最高电压为2.4V。当温度是0时,Pt1000的阻值为1K时,电压的输出要求为0V,当温度达到100时,Pt1000的电阻为1385.005欧姆,要求电压输出为2.4V。实际测量的电压值与理想的电压值存在误差,0时,电压输出是0.026V,100时,单片机AD转化口接受的电压是2.38V。要达到AD转换的准确,软件中对误差进行了一定的处理。测温电路如图3.5所示:图3.5 系统测温电路原理图U为电源电压3.3V ,U+为第一级放大器的同相输入端电压,输出端电压U01 ,放大器二级同相输入端电压U01,二级输入端的电源为U,二级反向输入端的电压U1,二级输出电压为U0。测温电路的计算公式如下: (2-1) 根据虚短虚断得: (2-2)放大器一级输出: (2-3) 整理得: (2-4) 二级同相输入端电压U1: (2-5)输出电压U0: (2-6)整理得: (2-7) 带入电阻阻值得: (2-8)3.2控制加热模块 本设计的加热控制电路中主要用到固态继电器和加热棒。控制固态继电器用三极管驱动。3.2.1 固态继电器的介绍固态继电器是利用如三极管、可控硅、双向可控硅半导体等电子元件的开关特性构造的一种无触点通断电子开关。固态继电器是四端有源器件,它可以采用无触点无火花的方式断开和接通电路。从正面看固态继电器结构,左端的两个端子为输入控制端,右端的两端是输出受控端。固态继电器内部器件中采用高耐压的专业光电耦合器的目的是实现输出输入之间的电气隔离。一旦输入端有输入信号,主回路开始处于导通状态。输入端无信号输入时主回路呈阻断状态。固态继电器的功能实现相当于常用电磁继电器,可动部件及触点在整个器件不允许出现,但其封装形式传统电磁继电器的封装形式基本相同。它问世于70年代,无触点工作特性使得固态继电器在电器控制方面和计算机控制方面等许多领域得到逐渐广范的应用5。固态继电器较之电磁继电器具有工作相当可靠、时间寿命长、对外界环境干扰较小、能用逻辑电路控制、抗外界干扰能力强、通断速度快等许多优点。6本设计采用的固态继电器启动电压3-32V直流。输出电压为220V,最大限流为10A。 固态继电器实物图如图3.6所示:图3.6 固态继电器的实物图当固态继电器输入端加3-32V的时,LED灯点亮,ICI光电耦合器工作,然后V1管导通,稳压电路导通,输出端工作。固态继电器的内部结构如图3.7所示:图3.7 固态继电器内部结构图3.2.2加热棒的介绍“热得快”的加热时,主要依靠加热螺圈,加热螺圈通常是用一种较细的管内装有电热丝金属管绕制成的。金属管主要的绝缘材料是氧化镁粉之类的化学物质。热得快主要是把电热丝封装固定在管中间,使它不与管壁接触。加热棒的实物图如图3.8所示:图3.8 加热棒的实物图热得快的工作原理:电热丝的两端接上插头,然后再分别与电源线相接。插头插电后,电热丝中有电流流过,电热丝便逐渐发热。当 “热得快”浸没在液体中时,热量通过液体很快散发出来,这种方式不会烧坏电热丝同时使液体很快被加热。我们选择的加热器的工作电压为220V交流,功率为30W,插头与电阻丝部分经过塑封,完全可以浸没在水中。我们选择的热得快功率小能实现设计目的同时因为短小,方便携带。3.2.3加热控制电路控制加热电路中,固态继电器作为开关使用,三极管驱动固态继电器。当单片机P3.0高电平时,NPN三极管导通。固态继电器输入端有了电压差,固态继电器开关启动,加热器与固态继电器串连在电路中,加热器开始加热,达到控制水温的作用。加热控制电路如图3.9所示:图3.9 加热控制电路原理图当P3.0高电平,单片机IO口电压为5V。固态继电器的开启电压为3-32V。U=VCC-Uce3V,那么固态继电器开始工作。固态继电器一旦开始工作,受固态继电器控制的加热器开始加热从而达到控制系统的目的。3.3键盘输入模块本设计输入电路采用4*4矩阵式键盘。矩阵式键盘的结构与工作原理:当设计系统键盘电路时,如果按键数量比较多,最常使用的方法就是将按键排列成矩阵形式。目的是为了减少I/O口的占用。在矩阵式键盘中,每条水平线和垂直线是通过一个按键加以连接而在交叉处不直接连通,这样,一个端口(如P4口)就可以构成4*4=16个按键,与直接将端口线与按键相连,这种方法使得IO口占用较少而且连接键盘多出了一倍。当线数越多,区别就会越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。键盘输入电路如图3.10所示:图3.10 矩阵式键盘原理图工作原理: 监测有无键被按下 将全部行线P4.4-P.7置低电平,然后检测列线的状态。只要有一列的电平为低,则表示这列键盘中有键被按下,而且被按下的键位是低电平线与4根行线相交叉的位置。若所有单片机检查所有列线均为高电平,则表示键盘电路中无键闭合。 识别哪一个键被按下确认键盘电路中有键闭合后,那么开始确定按键的位置。其方法是:将键盘中所有行线依照次序设置为低电平,行线设置时中不能同时设置两个高电平。在保证键盘某根行线为低电平后,再依次检查各列线的电平状态。若键盘中某列为低,则被按下的键所处的位置为该列线与置为低电平的行线交叉处。3.4 液晶显示模块LCD12864是一种汉字及图形点阵液晶显示模块,不但可以显示汉字还可以显示图形,带字库的12864内部含有 8192个中文汉字(16X16点阵)、128个常用及不常用的字符(8X16点阵)及64X256点阵显示RAM。主要技术参数和显示特性:电源:VDD 3.3V+5V;显示内容:中文汉字,图形,数字,符号; 显示颜色:黄绿;显示角度:6:00钟直视;与MCU接口:8位或4位并行/3位串行;该模块既可以显示图形,也可以显示84行1616点阵的汉字。相比与同类型的图形点阵液晶显示模块,该模块构成的液晶显示方案不论从显示程序或硬件电路结构上面来讲都要简洁灵巧的多。相比于类似点阵的图形液晶模块,该模块的价格也便宜的多。 LCD12864实物如图3.11所示:图3.11 LCD12864实物图LCD12864采用相当标准的20个管脚接口,其引脚功能如下:第1脚:VSS为电源地,接GND;第2脚:VDD模块的电源正端;第3脚:V0对比度调整端,当完全接高电平时对比度最差,在实际使用中采用可变电阻来调节对比度;第4脚:RS H/L 并行的指令/数据选择信号;串行的片选信号;第5脚:RW为读写信号线,进行读操作时管脚必须高电平,进行写操作时管脚必须低电平。当RS管脚和RW管脚同时处于低电平时,LCD12864可以写入指令或者显示地址,当RS管脚为低电平而RW管脚是高电平时,LCD12864可以读忙信号,当RS管脚为高电平RW管脚处于低电平时,LCD12864可以写入数据;第6脚:E是使能端,当E处于高电平而跳变成低电平时,LCD12864模块执行命令;第714脚:D0D7为8位双向数据线,可以传送数据;第15脚:PSB 并/串行接口选择:H-并行;L-串行;第16脚: NC 空脚悬空;第17脚:/RET 复位 低电平有效;第18脚:NC 空脚悬空;第19脚:BLA背光电源正极(+5V)输入引脚;第20脚:BLK背光电源负极,接GND;LCD显示模块电路如图3.12所示:图3.12 LCD12864显示电路图3.5本章小结本章详细介绍了系统的硬件部分,对于每个器件的性能给做出了分析。对硬件的设计的原理进行了充分的说明并且给出了各个模块的原理图。第4章 系统的软件设计在单片机应用系统的开发中,软件的设计是比较复杂和困难的,比较难编写,尤其是那些控制系统比较复杂的情况。在考虑一个应用系统的开发时,应该先分析该系统要实现的功能,明确软硬件分工。如果一些功能既可用软件完成,也可用硬件完成,就要分析采用软件或硬件哪个更具有优势,选择最优方案。进行软件设计时,需要把程序分成若干个功能独立的模块来实现。 硬件要在软件的配合下才能完成预先确定要实现的各种功能。软件是整个控制系统设计的核心,它具有充分的灵活性,可以根据系统的要求而变化。单片机的智能控制功能主要由软件来完成。4.1编程工具的介绍C语言是计算机中广泛使用的一种高级语言,在作为单片机编程语言之前,已经应用到许多领域。C语言的功能强大、使用简单、有丰富的库函数、运算速度快、可移植性好。4.1.1 C语言的主要优点与汇编语言相比C语言包含了多种高级语言的优点:能与汇编语言兼容,可直接操作硬件端口,这是单片机应用所需要的。C语言是一种结构化的语言,采用函数,循环语句或条件语句很容易实现代码模块化,简单明了,使用户很容易实现模块程序结构。C语言的源代码可读性较强,灵活性性强,容易理解和运用,可大大缩短编程时间。C语言良好的可移植性可以使相同的功能模块方便地移植到另一种单片机上。使用C语言不要求对指令系统很熟悉,初学者就可以灵活运用。很多计算机都支持对C语言的应用,所以可以方便地在计算机上直接编写和调试部分程序。在多数情况下,在计算机上调试成功的代码段可以直接移植到目标单片机上。这样,在没有硬件的情况下,就可以编写和调试程序,同时减少了在硬件上的调试,大大加快了开发进程。4.1.2 C语言使用的工具C编译器是将C语言源文件翻译成临时目标文件的软件工具。目前,很多软件开发公司都是把C语言用于单片机的软件开发,用于80C51系列单片机的C语言在1985年就已经出现,称为C51编译器,通常简称为C51。本设计所使用的程序的集成开发环境是Keil,该开发环境使用简单,容易上手,为调试工作提供了很多方便。4.1.3 Keil编程软件的介绍 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,C语言与汇编相比,具有易学,可读性强,可易维护等特点。C51工具包的整体框架结构如图4.1所示:图4.1 C51工具包结构图4.1.4 C语言编程实现的功能C51语言作为本设计的主要编程语言具有很强的可读性。本设计C8051F040的温度控制器系统软件在程序设计时采用了模块化设计,思路清晰,使程序简介、可移植性强。程序主要由三大模块组成:主程序模块、功能实现模块和运算控制模块。主程序模块负责任务调度;功能实现模块由各个子程序组成,实现系统各个子功能;运算控制模块负责控制量的计算。在本次基于C8051F040的温度控制系统中,子程序主要包括:初始化子程序、定时中断子程序、显示子程序、键盘扫描和键处理子程序。软件部分主要实现以下三项功能:(1) 温度的读取显示。(2) PID控制算法的实现:对输入量采用PID算法进行详细的计算,处理数据输出控制量。(3) 键盘、显示功能:通过键盘设定温度参数,显示实时温度。在本设计基于C8051F040的温度控制器,软件设计作为整个软件的设计中心具有跨时代的意义。设计完善简洁的软件框架在对软件编程时具有很大的帮助。软件设计的简洁明了决定了系统软件运行时不存在冗余,对于本设计的软件框架在程序中主要分为LCD显示,键值的处理,键盘的扫描,AD转换程序,PID子程序。控制系统的主程序在整个软件设计中起主导作用,它是整个系统软件的灵魂。主程序设计的正确与否,影响整个程序的正确执行与否。在程序运行时,主程序是通过调用子程序来完成系统控制命令的。主程序主要功能是是完成对单片机的系统上电复位、初始化设置、负责各功能子程序的调用等。主程序流程图如下图4.2所示:图4.2 主程序流程图软件子程序对于软件的设计也是非常重要的,子程序的调用可以减少系统软件运行的时间,大大的提高了温控系统的控制效率。PID控制算法子程序如图4.3所示:图4.3 PID子程序4.5本章小结本部分主要叙述了软件的编程工具和软件编写的程序模块。通过软件的模块化调试然后在整合到一起,检验硬件完好的同时也使整个系统软件的框架更加清晰。第5章 系统调试系统调试总共分三大部分,分别是软件调试,硬件调试以及软件硬件联机调试。调试有两个阶段,单元调试和整体调试。对单元模块进行单独的检查和调试是单元调试;整体调试一般可排除软件模块兼容方面的错误。5.1 硬件调试5.1.1 元器件的检测本设计的温度控制系统所需要部分的器件检查如下所示:(1)固态继电器:输入端接+5V电压,看指示灯是否正常点亮,输出端接220V功率用电器,看用电器是否正常工作。(2)加热棒:放入盛有水的容器中,接220V电压,观察水面是否变化。(3)Pt 1000电阻:将铂电阻放入热水中,用电压表测PT1000两端的电阻值,随着水温的降低,观察电阻值是否降低。(4)LM324:给芯片供电,输入端输入小电压,用万用表查输出端的电压。(5)LCD12864液晶显示器:直接给液晶显示器加上电压,看液晶屏是否被点亮。5.1.2 模块电路的检测(1) 测温模块:将传感器放入水中,加热水,观察输出端的电压是否在0-2.4V之间。(2)加热模块:三极管基极接高电平,加热器放入水中并接220V电压,观察水温的变化。(3) 矩阵式键盘模块:按下某一个按键,用万用表检测是否有两个口导通。5.1.3 整个硬件电路的静态调试静态调试是在系统未工作时的一种硬件检查,一般可排除明显的硬件故障(如短路、开路及断路等故障),它包括以下几个步骤:(1)万用表测试。首先,用万用表二极管档检查可以相连的接点,查看它们的通断状态是否与设计相符。然后,查看各电源线与地线之间是否有短路现象,如有则仔细查看并排除。短路现象一定要在器件安装及加电前查出,因为如果电源线与地线之间短路,系统中的设备都有可能被严重毁坏。(2)加电检查。将焊好的电路板接入电源,第一步检查电源输入端的电压是否符合电路的要求,正极电压是否超过范围,电路板接地端电压是否为零,检查芯片的供电电压是否符合要求以免电压过大烧毁芯片。然后检查电路中各个节点的电压是否与理论的电压值符合(一定范围内的误差可以忽略)。接入单片机的处理电压是否在单片机的接受范围之内。然后切断电源,将系统需要的芯片小心的插入相应插座中(尽量避免折断管脚),然后系统上电进行电压检查(确保电源不会短路)。注意当电路板插入芯片并加电后,隔一定的时间检查触摸芯片的温度,避免芯片过热而烧毁。如果电路出现过热,烧糊的气味,冒烟等现象,应该立即切断电源,检查电路并重新组织电路。5.1.4 整个硬件电路的动态调试实验数据记录调试开始时,首先通过键盘设定温度额定值。下表的温度值都是在温度稳定之后记录的:设定值/3036405055607080显示值29.835.740.050.155.661.272.082.2实测值/2836415056617279温差/20101121硬件调试时遇见的问题: 输入模块第三列按键不起作用; 测温电路中Pt1000电阻阻值1K时,输出电压不能达到0V,有误差,Pt1000电阻值1.38K时,输出电压不能达到2.4V; 显示电路的对比度不足,显示的汉字不是很清楚; 显示的温度与实际的温度不符合。解决办法:用万用表测量按键的接触点,检查线路问题然后重新焊接。测温电路的问题可以通过软件处理,设定电压基准值来达到要求。显示电路的对比度管脚重新接一个阻值较大的电位器。通过调节测温模块的电位器来控制输入单片机的电压基准来达到控制的目的。5.2 系统软硬件联机调试所谓联机调试就是将软件和硬件结合起来检测系统的性能是否与系统要实现的功能符合,硬件部分联机调试可以检测硬件的电路中的短路,器件工作是否正常,连线是否正确,软件的联机调试可以检测程序是否存在逻辑错误,检测系统模块在运行时功能要求符合。例如软件检查时硬件键盘的布局和软件程序中键盘程序不对应,因此当按键被按下时显示部分就会出现乱码。解决的方法是将软件部分键盘的子程序修改成与硬件部分相同。5.4 调试经验在调试过程中经常发现的错误,可以分为三种:系统方案错误;系统设计错误;系统实现错误。(1)系统方案错误是最严重的,为了避免出现这样的错误,在设计前要进行详实的方案论证,确保方案的可以实施。要广泛查找资料,比较各个资料的准确,必要时开发部分原型或者进行计算机模拟。(2)系统设计错误预示着要对硬件电路很大的变动,例如,元件参数计算错误,以致达不到预定的指标;元器件选择错误,例如限流较大的选择了限流较小的器件。可以采取仿真或者测量器件参数,与所设计电路的参数进行比较,选择合适的器件。 (3)系统实现错误是指器件接线错误或工作点设置错误。根据模拟的结果进行对照调试可以查找实现错误,或利用电路的因果关系来确定故障位置。5.5本章小结系统调试在整个设计过程中是非常重要的,要想快速准确的找出原因所在,方法很重要,在以后的系统设计及制作过程中要特别注意积累这方面的经验。第6章 总 结6.1 系统的不足u 设计矩阵式键盘的布局不太合理,为软件的编程增加了一定的难度。u 设计系统时考虑到稳定性的问题采用的器件有些贵,应该多方参考选择比较经济和稳定性合适的器件。u 测量水的温度有一定的局限性,由于控制对象盛在容器里是静态不动的,加热时水温分布不均匀,测量的温度在水槽不同的地方温度不同。 6.2设计展望本设计是基于C8051F040的温度控制器,该设计采用闭环系统,主要研究的是时水温稳定在定值上,不再变化。再此提出后续的一些改进工作,为后续系统的完善提供理论和硬件上的支持。本论文基本实现了基于C8051F040温度控制系统的设计。通过这个设计的完成,培养了自己的创新思维动手的实践能力。后续的系统完善如下:(1)完善和稳定测温系统,提高测量精度。现有的测温电路采用的器件、线性化的精度及数据采集精度有待提高。使用专业的测温仪会达到更好的效果。(2)提高控制的灵活性和准确度。控制电路采用温度控制仪控制加热电路将会达到效果。(3)采用更高级的控制理论。现在的PID控制算法因为控制对象不同有一定的局限性。控制系统的参数决定实际控制系统迅速准确度,所以采用更先进的控制理论会是系统更加完美。 如模糊控制算法,或者以继续结合神经网络、人工智能等控制理论的基础上研究出合适温度控制的算法。6.3 设计心得体会经过一学期的学习及实践,毕业设计也即将圆满的画上句号。回想自己起初选择这个题目的时候,那份轻松的心情历历在目。但当自己开始在图书馆和网络上查询资料的时候才发现自己所学的和设计需要的东西比较起来真的是九牛一毛。那时的心情“欲哭无泪”这四个词完全是不能表达的。开始设计模块的时候,导师给了很大的启示。联想自己四年所学到的知识,结合手中的资料开始设计图纸,理论的东西有时候实践起来会存在很多问题。 例如测温电路时,我开始时设计的电路输入电压是2.5V,选择TL431稳压,可是当将芯片接入电路后,TL431就开始发热。直到我把输入电源改成用单片机供电,测温电路的供电部分才稳定。在焊接好测温电路后,测温电路的输出电压达不到要求,当时我已经对这个电路计算了5次,确定它在理论上是可以达到我要的效果的。后来反复的测量,实在崩溃到日算夜算的地步。最终发现刚开始的时候就是错误的,芯片的参数和允许的放大倍数被自己已经抛到大洋彼岸了,只想理论计算的成立就能成功。这次细节决定成败这个哲理再次在我的身上得到很好的应证。 以后设计电路的每个细节我都非常的仔细思考,控制电路的三极管考虑它的型号,它上面上拉电阻的阻值,什么范围之内电阻值是被允许的。键盘电路考虑按键的抖动问题,在焊接的时候,焊接的是按键的斜对脚。LCD显示电路背景光调节的问题,在网上查资料借鉴别人的图纸来设计自己的图形,考虑接多大阻值的电阻。这些问题都是在设计电路的小细节。我觉得我将硬件做的尽量准确,那么我的搭档在设计软件的同时就可以避免一些小问题。 为别人考虑的同时也是为自己考虑,团队合作是很重要的。毕业设计也教会了我很多我经常性忽略的东西,比如合作,比如信任,比如理解。与此同时自己不懂要经常向同学学习。自己刚好了解过的,知道的,同学询问的时候要耐心的回答。将心比心,当我想知道想学习某些知识时那份迫切的心情,相信很多人都可以理解。以上就是我在这次毕业设计中的心里真实的感触,感谢我的导师,我的朋友和给过我帮助的老师及同学。非常庆幸在毕业之际还能有和同学一起学习,互相帮助。这次毕业设计也让我感受到了自己生活上的不足和知识的欠缺,以后的学习生涯我会尽我所能极
展开阅读全文