微机原理课程设计(温控窑炉控制器)

上传人:n**** 文档编号:91180997 上传时间:2019-06-26 格式:DOC 页数:30 大小:381.50KB
返回 下载 相关 举报
微机原理课程设计(温控窑炉控制器)_第1页
第1页 / 共30页
微机原理课程设计(温控窑炉控制器)_第2页
第2页 / 共30页
微机原理课程设计(温控窑炉控制器)_第3页
第3页 / 共30页
微机原理课程设计(温控窑炉控制器)_第4页
第4页 / 共30页
微机原理课程设计(温控窑炉控制器)_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《微机原理课程设计(温控窑炉控制器)》由会员分享,可在线阅读,更多相关《微机原理课程设计(温控窑炉控制器)(30页珍藏版)》请在金锄头文库上搜索。

1、一、题义分析与解决方案1、 题义需求与分析由窑炉的工作原理可知本实验的工作流程是:首先是预设温度值,用户从小键盘输入一个预设的温度值,并把它显示在LED灯上,其次是加热过程,PC机通过控制芯片接口使发热电阻发热,一段时间延时后,温度传感器将其测量的温度值通过硬件接口传送到PC机,所测的温度数据经过处理后传送到LED现实,将所测得的温度值与预设温度值比较,如果小于等于它,继续控制发热电阻发热,否则停止加热。一段时间延时后再次将温度传感器所测得的值进行显示比较,使发热体的温度稳定在预设温度值的2范围内。由上分析可知在实验需要解决如下几个问题:(1) 需要发热电阻给窑炉加热,并应该预设温度值,预设温

2、度值要显示出来。(2) 如何控制温度传感器检测温度,并将检测到的温度值显示出来。(3) 需要对检测到的温度值进行半段控制窑炉的加热过程。(4) 如何输入预设温度值。如何将检测到的温度值传送给CPU。(5) 如何运用PID算法实现对温度的只能控制。设定温度功能的范围,使得窑炉温度稳定在设置的温度范围内。(6) 如何将预设温度值和所测温度值显示出来。2、 解决问题的思路及方法(1) 硬件部分首先需要发热电阻RT1给系统加热;至于温度测控问题,需有温度传感器DS18B20,DS18B20将温度信息传递给芯片8255A,然后8255A与芯片ES-PCI相连;当温度低于设定值时利用,为了演示比较明显的加

3、热效果此处可增设一个功能放大电路,同时利用逻辑笔(B2区)来测量发热电阻的工作情况;实验需要从键盘设定温度值并通过LED显示温度值,同时需要芯片8279控制。综上所述列出硬件清单如下:硬件8255A8279DS18B20键盘LED灯发热电阻功能放大器主要功能控制温度传感器及发热电阻工作控制键盘和LED工作温度传感器,测量温度输入设定温度显示环境温度和设定值实现加热功能放大电路(2) 软件部分软件应该具备以下几个主要部分:(1) 对温度传感器DS18B20初始化、启动,读、写温度,温度转换、显示;(2) 对芯片8255A的控制及如下操作:读出DS18B20的温度,控制发热电阻通过加热升温;(3)

4、 对通用控制芯片8279初始化,从键盘输入温度设定值,显示温度,清除显示等;(4) 对发热电阻RT1的操作(控制其加热与否);(5) 另外还要设置一定的延时程序以满足不同芯片及元器件的工作时序;(6) 进制之间的转换运算:(7) 运用PID算法,通过比例运算,积分运算和微分运算来使温控器更好地适合不同系统的要求。OUT=P*(e1)+(e1-e0)/I+D*(e1+e0);其中e0是前一次的误差.e1是当前误差。P,I,D是系数.二、硬件设计1.可编程并行接口芯片8255A(1)8255A的作用 在本设计中8255A向温度传感器DS18B20发送操作指令并实现,诸如:初始化DS18B20,读取

5、温度值,对温度值进行十进制转换以及其他一些必要操作;同时8255A控制着发热电阻RT1的工作情况。(2)8255A功能分析及技术参数8255A是可编程并行接口,内部有3个相互独立的8位数据端口,即A口、口和口。三个端口都可以作为输入端口或输出端口。口三种工作方式:即方式0、方式1和方式2,而口只能工作在方式0或方式1下,口通常作为联络信号使用。8255A的工作只有当片选CS效时才能进行。而控制逻辑端口实现对其他端口的控制。端口A:包含一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,输入输出数据均受到锁存。端口B和C: 都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器/缓冲器,输出

