计算机温度控制系统课程设计方案 .docx
精品名师归纳总结目录1. 设计目的 .12. 设计要求和设计指标 .13.总体方案设计 .14. 硬件挑选以及相关电路设计 .14.1 温度传感器的挑选 .14.2模数转换器 .34.2.1ADC0809 内部结构 .34.2.2 信号引脚 .44.2.3 工作时序与使用说明 .64.3 掌握器 89C51.74.4 数码管显示电路 .84.4.1 LED 数码管的组成 .84.4.2 数码管显示方式 .95.PID 掌握算法 .106.各子程序设计及流程图 .116.1 A/D 转换程序流程图 .116.2显示程序流程图 .126.3PID 掌握器流程图 136.4 温度掌握总程序流程图 .14总结.15参考文献 .16附录 1:温度掌握系统总电路图 .17附录 2:温度掌握系统程序清单 .19可编辑资料 - - - 欢迎下载精品名师归纳总结摘要温度掌握是工业生产过程中常常遇到的过程掌握,有些工艺过程对其温度的掌握成效直接影响着产品的质量,因而设计一种较为抱负的温度掌握系统是特别有价值的。本设计介绍了以AD590集成温度传感器为采集器、 AT89C51为掌握器、 ADC0809为 A/D 转换器对温度进行智能掌握的温度掌握系统。其主要过程如下:利用传感器对将非电量信号转化成电信号,转换后的电信号再入A/D 转换成数字量,传递给单片机进行数据处理,并向外围设备发出掌握信号。随着工业技术的不断进展,传统的掌握方式已经不能满意高精度、高速度的掌握要求。如接触器温度掌握外表,其主要缺点是温度波动范畴大,由于它 主要通过掌握接触器的通断时间比例来达到转变加热功率的目的,受外表本身 误差和沟通接触器的寿命限制,通断频率很低。近几年来快速进展了多种先进 的温度掌握方式,如:直接数字掌握<DDC),推断掌握,猜测掌握,模糊掌握<Fuzzy),专家掌握 Expert Control>,鲁棒掌握 <Robust Control),推理控制等, PID 掌握,神经网络及遗传算法掌握等 1 。这些掌握技术大大的提高了掌握精度,不但使掌握变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。论文第一介绍了单片机掌握系统的整体方案设计及原理,然后详细介绍了 掌握系统的温度传感器部分、 A/D 转换部分、掌握器 89C51部分以及数码管显示和键盘掌握部分,接着信任介绍了温度掌握系统各个单元电路的设计,最终 阐述了温度掌握系统软件设计的主程序和各个子程序。关键字:单片机 89C51温度传感器 A/D转换器温度掌握可编辑资料 - - - 欢迎下载精品名师归纳总结1. 设计目的设计制作和调试一个由工业掌握机掌握的温度测控系统。通过这个过程学习温度的采样方法, A/D 变换方法以及数字滤波的方法。通过实践过程把握温度的几种掌握方法,明白利用运算机进行自动掌握的系统结构。2. 设计要求和设计指标1、每组 7 名同学,每个小组依据设计室供应的设备及设计要求,设计出实际电路组成一个完整的运算机温度测控系统。2、依据设备情形以及被控对象,挑选1 2 种合适的掌握算法,框图和源程序,并进行实际操作和调试通过。编制程序温度指标: 6080之间任选。偏差: 1。3. 总体方案设计本系统主要由数据采集、信号放大、模数转换等模块构成。设计思想是通过温 度传感器将温度信号转变为电流 <电压)信号,但我们要知道经温度变化引起电流<电压)信号的转变是特别小的,此时假如被模数转换器采集的话成效是特别不明显的,因此我们将其通过一个信号放大模块进行放大。再通过模数转换器后送入单片机AT89C51,而单片机通过 PID 算法掌握烘箱的电炉加热,并且使数码管显示实时温度,从而实现温度的高精度掌握。4. 硬件挑选以及相关电路设计4.1 温度传感器的挑选传感器的选取目前市场上温度传感器繁多就此我们提出了以下三种选取方案:可编辑资料 - - - 欢迎下载精品名师归纳总结方案一:选用铂电阻温度传感器,此类温度传感器在各方面特性都比较优秀,但其成本较高。方案二:采纳热敏电阻,选用此类元器件有价格廉价的优点,但由于热敏电阻的非线性特性会影响系统的精度。方案三:选用美国Analog Devices公司生产的二端集成电流传感器AD590,此器件具有体积小、质量轻、线形度好、性能稳固等优点。其测量范畴在-50 -+150 ,满刻度范畴误差为± 0.3 ,当电源电压在 510V 之间,稳固度为 1时,误差只有± 0.01 ,其各方面特性都满意此系统的设计要求。比较以上三种方案,方案三具有明显的优点,因此此次设计选用方案三。图 4-1温度采集过程图选用温度传感器 AD590, AD590 具有较高精度和重复性 <重复性优于 0.1 ,其良好的非线形可以保证优于0.1 的测量精度,利用其重复性较好的特点,通过非线形补偿,可以达到 0.1 测量精度)。超低温漂移高精度运算放大器OP- 07 将“温度 - 电压”信号放大。便于A/D 进行转换,以提高温度采集电路的牢靠性。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为 10mV/K,温度 0时输出为 0,温度 25时输出为 2.982V。电流可编辑资料 - - - 欢迎下载精品名师归纳总结输出型的灵敏度为 1A/K。这样便于 A/D 转换器采集数据。4.2 模数转换器ADC0809是 M美国国家半导体公司生产的 CMOS工艺 8 通道, 8 位逐次靠近式 A/D 转换器。其内部有一个 8 通道多路开关,它可以依据的址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行A/D 转换,其转换时间为 100 s 左右。是目前国内应用最广泛的8位 通 用A/D芯片。图 4-2 ADC0809 引脚图4.2.1 ADC0809 内部结构图中多路开关可选通 8 个模拟通道,答应 8 路模拟量分时输入,共用一个A/D 转换器进行转换,这是一种经济的多路数据采集方法。的址锁存与译码电路完成对 A、B、C 3 个的址位进行锁存和译码,其译码输出用于通道挑选,其可编辑资料 - - - 欢迎下载精品名师归纳总结转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表 4-1为通道选择表。图 4-3 ADC0809 内部结构图可编辑资料 - - - 欢迎下载精品名师归纳总结表 4-1 通道挑选表4.2.2 信号引脚ADC0809的内部结构和外部引脚分别如图4-3 和图 4-2 所示。内部各部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对各引脚定义分述如下:<1)IN0IN7 8 路模拟输入,通过 3 根的址译码线 ADDA、ADDB、ADDC来选通一路。<2)D7 D0 A/D 转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。 8 位排列次序是 D7 为最高位, D0 为最低位。<3)ADDA、ADDB、ADDC模拟通道挑选的址信号,ADDA 为低位, ADDC为高位。的址信号与选中通道对应关系如表4-1 所示。<4)VR+> 、VR-> 正、负参考电压输入端,用于供应片内DAC电阻网络的基准电压。在单极性输入时,VR+>=5V,VR->=0V 。双极性输入时, VR+> 、VR-> 分别接正、负极性的参考电压。<5)ALE的址锁存答应信号,高电平有效。当此信号有效时,A、B、C 三位的址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和 START信号连在一起,以便同时锁存通道的址和启动A/D 转换。( 6) START A/D 转换启动信号,正脉冲有效。加于该端的脉冲的上 升沿使逐次靠近寄存止,重新从头开头转换器清零,下降沿开头A/D 转换。如正在进行转换时又接到新的启动脉冲,就原先的转换进程被中。可编辑资料 - - - 欢迎下载精品名师归纳总结<7)EOC转换终止信号,高电平有效。该信号在A/D 转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断恳求信号。在需要对某个模拟量不断采样、转换的情形下,EOC也可作为启动信号反馈接到 START端,但在刚加电时需由外电路第一次启动。<8) OE 输出 答应 信号 , 高电 平有 效。 当微 处理 器送 出该信号 时,ADC0808/0809 的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是 CPU发出的中断恳求响应信号。4.2.3 工作时序与使用说明图 4-4 ADC0809 工作时序图用单片机掌握ADC时,多数采纳查询和中断掌握两种方式。查询法是在单片机 把启动命令送到 ADC之后,执行别的程序,同时对ADC的状态进行查询,以检查 ADC变换是否已经完成,如查询到变换已终止,就读入转换完毕的数据。中断掌握是在启动信号送到 ADC之后,单片机执行别的程序。当ADC转换终止并向单片机发出中断恳求信号时,单片机响应此中断恳求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。这种方法单片机无需进行转换时间治理, CPU效率高,所以特殊适合于变换时间较长的ADC。本设计采纳查询方式进行数据收集。由于ADC0809片内无时钟,故运用 8051 供应可编辑资料 - - - 欢迎下载精品名师归纳总结的的址锁存使能信号 ALE经 D 触发器二分频后获得时钟。由于ALE信号的频率 是单片机时钟频率的 1/6 ,假如时钟频率为 6MHz,就 ALE 信号的频率为 1MHz,经二分频后为 500kHz,与 AD0809时钟频率的典型值吻合。由于AD0809具有三态输出锁存器,故其数据输出引角可直接与单片机的总线相连。的址码引脚 ADDAC 分别与的址总线的低 3 位 A0、A1、A2 相连,以选通 IN0IN7 中的一个通道。采纳单片机的 P2.7<的址总线最高位 A15)作为 A/D 的片选信号。并将A/D 的 ALE 和 START脚连在一起,以实现在锁存通道的址的同时启动ADC0809 转换。启动信号由单片机的写信号和P2.7经或非门而产生。在读取转换结果 时,用单片机的读信号和 P2.7 经或非门加工得到的正脉冲作为OE信号去打开三态输出锁存器。编写的软件按以下次序动作:令P2.7=A15=0,并用 A0、A1、A2 的组合指定模拟通道的的址。执行一条输出指令,启动A/D 转换。然后依据所选用的是查询、中断、等待延时三种方式之一的条件去执行一条输入指令,读取 A/D 转换结果。ADC0809是一个 8 路 8 位逐次靠近的 A/D 转换器。 AD0809 的转换时间为100s。在CPU启动 A/D 命令后,便执行一个固定的延时程序,延时时间应略大于 A/D 的转换时间。延时程序一终止,便执行数据读入指令,读取转换结果。我们只用了其一路 AD转换,参考电压 2.56V ,即一位数字量对应 10mV即 1。所以用起来很便利。ADC0809是带有 8 路模拟开关的 8 位 A/D 转换芯片,所以它可有 8 个模拟量的输入端,由芯片的 A,B,C 三个引脚来挑选模拟通道中的一个。 A,B,C三端分别与 AT89C51的 P0.0P0.2 相接。的址锁存信号 ALE>和启动转换信号<STAR)T ,由 P2.6 和/WR或非得到。输出答应,由 P2.6 和/RD 或非得到。时钟信号,可有 89C51的 ALE输出得到,不过当采纳 12M晶振时,应当先进行二分频,以满意 ADC0809的时钟信号必需小于 640K 的要求。4.3 掌握器 89C51AT89C51是美国 ATMEL公司生产的低电压 , 高性能 CMOS 8位单片机,片内含 4k bytes的可反复擦写的 Flash 只读程序储备器和 128 bytes的随机存取数可编辑资料 - - - 欢迎下载精品名师归纳总结据储备器 RAM >,器件采纳 ATMEL公司的高密度、非易失性储备技术生产,兼容标准 MCS-51指令系统,片内置通用 8 位中心处理器 CPU>和 Flash 储备单元, 功能强大 AT89C51单片机可为您供应很多高性价比的应用场合,可敏捷应用于各种掌握领域。AT89C51单片机的主要特性:C119U1XTAL122pFX118XTAL2C2CRYSTALRST 922pFRSTP0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6P0.7/AD73938373635343332P2.0/A8P2.1/A9C4Fu22930312122232425262728R21kRSTR110k1011121314151617AT89C511> 与 MCS-51兼容, 4K 字节可编程闪耀储备器。P101P112P123P134P145P156P167P178PSENP2.2/A10P2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6 P1.7P3.6/WR P3.7/RD2> 敏捷的在线系统编程,掉电标识和快速编程特性。3> 寿命为 1000 次写/ 擦周期,数据保留时间可 10 年以上。4> 全静态工作模式: 0Hz-33Hz。 5> 三级程序储备器锁定。6>128*8 位内部 RAM,32 可编程 I/O 线。7> 两个 16 位定时器 / 计数器, 6 个中断源。8> 全双工串行 UART通道,低功耗的闲置和掉电模式。 9> 片内振荡器和时钟电路。可编辑资料 - - - 欢迎下载精品名师归纳总结图 4-5 AT89C51 结构图4.4 数码管显示电路4.4.1 LED数码管的组成LED 数码管显示器是由发光二极管显示字段的显示器 件, 也称 为数 码管。其结构如图 4-6所示。它由 8 个发光二极管构成,通过不同的组合可用来显示 0-9 、A-F 及小数点“ . ”等字符。数码管有共阴极和共阳极两种结构规格,电阻为外接。共阴极数码管的发光二极管阴极共的,当某发光二极管的阳极为高电平常,二极管点亮。共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。图 4-6 LED 数码管显示图4.4.2 数码管显示方式<1) 静态显示方式直接利用并行口输出。 LED 显示工作于静态显示方式时 , 各位的共阴极连接在一起接的。每位的段选线分别于一个8 位的锁存输出相连。一般称之为静态显示, 是由于显示器中的各位相互独立。而且各位的显示字符一经确定, 相应锁可编辑资料 - - - 欢迎下载精品名师归纳总结9181 716151 4131 219181 716151 4131 210 12 345 67Q Q Q Q Q Q Q QU174HC573012 34 567Q Q Q Q Q Q Q QU274HC5730 12 345 67D D D D D D D DEL OE012 34 567D D D D D D D DEL OE23 456 78 9A101 234 56 7L1123 456 78 9AL11D D D D D D D DUD0 12 345 67D D D D D D D DE1 W存器的输出将维护不变 , 直到显示另一个字符为止。本试验采纳串入并出的静态显示方式。利用通信号串行输出。在实际应用中 , 多位 LED显示时,为了简化电路,在系统不需要通信功能时,常常采纳串行通信口工作方式0,外接移位寄存器 74LS164来实现静态显示。<2) 动态显示方式对多位 LED 显示器的动态显示,通常都时采纳动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由 于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器连续点亮一 样。为了实现LED 显示器的动态扫描,除了要给显示器供应的输入之外,仍要对显示器加位挑选掌握,这就是通常所说的段控和位控。因此多位LED 显示器接口电路需要有两个输出口,其中一个用于输出8 位控信号。另一个用于输出段控信号,其连接图如图 4-7 所示。图 4-7数码管显示电路可编辑资料 - - - 欢迎下载精品名师归纳总结5. PID 掌握算法在工程实际中,应用最为广泛的调剂器掌握规律为比例、积分、微分控制,简称 PID 掌握,又称 PID 调剂。 PID 掌握器问世至今已有近 70年历史, 它 以其结构简洁、稳固性好、工作牢靠、调整便利而成为工业掌握的主要技术之一。当被控对象的结构和参数不能完全把握,或得不到精确的数学模型时,掌握理论的其它技术难以采纳时,系统掌握器的结构和参数必需依靠体会和现场调试来确定,这时应用PID 掌握技术最为便利。即当我们不完全明白一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID 掌握技术。 PID 掌握,实际中也有 PI 和 PD 掌握。 PID 掌握器就是依据系统的误差,利用比例、积分、微分运算出掌握量进行掌握的。PID 掌握器广泛的应用于各种工业掌握。其主要的优点在于:原理简洁, 使用便利。适应性强。鲁棒性好。对模型依靠少。它是将给定值与实际输入值进行偏差运算得到et>, 然后进行比例、积分、微分运算,通过线性组合构成掌握器,实现对被控对象的掌握。对于增量型的PID 掌握规律为: Uk=kp*ek+ki* ek+kd*ek-ek-1>Uk为 PID 掌握的输出信号6. 各子程序设计及流程图6.1 A/D转换程序流程图开头挑选通道,答应 A/D 转换读寄存器转换是否终止10 / 29可编辑资料 - - - 欢迎下载精品名师归纳总结NY读取转换值数据处理A/D转换程序流程图显示程序流程图开头取出要显示的数求下一位选码送位段码到输出延时修改显示缓冲区4 位数据显示完11 / 29图 6-16.2可编辑资料 - - - 欢迎下载精品名师归纳总结返回图 6-2显示程序流程图6.3 PID 掌握器流程图12 / 29可编辑资料 - - - 欢迎下载精品名师归纳总结图 6-3 PID掌握器流程图6.4 温度掌握总程序流程图开头系统各模块初始化13 / 29读测量温度子程序可编辑资料 - - - 欢迎下载精品名师归纳总结NY图 6-4 温度掌握总程序流程图总结在工业生产和日常生活中,对温度掌握系统的要求,主要是保证温度在肯定温度范畴内变化,稳固性好,不振荡,对系统的快速性要求不高。在论文中可编辑资料 - - - 欢迎下载精品名师归纳总结简洁分析了单片机温度掌握系统设计过程及实现方法。本系统的测温范畴为- 10 40,温度检测系统依据用户设定的温度范畴完成肯定范畴的温度控制。AT89C5包括 14k 字节 Flash 闪速储备器, 128 字节内部 RAM,32 个 I O口线,两个 16 位定时计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器准时钟电路,都为我们实现电路功能供应了特别有利的条件。同时也由于开发环境友好,易用,便利,大大加快本系统设计开发。参考文献1.于海生等编著微型运算机掌握技术 M 北京:机械工业出版社, 2007. 2.邴志刚等编著 . 运算机掌握:基础 .技术.工具.实例 M. 北京:清华高校出版社, 2005.可编辑资料 - - - 欢迎下载精品名师归纳总结3.邹伯敏主编 . 自动掌握原理 其次版> M.北京:机械工业出版社 ,2002. 4.吕震中,刘吉臻,王志明编. 运算机掌握技术与系统<其次版) M ,北京:中国电力出版社, 2005.5.张宇河主编 . 运算机掌握系统 M. 北京:北京理工高校出版社, 2002.6.冯勇编,现代运算机掌握系统 M. 哈尔滨:哈尔滨工业高校出版社, 2003 7.曹巧媛主编 .单片机原理及应用 其次版>.北京: 电子工业出版社 ,20028.周润景,张丽娜基于PROTEUS的电路及单片机系统设计与仿真M 北京: 航空航天高校出版社 ,2006.P321 P3269.王忠飞,胥芳 MCS-51 单片机原理及嵌入式系统应用 M 西安:西安电子科技高校出版社, 2007P268-273可编辑资料 - - - 欢迎下载精品名师归纳总结C1U119XTAL122pFX118XTAL2C2P0.0/AD0 P0.1/AD1 P0.2/AD2P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7U3D0 D1 D2 D3 D4 D5D6D7Q02Q15Q26Q39Q412Q515Q61619Q774LS373CRYSTALRST9OELERST22pFP2.0/A8 P2.1/A929CLOCK 3031C4Fu22222324252627281/2ALE 10CLOCK6STARTPSEN ALEEAP2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13P2.6/A14 P2.7/A15U1:A17U2:AEOC31221R2RST1kP101P1.0P112P1.1P123P1.2P134P1.3P145P1.4P156P1.5P167P178P1.6P1.7P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1P3.6/WR P3.7/RD10111213141516177432U3:A17404U4:A212019188151417OUT1 OUT2 OUT3 OUT4 OUT5 OUT6OUT7 OUT8IN026IN127IN228IN31IN42IN53IN64IN75ADD A ADD BADD C ALE2524232221312R110k74049OE12VREF+ VREF-167432AT89C51ADC0809U2Q1MPS6518D1LED-REDRL1G2R-14-AC120附录 1:温度掌握系统总电路图P0.03RP1P0.141P0.27P0.3839 D02P0.4 1338 D13P0.5 1437 D24P0.6 1736 D35P0.7 1835 D4634 D57133 D68ALE 1132 D7921RESPACK-8可编辑资料 - - - 欢迎下载精品名师归纳总结P10P11P12可编辑资料 - - - 欢迎下载精品名师归纳总结P13 41P567111PPP可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结987 6111 1012354 3211 114 567U49871110 126 543 21 111 13 456 7U5可编辑资料 - - - 欢迎下载精品名师归纳总结Q Q QQ Q Q Q Q74HC573Q Q QQ Q Q Q Q74HC5可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结012D D D234 534 567D D D D D67 89E ELOUAL110 12D D D23453 45D D D6786 7EED DL O9 AL1 1可编辑资料 - - - 欢迎下载精品名师归纳总结01 2D D D345671D D D D DD012D D D34 56D D D D7 E1D W可编辑资料 - - - 欢迎下载精品名师归纳总结附录 2:温度掌握系统程序清单<1)主函数如下: #include <reg51.h> #include <absacc.h> #include"KEYSCAN.H" #include"PID.H"void PIDBEGINvoid> 。 / PID参数初始化 /void main>unsigned char key1=0,i,k。unsigned int tmp。unsigned char shu3=13,13,0。unsigned char counter=0。PIDBEGIN>。while1>ifcounter- = 0>tmp = ReadTemperature> 。counter = 20。viewtmp> 。 /温度显示。compare_temper> 。<2) PID 算法温度掌握程序#ifndef _PID_H #define _PID_H 可编辑资料 - - - 欢迎下载精品名师归纳总结#include<intrins.h> #include<math.h> #include<string.h> struct PID unsigned int SetPoint。 /设定目标 Desired Valueunsigned int Proportion。 /比例常数 Proportional Const unsigned int Integral。 /积分常数 Integral Const unsigned int Derivative。 /微分常数 Derivative Const unsigned int LastError。 / Error-1unsigned int PrevError。 / Error-2 unsigned int SumError。 / Sums of Errorsstruct PID spid。 / PID Control Structure unsigned int rout。 / PID Response Output> unsigned int rin。 / PID Feedback Input> sbit output=P34。unsigned char high_time,low_time,count=0。/ 占空比调剂参数unsigned char set_temper=33。void PIDInit struct PID *pp>memset pp,0,sizeofstruct PID>>。unsigned int PIDCalc struct PID *pp, unsigned int NextPoint >unsigned int dError,Error。Error = pp->SetPoint - NextPoint。 /偏差pp->SumError += Error。 /积分dError = pp->LastErro