基于单片机的可控加热器设计.doc_第1页
基于单片机的可控加热器设计.doc_第2页
基于单片机的可控加热器设计.doc_第3页
基于单片机的可控加热器设计.doc_第4页
基于单片机的可控加热器设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

安徽工程大学毕业设计(论文)基于单片机的可控加热器设计摘 要 温度是工业中非常关键的一项物理量,在农业、工业、各种高新技术的开发和研究中也是一个非常普遍和常用的测量参数。目前,随着信息技术的发展,传感技术的广泛应用,温度测试技术已向自动化、智能化方向发展。基于此,提出了温度的数字化测量。 随着人们生活水平的不断提高,数字温度计的要求也越来越高,为现代人工作、科研、生活、提供更好、更方便的设施就需要从新技术入手,一切向着数字化控制、智能化控制方向发展。本设计需要采用传感器技术与电子技术相结合。设计的数字温度计与传统的温度计相比,输出温度采用数字显示,具有读数方便,测温范围广,测温准确等重要特点。单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计关键词:单片机;ds18b20;moc3061;pid控制 based on mcu controllable heater designabstractthe temperature is very key industrial a physical quantities, in agriculture, industry, all kinds of high and new technology development and research is also a very common and common measuring parameters. now, along with the development of information technology, sensing technology application, temperature testing technology has to automation, intelligent direction. based on this, puts forward the digital measurement temperature.as people living standard rise ceaselessly, the digital thermometer and higher demand for modern job, scientific research, life and provide better and more convenient facilities will need all of new technology, digital control and intelligent control towards direction. this design need to adopt the sensor technology and electronic technology combined. designed digital thermometer, compared with traditional thermometer uses digital output, according to temperature, temperature readings convenient with accurate temperature measuring range, such important characteristics.the single chip computer is with very large scale integrated circuit technology development and the birth of, because it has a small volume and powerful function, high performance-cost ratio, so widely used in electronic instrument, household appliances, energy-saving equipment, military equipment, robots, industrial control and so on many domains, make the product miniaturization, intelligent, not only improves the function of products and quality and lower cost, simplified the design.key words: mcu;ds18b20;moc3061;pid control 目 录引 言5第一章 绪 论61.1可控加热器的背景与实际意义6第二章单片机及其外围器件介绍72.1单片机72.1.1单片机的选型72.2 温度传感器92.3 光电双向可控硅122.4 pid算法14第三章 硬件电路的设计153.1单片机最小系统153.2显示电路173.3温度采集电路203.4按键电路213.5可控硅设计电路22第四章 软件部分的设计234.1主函数软件234.2定时器0中断软件254.3外部中断0中断软件264.4外部中断1中断软件264.5温度值读取软件27结 论29致 谢30参考文献31附 录a 软件程序32附 录b 硬件电路39附 录c 外文文献及其翻译40插入清单图2- 1 at89s52单片机8图2- 2 硬件电路系统的方框图8图2- 3 ds18b20引脚分布图10图2- 4 ds18b20与单片机的连接11图2- 5 moc3061的管脚排列12图2- 6 proteus中moc3061的管脚排列13图2- 7moc3061与可控硅的连接13图3- 4 单片机最小系统17图3- 5 lcd1602与单片机at89s52的连接18图3- 6 led与单片机的连接19图3- 7 温度采集电路20图3- 8 按键电路21图3- 9 moc3061触发双向晶闸管电路22图4- 1 主函数框图23图4- 2 定时器0中断框图25图4- 3 外部中断0中断框图26图4- 4 外部中断1中断框图26图4- 5 ds18b20温度读取函数框图27引 言电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。单片机由硬件系统与软件系统组成。硬件系统是指构成微机系统的实体与装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。其中运算器和控制器一般做在一个集成芯片上,统称中央处理单元(central processing unit),简称cpu,是微机的核心部件。cpu配上存放程序和数据的存储器、输入/输出(input/output,简称i/o)接口电路以及外部设备即构成单片机的硬件系统。软件系统是微机系统所使用的各种程序的总称,人们通过它对微机进行控制并与微机系统进行信息交换,使微机按照人的意图完成预定的任务。软件系统与硬件系统共同构成完整的单片微型计算机系统,两者相辅相成,缺一不可。第一章 绪 论1.1 可控加热器的背景与实际意义温度是工业中非常关键的一项物理量,在农业、工业、各种高新技术的开发和研究中也是一个非常普遍和常用的测量参数。目前,随着信息技术的发展,传感技术的广泛应用,温度测试技术已向自动化、智能化方向发展。基于此,提出了温度的数字化测量。在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用mcs-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。由ds18b20检测水容器内温度,并在led中显示。控制器是用89s52单片机,用pid算法对检测信号和设定值的差值进行调节后输出控制信号给执行机构,去调节双向可控硅的加热系统,从而控制水中的温度。第二章 单片机及其外围器件介绍2.1 单片机2.1.1 单片机的选型单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。自单片机出现至今,单片机技术已走过30年的发展路程。从30年来单片机的发展历程可以看出,单片机技术的发展以微处理器(mpu)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机长寿命,这里所说的长寿命,一方面指用单片机开发的产品可以稳定的工作十年、二十年,另一方面是指与微处理器相比的长寿命。长期以来,单片机的发展是以8位机为主。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机也得到了长足发展。 单片机主要应用领域之一为工业测控 ,用于此领域的单片机多为8位机,而以mcs-51系列和at89s5系列用得最多,本设计是设计智能绕线机控制电路,因此选用8位单片机。市场上应用较多的8位单片机有at89c52和at89s52。at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k 在系统可编程flash 存储器。使用atmel 公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得at89s52在众多嵌入式控制应用系统中得到广泛应用。at89s52与at89c52都内含8kb的flash程序存储器,两者相比具有以下特点: 1)、前者支持在系统编程,后者不支持; 2)、 前者具有两个数据指针dptr0和dptr1,而后者只有一个数据指针dptr; 3)、前者含有一个看门狗定时器,具有断电标志pof,而后者没有,需要外接一个看门狗电路。如图2-1。图2- 1 at89s52单片机采用基于单片机at 89s52 的温度测控系统, 传感器为数字温度传感器ds18b20, 显示部分为led 显示器, 输出控制通道采用光电耦合双向晶闸管单相调功电路,如图2-2。单片机驱动电路显示电路复位电路驱动器执行机构水温箱温度传感器晶振电路图2- 2 硬件电路系统的方框图2.2 温度传感器(一)温度计系统的发展 最早的温度计是在1593年由意大利科学家伽利略(15641642)发明的。后来又相继出现华氏温度计、列式温度计、摄氏温度计,均用水银和酒精等制作,现在英、美国家多用华氏温度计,德国多用列氏温度计,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度计。随着科学技术的发展和现代工业技术的需要,测温技术也在不断地改进和提高。由于测温范围变得越来越广,根据不同的要求,又制造出不同需要的测温仪器:气体温度计、电阻温度计、温差电偶温度计、高温温度计等。而我需要研究的是数字温度计,它是通过一定的电路和温度传感器进行测控,将温度用数字准确的显示出来。数据显示比较直观而且测量精度也比较高,范围也比较大。(二)数字温度计的设计现状 数字温度计的设计一般采用温度传感器与核心处理芯片相结合,将温度信号转换为电信号,经过a/d转换变成数字信号,用数字显示。根据温度传感器的不同,数字温度计可采用热电偶、热电阻、热敏电阻、pn结型温度传感器、集成温度传感器等。智能温度传感器 亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术 ate)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、a/d转换器、信号处理器、存储器 或寄存器)和接口电路。有的产品还带多路选择器、中央控制器cpu)、随机存取存储器 ram)和只读存储器 rom)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器 mcu);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。由dallas半导体公司生产的ds18b20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。1、ds18b20性能特点 ds18b20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它i/o口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),测温范围为-55-+125,测量分辨率为0.0625,内含64位经过激光修正的只读存储器rom,适配各种单片机或系统机,用户可分别设定各路温度的上、下限,内含寄生电源。 2、ds18b20内部结构 ds18b20内部结构主要由四部分组成:64位光刻rom,温度传感器,非挥发的温度报警触发器th和tl,高速暂存器。ds18b20的管脚排列如图2-3所示。 64位光刻rom是出厂前被光刻好的,它可以看作是该ds18b20的地址序列号。不同的器件地址序列号不同。图2- 3 ds18b20引脚分布图ds18b20高速暂存器共9个存储单元,如表2-1所示: 序号 寄存器名称 作 用 序号 寄存器名称 作 用 0 温度低字节 以16位补码形式存放 4、5 保留字节1、2 1 温度高字节 6 计数器余值 2 th/用户字节1 存放温度上限 7 计数器/ 3 hl/用户字节2 存放温度下限 8 crc 表2-1 ds18b20存储单元 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18b20的两个高低两个8位的ram中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 高8位 s s s s s 26 25 24 低8位 23 22 21 20 2-1 2-2 2-3 2-4 在硬件上,ds18b20与单片机的连接有两种方法,一种是vcc接外部电源,gnd接地,i/o与单片机的i/o线相连;另一种是用寄生电源供电,此时udd、gnd接地,i/o接单片机i/o。无论是内部寄生电源还是外部供电,i/o口线要接10k左右的上拉电阻,如图2-4。图2- 4 ds18b20与单片机的连接ds18b20有六条控制命令,如表2-2所示: 指 令 约定代码 操 作 说 明 温度转换 44h 启动ds18b20进行温度转换 读暂存器 beh 读暂存器9个字节内容 写暂存器 4eh 将数据写入暂存器的th、tl字节 复制暂存器 48h 把暂存器的th、tl字节写到e2ram中 重新调e2ram b8h 把e2ram中的th、tl字节写到暂存器th、tl字节 读电源供电方式 b4h 启动ds18b20发送电源供电方式的信号给主cpu 表2-2 ds18b20控制命令cpu对ds18b20的访问流程是:先对ds18b20初始化,再进行rom操作命令,最后才能对存储器操作,数据操作。ds18b20每一步操作都要遵循严格的工作时序和通信协议。如主机控制ds18b20完成温度转换这一过程,根据ds18b20的通讯协议,须经三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。2.3 光电双向可控硅耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(led),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电光电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。所以,它在长线传输信息中作为终端隔离元件可以大大提高信噪比。在计算机数字通信及实时控制中作为信号隔离的接口器件,可以大大提高计算机工作的可靠性。双向可控硅是在普通可控硅的基础上发展而成的,它不仅能代替两只反极性并联的可控硅,而且仅需一个触发电路,是比较理想的交流开关器件。其英文名称triac即三端双向交流开关之意。晶闸管的触发方式有移相触发和过零触发两种。常用的触发电路与主回路之间由于有电的联系,易受电网电压的波动和电源波形畸变的影响,为解决同步问题,往往又使电路较为复杂。motorola公司生产的moc3021-3081器件可以很好解决这些问题。该器件用于触发晶闸管,具有价格低廉、触发电路简单可靠的特点。下面以moc3061为例介绍其工作原理和应用。moc3061的内部结构及管脚排列见图2.4,它采用双列直插6脚封装。主要性能参数:可靠触发电流ift5-15ma;保持ih 100a;超阻断电压600v;重复冲击电流峰值1a;关断状态额定电压上升率dv/dt 100v/s。 moc3061的管脚排列如下:1、2脚为输入端;4、6为输出端;3、5脚悬空,输出级为具有过零检测功能的光控双向可控硅。当红外发光二极管发射红外光时,光控双向可控硅触发导通。详见图2-5。图2- 5 moc3061的管脚排列在proteus中moc3061的管脚排列如图2-6图2- 6 proteus中moc3061的管脚排列光耦合器的主要优点是单向传输信号,输入端与输出端完全实现了电气隔离,抗干扰能力强,使用寿命长,传输效率高。moc3061和双向可控硅组成交流通路,实现主回路的通断。由单片机的pwm波输出端口控制moc3061的通断时间,实现主回路的通断控制。通过改变pwm波的占空比控制双向可控硅的通断时间,从而实现主回路电流的无极可调。在单片机pb1引脚输出高电平时,过零通断型光电耦合器moc3061初级得到约15ma的正向工作电流,使内部硅化镓红外线发射二极管发射红外光,将过零检测器中光敏双向开关在市电过零时导通,接通主回路。在单片机p1引脚输出低电平时,双向开关关断,主回路关闭。moc3061和可控硅的连接如图2-7。图2- 7moc3061与可控硅的连接2.4 pid算法在过程控制中,按偏差的比例(p)、积分(i)和微分(d)进行控制的pid控制器(亦称pid调节器)是应用最为广泛的一种自动控制器。它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,pid控制器是一种最优控制。pid调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(pi、pd、)。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称pid控制,又称pid调节。pid控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的 其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用pid控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用pid控制技术。pid控制,实际中也有pi和pd控制。pid控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 比例(p)控制 比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(steady-state error)。 积分(i)控制 在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的 或简称有差系统(system with steady-state error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积 分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(pi)控制器,可以使系统在进入稳态后无稳 态误差。 微分(d)控制在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用, 其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入 “比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能 够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(pd)控制器能改善系统在 调节过程中的动态特性。第三章 硬件电路的设计3.1 单片机最小系统所谓单片机的最小系统,就是只有时钟电路复位电路。l 晶振电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率上。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种方式为外部时钟方式,本设计采用内部时钟方式。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。at89s52单片机内部有一个用于构成振荡器的高增益反相放大器。引脚xtal1和xtal2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容c1和c2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12mhz,电容应尽可能的选择陶瓷电容,电容值约为2233pf。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。c1c2xtal1xtal2晶振at89s52图3- 1 内部时钟方式的电路gndat89c52内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚xtal1,输出端为引脚xtal2。这两个引脚跨接石英晶体振荡器(简称晶振)和微调电容,就构成一个稳定的自激振荡器,图3-1是at89s52内部时钟方式的振荡器电路。 本设计电路中的电容c1和c2的值选择33pf,晶振的振荡频率为12mhz。l 复位电路复位是单片机的初始化操作,除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。只需给单片机的复位引脚rst加上大于2个机器周期的高电平就可使单片机复位,复位电路通常采用上电自动复位和按钮复位两种方式。vccr110krste122ufc0.1ufsmgnd图3- 2 rc复位电路vccr110krste122ufc0.1ufsmgndd14148图3- 3 增加放电回路的rc复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图3-2 所示的rc复位电路可以实现上述基本功能,但解决不了电源毛刺(a点)和电源缓慢下降(电池电压不足)等问题而且调整rc常数改变延时会令驱动能力变差。图3-2 所示的rc复位电路为低电平有效,sm 为手动复位开关,电容c可避免高频谐波对电路的干扰。 由于rc复位电路存在上述缺陷,可在复位电路增加二极管,在电源电压瞬间下降时使电容迅速放电,一定宽度的电源毛刺也可令系统可靠复位。图3-3为增加放电回路的rc 复位电路,不但可以解决电源毛刺造成系统不稳定,而且电源缓慢下降也能可靠复位。图3-3中各器件的作用如下:电阻r1、电解电容e1:组成rc积分电路,决定复位时间的大小。电阻r2、电容c1:组成rc吸收回路,增加抗干扰能力。二极管d1:放电二极管,保证电源掉电后,mcu能够快速复位。由上述比较可知,增加了放电回路的rc复位电路有明显的优势,故本次设计采用增加放电回路的rc复位电路。最小系统电路图如图3-4:图3- 4 单片机最小系统3.2 显示电路显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及生产工艺,单片机应用系统中常用的显示器有:发光二极管led显示器、液晶lcd显示器、crt显示器等。led显示器是现在最常用的显示器之一。led显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位led显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如系统原理图。在动态方式中,逐个地循环地点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。l lcd与单片机的连接如图3-5所示,为lcd1602与单片机at89s52的连接,p0口对应其数据端口,lcd显示效果叫led好。 1602采用标准的16脚接口,其中: 第1脚:vss为电源地 第2脚:vdd接5v电源正极 第3脚:v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度)。 第4脚:rs为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:rw为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:e(或en)端为使能(enable)端。 第714脚:d0d7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图3- 5 lcd1602与单片机at89s52的连接l led与单片机的连接 如图3-6所示,为led与单片机at89s52的连接,p0口对应其数据端口,并用锁存器74hc573,利用74ls138译码器对p2端口进行位选,从而对对数码管动态的扫描,动态led显示效果如图3-6,led较lcd1602便宜许多,且较容易控制,故本设计采用数码管显示的电路。 图3- 6 led与单片机的连接 3.3 温度采集电路 ds18b20是单线温度传感器,广泛用于多点温度检测,因为它是数字信号,所以可以避免长距离误差,其中一种封装形如同普通三极管,2个电源信号,一个信号接口,硬件连接只需要一个10k电阻,主要是程序部分,用于是单线采集,精度较高是采集时间比较长,接近1s,所以重复采集的频率不能太高,不然会造成数据紊乱。 ds18b20与单片机的连接如图所示3-7,需要在单总线的端口dq处接上上拉电阻,一般为10k,由于是单总线,硬件上简单,软件上就麻烦一些,对其时序要求比较的高,要严格满足其是需要求才可以得到正确的采集温度值。使用p1.3与dq端口连接,p1口的其他口也是可以用的,只不过在软件中修改一个全局变量。由于at89s52硬件上并不支持单总线协议,因此,必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序,读时序,写时序。所有时序都是将主机作为主设备,单总线器件作为从器件。而每一次命令和数据的传输都是主机主动启动写时序开始,如果要求单总线器件回送数据,在进行命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。图3- 7 温度采集电路3.4 按键电路图3- 8 按键电路 按键k1与k2是用于调整可控硅的占空比,控制逻辑如下:a) k1按下时,会在数码管上显示其占空比,再按下k2键用于调节占空比,范围在00-90之间,每按一下,调动的幅值为10。b) 设置号占空比后,在按k1键返回显示当前的温度值。c) 在k1未按下时,按k2键无效。3.5 可控硅设计电路moc3061触发双向晶闸管电路如图3-9所示。图中r4为限流电阻,使输入的led电流分别为:15ma(moc3061)10ma(moc3062)5ma(moc3063)r1可按右式计算:r1 = (vcc vf)/ ift式中:vf:为红外发光二极管的正向电压,可取1.21.4v; ift:为红外发光管触发电流。r5:是双向可控硅的门极电阻,当可控硅灵敏度较高时,门极电阻也很高,并上r2可提高抗干扰能力。r6:是触发功率双向可控硅的限流电阻,其值由交流电网电压峰值及触发器输出端允许重复冲击电流峰值决定,可按右式选取:r2 = vp / itsm。式中:vp为交流电路中的峰值电压,itsm为峰值重复浪涌电流(一般可取1a)。另外39电阻和0.01uf电容组成浪涌吸收电路,防止浪涌电压损坏双向可控硅。 图3- 9 moc3061触发双向晶闸管电路第四章 软件部分的设计4.1 主函数软件开始定时器0及外部中断0,1初始化开总中断ea=1变量初始化温度值处理标志位flag_get=1读温度值并判断正负整数及小数处理标志位flag_get=0图4- 1 主函数框图 主函数为main函数,在此函数中,开始时完成定时器0,外部中断0,外部中断1的初始化,然后开总中断,再就是一些在定时器中断中用到的全局变量的初始化,完成这些操作,定时器开始工作,外部中断也开始工作,等待中断的发生。而flag_get是读取温度的标志位,此标志位在定时器中断发生100次的时候置1,即每0.4s读取温度一次。然后是判断温度的正负,再将温度值分解,最后flag_get=0,等待下次温度的读取。而显示是通过定时器来完成的,利用动态扫描。 以下为主函数:void main(void)unsigned char temph,templ; /温度变量,高位与低位ex0_init(); /外部中断0初始化ex1_init(); /外部中断1初始化timer0_init(); /定时器0初始化ea = 1; /开启总中断sel = 0; /0:显示温度值;1:显示占空比count = 0; /count初始化p10 = 1; /1:光耦不导通;0:光耦导通 p2=0x00; /位选第一个数码管while(1)str5=0x39; /显示c符号str1=tabtemph/100; /十位温度str2=tab(temph%100)/10; /十位温度str3=tab(temph%100)%10|0x80; /个位温度,带小数点str4=tabtempl; /小数位if(flag_get=1) /定时读取当前温度temp=readtemperature();/读取温度值if(temp&0x8000)/判断温度正负str0=0x40; /负号标志temp=temp; /取反加1temp +=1;elsestr0=0; /温度为正,不显示temph=temp4;/去除小数位templ=temp&0x0f; /读取小数位templ=templ*6/10; /小数近似处理flag_get=0; /消除标志位4.2 定时器0中断软件定时器0中断开始重新装载定时初值占空比控制定时100次flag_get=1sel=0sel=1显示温度值显示占空比中断返回图4- 2 定时器0中断框图 定时器主要完成显示温度与占空比的切换,由于led显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。 占空比还要利用外部中断0和1来改变,通过定时器改变周期的高低电平达到导通时间的变化。占空比控制:if(+pwm = (10*thr)/占空比(%): thr 00 10 20 30 40 50 60 7080 90p10 = 0; /p10等于0时间(s):0 0.04 0.08 0.12 0.16 0.2 0.24 0.28 0.32 0.36elsep10 = 1; /关光耦if(pwm = 1000) /等于1000时pwm = 0; /重新开始 每4ms点亮一个数码管,动态扫描,是通过每次中断改变count全局变量来实现的。4.3 外部中断0中断软件外部中断0开始改变selsel=0sel=1关外部中断0,即ex1=0开外部中断0,即ex1=1中断返回图4- 3 外部中断0中断框图 外部中断0中断时,改变sel的值,用于显示温度值和占空比的调节。用于显示占空比时,就要利用外部中断1来改变占空比的比值,从而改变输出功率的改变。4.4 外部中断1中断软件外部中断1开始占空比thr加10thr=100时,thr=0中断返回图4- 4 外部中断1中断框图 外部中断1用于改变占空比的比值,中断函数如下:void isr_key1(void) interrupt 2 using 2thr += 10;/修改占空比if(thr = 100)/等于100时thr = 0; /重新开始 4.5 温度值读取软件读温度值ds18b20初始化跳过读序号列号的操作启动温度转换延 时ds18b20初始化跳过读序号列号的操作读取温度寄存器读取温度低位与高位温度值返回图4- 5 ds18b20温度读取函数框图 ds18b20的温度读取要严格满足其时序要求,其函数如下:unsigned int readtemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;init_ds18b20();/初始化writeonechar(0xcc); / 跳过读序号列号的操作writeonechar(0x44); / 启动温度转换delay(200);init_ds18b20();/初始化writeonechar(0xcc); /跳过读序号列号的操作 writeonechar(0xbe); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=readonechar(); /低位b=readonechar(); /高位b=8;/高位左移t=a+b;/高位与低位相加return(t);/返回温度值结 论单片机的设计至今为止已经进入了令人鼓舞的阶段,在进行了长达两个多月的时间的摸索与实验,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。基于此作品作为毕业设计的创作成果,在当其中机器的功能等方面并非处于一个成熟的阶段。 当然在这次宝贵的毕业设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意

温馨提示

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

评论

0/150

提交评论