6、数据能锁存,输入数据不锁存。 端口C:可分成两个4位端口,分别定义为输入或输出端口,还可定义为控制、状态端口,配合端口A和端口B工作。其内部结构如图所示:A组端口A8位RESETB组控制部件CSA0A1WRRDD7D0双向PB7PB0PC3PC0PC7PC4PaPA7PA0B组端口C低4位A组控制部件B组端口B8位A组端口C高4位读/写控制部件数据总线缓冲器 (3)8255A工作在方式0方式0的工作特点:这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出。其功能为:两个8位通道:通道A、B。两个四位通道:通道C高4位和低四位;任何一个通道可以作输入/输出;

7、输出是锁存的;输入是不锁存的;在方式0时各个通道的输入/输出可有16种不同的组合。方式0的使用场合:同步传送是在外设控制过程的各种动作时间为固定,且已知的条件下使用的。因此,传送中不要应答信号。输入时,执行程序只要给出IN指令;而输出时,也只给出OUT指令,就能实现数据的输入或输出。优点是程序简单,接口的硬件开销小。查询式传输时,要先查询一个外设的状态,当该状态表示外设已准备好时,方能开始查询传输,否则CPU将继续查询。但在方式0,没有规定固定的应答信号,所以,这时将通道A、B作为数据通道,把通道C的4个位(高4位或低4位)规定为输出口,用来输出一些控制信号,而把通道C的另外4个位规定为输入口

8、,用来输入外设的状态。这样,利用通道C来配合通道A和B的输入/输出操作。8255方式选择控制字格式如下:D7=1工作方式控制标志。D5D6组合设定A口工作方式:00方式0;01方式1;1011方式2。D4设定A口的输入输出,D41时A口输入,D40时A口输出。D3为C口高4位输入输出选择,D31时为输入,D30时为输出。D2为B口工作方式选择,D21时B口方式1;D20时B口方式0。D1为B口输入输出选择,D11时输入;D10时输出。D0为C口低4位输入输出选择,D01时为输入,D00时为输出。(4)8255技术参数8255A工作最大电流为120MA,VCC=-5V+5V,I(DAR)工作电流

9、最大为4MA。8255的输出电压不高,连接到LED时,最好加入一个驱动器起到电流放大的作用。8255A技术参数测试条件规范值单位大小输入低电平电压VIL0.8-0.5V输入高电平电压VIHVCC2.0V输出低电平电压VOLOL2.5mA0.45V输出低电平电压VOLOL1.7mA0.45V输出高电平电压VOHOR- 400mA2.4V输出高电平电压VOHOH- 200mA2.4V达林顿驱动电流OAR-4.0-1.0mA电源电流CC120mA输入负载电流ILIN0 VCC10- 10mA输出浮动电流OFOR0.45 VCC10- 10mA2.DS18B20温度传感器(1) DS18B20的作用本

10、实验设计中DS18B20作为唯一的温度传感器,其作用是测量出试验中各种所需温度并经由可编程接口芯片8255A以及专用接口芯片8279将温度显示于LED上,最终实验温度的比较,制热等功能。(2) DS18B20的功能特点和内部结构DS18B20可编程温度传感器有三个管脚:GND为接地线;DQ为数据输入输出接口,通过一个较弱的上拉电阻与CPU相连;VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.05.5V。本系统中使用外部电源供电。其主要特点为: 用户可以自行设定报警上下限温度值; 不需要外部组件,能测量-55+125C范围内的温度; 在-10+85C范围内的测温准确度为0.5

11、C; 通过编程可以实现912位的数字读数方式,可在至多750MS内将温度转换成12位数字,测温分辨率可达到0.0625C; 独特的单总线接口方式,与微处理器连接时仅需要一条线既可实现和微处理器的双向通讯。 图2-3 DS18B20内部结构图DS18B20的内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8

12、+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(3) DS18B20测温原理和技术参数斜率累加器预置比较LSB置位/清除低温度系数晶振计数器 1预置加1= 0温度寄存器高温系数晶振计数器 2= 0 DS18B20的测温原理如图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。

13、计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器

14、值达到被测温度值,这就是DS18B20的测温原理。 DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 下表显示了DS18B20用12位来存放温度的存储方式,其中最高位为符号位,负温度时 S=1,正温度时 S=0。表2-212位存放温度时的格式这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。DS18B20的存储器:DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号