微机原理与接口课程设计温度控制系统_第1页
微机原理与接口课程设计温度控制系统_第2页
微机原理与接口课程设计温度控制系统_第3页
微机原理与接口课程设计温度控制系统_第4页
微机原理与接口课程设计温度控制系统_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、微机原理与接口课程设计温度控制系统信息科学与技术学院微机原理与接口课程设计课程题目:温度控制系统学生姓名:唐维学号:2009082208专业、年级:计科09级1班指导教师:周涛时间:2012年1月12日目录1(题目及要求31.1 题目:设计一个温度控制系统31.2 要求:32.功能设计32.1功能模块32.2ADC0809与8255的连接52.3系统流程图72.3.2. BCD码转换子程序92.3.3. 显小子程序92.3.4. 温度值设置子程序93.详细设计113.1 系统工作原理113.2 系统硬件选择和设计113.3ADC0809123.4 8279键盘、显示接口电路143.4.3LED

2、显示器工作原理173.5 系统软件设计.184.总结195.参考文献196.附:源程序191(题目及要求1.1 题目:设计一个温度控制系统1.2 要求:1)、检测2)、数码管显示3)、报警2.功能设计2.1 功能模块2.1.1 温度测量和控制部分1)温度测量部分AD590是AD公司生产的一种精度和线度较好的双端集成传感器,具输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1uA最大电流的变化或1摄氏度等效误差。图4-1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路。AD590输出的电流I=(273+T)uA(T为摄氏温度)。因此测量的电压V为(273+T)uAX10K=(2

3、.73+T/100)V,为了将电压测量出来,又务必使电流I不分流出来。使用电压跟随器使其输出电压V等于V。2由于一般电源供应多器件之后,电源是带杂波的,因此使用稳压二极管作为稳压元件,再利用可变电阻分压,其输出电压V需调至2.73V。1差动放大器具输出V为(100K/10K)X(V-V)=T/10,如果现在为摄氏28?,021输出电压为2.8V。输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线性比例的关系图2-1温度测量部分2)温度控制部分当PC6为高电平时,三极管导通,继电器吸合,向加热系统输出12V电压加热;反之,输入低电平,三极管截止,继电器断开,停止加热。在图4-中,二极

4、管的作用是吸收继电器端开时产生的浪涌电压。图2-2温度控制部分2.1.2 ADC0809与8255的连接模拟输入通道地址A,B,C直接接地,因此ADC0809R对通道IN0输入的电压进行模数转换。为了减少输入噪声其他通道直接接地。ADC0809勺数据线D0-D7与8255的PB0-PB7t目连接。具片选CS与8086的地址/数据总线AD14t目连接。图2-3ADC0809与8255的连接2.1.38086的可编程外设接口电路8255的数据口D0-D7与CPU勺6根控制线相连接,控制8255A内部的各种操作。控制线RESETS来使8255A复位。CSft地址线A1及A0用于芯片选择和通道寻址。分

5、别与8086的高位地址线A19,A1,A0相连接。图2-48086的可编程外设接口电路2.4数据显示部分图2-5数据显示部分图2-6系统硬件原理图2.3系统流程图2.3.1 主程序通过开始界面,显示提示信息,调用温度子程序,设置温度。通过模数转换器采集AD值并求其平均值。调用BCM转换子程序将其转换为十进制温度值;调用显示子程序,如果温度高于实际温度,就加热,反之拨动开关关闭,停止加热。在此过程中,还可以重复设置温度值。其流程图如图2-7所示。开始系统初始化显示提示信息调用温度值设置子程序采集AD值并求其平均值调用温度值设置子调用BCM转换子程序程序重新设置温度将其转换为十进制温度值并将PA0

6、拨到0以进行重新调节调用显示子程序显示提示信息NN实际温度低PA0=1于给定值NY停止加热加热8255PC6口=08255PC6H=1YN有键按下返回图2-7主程序2.3.2 BCD码转换子程序设定温度为0摄氏度时变换放大电路送出的模拟量为0.0V,此时A/D输出的数字量为00H;温度为76.5?时变换器送出对应电压4.98V,此时A/D输出的数字量为FFH即每0.3?对应1LSB的变化量,对应电压值为19.5mM报警温度设定为76.8?,此时,输出电压约为5.0V左右。其流程图如图2-8所示。BCDK转换子程序将采集得到的平均值乘以0.3转换为温度值对其进行非压缩BCD码乘法调整通过移位得到

7、组合BCM返回图2-8BCD码转换子程序2.3.3 .显小子程序采用动态显示方式,其流程图如图2-9所示。2.3.4 .温度值设置子程序问了避免加热温度过高,在程序设计中加了一条,即设定值不能大于76.8?否则就认为有错系统报警。其流程图如图2-10所示。温度设置子程序显小子程序键入温度值十位上的数值将它存于,DI,先将十进制温度值(AL)送到(BL)键入温度值个位上的数值得到温度值各位上的数将它存于,DI+1,通过查表指令得到对应的将十位上的数值左移四位并数码管的断码与个位上的数值既得温度值显示温度值个位上的数值设置温度大于76?延时声音报警并取出(BL)中的温度值显示错误信将温度值存于,D

8、I+1,息得到温度值十位上的数值返回返回通过查表指令得到对应的数码管的断码图2-10温度设置子程序显示温度值十位上的数值延时返回图2-9显小子程序3.详细设计3.1 系统工作原理1)温度测量显示部分温度通过AD590温度传感集成芯片,将温度变化量转换成电压值变化量,经过OP0L级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,然后将该数字信号通过然间编程转化为十进制BCDK,并送到8279进行温度值的显示。2)温度控制部分温度的上升或下降,通过给加热系统通断电来实现。当需要加热时,8255的PC6输出低电平,启动加热系统。当需要降温时,8255的PC6输出高电

9、平,关闭加热系统。加热或降温的控制信号通过8255的PA0读取拨动开关的状态来实现。3.2 系统硬件选择和设计1)系统扩展接口的选择本次设计采用的是8086微处理器,选择8255A可编程并行接口作为系统的扩展接口,8255A的通用性强,适应灵活,通过它CPUT直接与外设相连接。2)温度传感器与AD转换器的选择本系统选用温度传感器AD59明成测温系统。AD59近一种电压输入、电流输出型集成温度传感器,测温范围为-557-150?,非线性误差在?0。30?,其输出电流与温度成正比,温度没升高1K(K为开尔文温度),输出电流就增加1uA。具输出电流I=(273+T)uA。本设计中串联电阻的阻值选用2

10、KQ,所以卒出电压V=2730+10MV.另外,为满足系统输入模拟量进行处理的功能,对其(T)+再扩展一片ADC0809以进行模拟一数字量转化。3)显小接口芯片为满足本次设计温度显示的需要,我们选择了8279芯片,INTEL8279芯片是一种通用的可编程的键盘、显示接口器件,单个芯片就能完成键盘键入和LED显示控制两种功能。备注:系统硬件接线应尽量以插接形式连接,这样便于多用途使用和故障的检查和排除。3.3 ADC08091)ADC080则述ADC080配采样分辨率为8位的、以逐次逼近原理进行模一数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号

11、中的一个进行A/D转换。2)ADC0809的主要特性1)8路输入通道,8位A,D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100仙s4)单个,5V电源供电5)模拟输入电压范围0,5V,不需零点和满刻度校准。6)工作温度范围为-40,85摄氏度7)低功耗,约15mW3)内部结构3.1) ADC0809的内部逻辑结构由下图可知,ADC080曲一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁

12、存器取走转换完的数据。存江I卜器骼福第彳美L班俄与德-IT/转战SXS图2-11ADC0809的内部逻辑结构3.2) 外部特性(引脚功能)ADC08095片有28条引脚,采用双列直插式封装,如图13(23所示。下面说明各引脚功能。IN0,IN7:8路模拟量输入端。2-1,2-8:8位数字量输出端。ADDAADDBADDC:的地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。START:A,D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。EOC:A,D转换结束信号,输出,当A,D转换结束时,此端

13、输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入,高电平有效。当A,D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHzREF(+)、REF(-):基准电压。Vcc:电源,单一,5VGND地。3.3) ADC0809的工作过程首先输入3位地址,并使ALE=1将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。STARTt升沿将逐次逼近寄存器复位。下降沿启动A,D转换,之后EOC俞出信号变低,指示转换正在进行。直到A,D转换完成,EOC变为高电平,指示A,D转换结束,结果数据已存入锁存器,这个信

14、号可用作中断中请。当OE俞入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。3.4) 8279键盘、显示接口电路Intel8279是一种通用的可编程序的键盘、显示接口器件,单片器件就能够完成键盘输入和显示控制两种功能。键盘部分提供一种扫描的工作方式,可以和具有64个按键的矩阵键盘相连接,能对键盘不断扫描,自动消抖,自动识别按下的键并给出编码,能对双键或n键同时按下实行保护。显示部分为发光二极管、荧光管及其它显示器提供了按扫描方式工作的显示接口,它为显示器提供多路复用信号,可以显示多达16位的字符或数字。INTEL8279的逻辑符号如图7-28所示。它用于8085、MCS-51系统。

15、它最多可外接8X8的键盘及16X8的七段数码显示器CLKEESETRL&-?SHIFT-CN1L-adaETTILS2T9图3-48279的逻辑符号3.4.1 8279管脚、引线及功能说明8279为40列引脚封装,详细说明如下:D0D7骸据总线):双向、三态总线。用于和系统数据总线相连,在CPU和8279之间传递命令或数据。CLK(系统时钟):输入线。用于8279内部定时,以产生其工作所需时序。RESET复位):输入线,高电平有效。当复位信号RESET=1寸,8279被复位。(片选):输入线,低电平有效。当=0时,8279被选中,允许CPU寸其进行读、写操作,否则被禁止。A0(缓冲器地址):输

16、入线。当A0=1时,若CPU!行写操作,则写入字节是命令字。若进行读操作,则从8279读出的字节是状态字。当A0=0时,写入字节或读出字节均为数据。、(读、写信号):输入线,低电平有效。这两个来自CPUB勺控制RDWR信号,控制8279的读写操作。IRQ(中断请求):输出线,高电平有效。在键盘工作方式中,当FIFO/传感器RAMfr存有数据时,IRQ为高电平,向CPU提出中断申请。CPU次从RAMH卖出一个字节数据时,IRQ就变成低电平。如果RAMfr还有未读完的数据,IRQ将再次变为高电平,再次提出中断中请求。在传感器工作方式中,每当检测到传感器状态变化时,IRQ就出现高电平。SL0SL3(

17、fi描线):输出线。这四条输出线用来扫描键盘和显示器。它们可以编程设定为编码输出(16中取1)或译码输出(4中取1)。RL0RL7复线):输入线。它们是键盘矩阵或传感器矩阵的列信号输入线。SHIFT(移位信号):输入线,高电平有效。该输入信号是8279键盘数据的次高位D6,通常用来补充键盘开关的功能,可以用作键盘上下挡功能键。在传感器方式和选通方式中,SHIFT无效。CNTL/STB(空制/选通):输入线,高电平有效。在键盘方式时,该输入信号是键盘数据的最高位D7,通常用来扩充键开关的控制功能,作为控制功能键用。在传感器方式下,CNTLB号无效。在选通输入方式下,该信号的上升沿可将来自RL0R

18、L7勺数据存放入FIFORAM中。OUTA0-OUTA3(A显示信号):输出线。OUTB0-OUTB3(B显示信号):输出线。这两组引线均是显示信息输出线,它们与多路数字显示的扫描线SL0SL3同步。两组可以独立使用,也可以合并使用。(消隐显示):输出线,低电平有效。该输出信号在数字切换显示或使用显示消隐命令时,将显示消隐。3.4.2 命令格式与命令享8279的操作方式是通过CPU寸8279送入命令时来实现编程的。当数据选择端A0置1时,CPUt8279写入数据为命令字,读出的数据为状态字。8279共有八条命令。其功能及命令字定义分述如下。1、键盘/显示方式设置命令字命令格式:D7D6D5D4

19、D3D2D1D0000DDKKK其中:D7、D&D5=000方式设置命令特征位。DD(D4、D3):来设定显示方式,其定义如下:00:8个字符显示,左入口00:16个字符显示,左入口00:8个字符显示,右入口00:16个字符显示,右入口所谓左入口,即显示位置从最左一位(最高位)开始,以后逐次输入的显示字符逐个向右顺序排列;所谓右入口,即显示位置从最右一位(最低位)开始,以后逐次输入的显示字符时,已有的显示字符逐个向左顺序移动。KKK(D2D1、D0):用来设定七种键盘、显示工作方式2、读显示RAMfiT令命令格式:D7D6D5D4D3D2D1D0011AIAAAA其中:D7D6D5=011为读

20、显示RAMt令字的特征位。该命令用来设定将要读出的显示RAM4址。AAAA(D3D2、D1、D0)用来寻址显示RAMfir令字的特征位。由位显示RAMfr有16个字节单元故需要4位寻址。AI(D4)为自动增量特征位。当AI=1时,每次读出后地址自动加1指向下一地址。5(写显示RAMfiT令命令格式:D7D6D5D4D3D2D1D0100AIAAAA其中:D7D6D5=100为写显示RAMfir令字的特征位。在写显示器RAMfc前用该命令用来设定将要写入的显示RAMM1。AAAA(D3D2、D1、D0)为将要写入的存储单元地址。AI(D4)为自动增量特征位。当AI=1时,每次写入后地址自动加1指

21、向下一次写入地址3.4.3 LED显示器工作原理发光二极管组成的显示器事单片机应用产品中最常用的廉价输出设备。它由若干个发光二极管按一定的规律排列而成。当某一个发光二极管导通时,相应的一个点或一个比划被点亮,控制不同组合的二极管导通,就能显示出多种字符。常见LED数码管的外形及内部结构如图3-4-3-1所示。图3-4-3-2属于共阳极结构,图3-4-3-3采用共阴极结构父DT-Q1111图3-4-3-1图3-4-3-2上一?占一一*eL&f一1卜白rIt11&图3-4-3-3图3-4-3LED显示器工作原理通过控制管脚a、b、c、d、e、f、g、dp的电平即可获得所需的符号显示。显示器的工作方

22、式有两种,一种是静态显示:当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止。另一种事本次设计中采用的动态显示方式:所谓动态显示即一位一位轮流的点亮各位显示器,对于每一位显示器来说,每隔一段时间点亮一次。但由于时间间隔很小,我们就可以看到完整的显示了。3.5系统软件设计本设计的目的是以8086微处理器为控制器,将温度传感器输出的小信号经过放大和低通滤波后,送至A/D转换器;微控制器实时采集、显示温度值(要求以摄氏度显示),同时系统还应可设定、控制温度值,使系统工作在设定温度。4.总结通过本次课程设计,学到了很多东西,也突然发现以前学到的东西太少了,没有积累足够的知识来让自己强大。所以,

23、刚开始时,很迷茫,不知如何下手。之后,在在网上查了下资料,大部分都是单片机实现的。单片机是我们还没学的知识。所以,第一次拿着单片机的程序给老师检查的时候,老师给了我些很宝贵的建议,让我们用学过的仿真软件来实现。于是,我们重新开始查资料,做了这次的课程设计。收获很多。以后,一定会更努力学习的。加油加油。5.参考文献1戴梅萼微型计算机技术及应用2007清华大学出版社2朱善君汇编语言程序设计1998.3清华大学出版社6.附:源程序CSADEQU209HZ8279EQU212HD8279EQU210HLEDMODEQU00H;左边输入,/I位显示外部译码/I位显示LEDFEQEQU38H;扫描频率LE

24、DCLSEQU0C1H清除显示RAMZ8255EQU21BHZ8255AEQU218HZ8255CEQU21AHCOUNTEQU8DATASEGMENTDATA1DB4DUP(?)MESS1DBENTERANYKEYTOBEGIN!,0DH,0AH,$MESS2DB10,13,ENTERANYKEYCANEXITTODOS!,0DH,0AH,$MESS3DB10,13,INPUTTHETEMPERATUREVALUE:,$MESS4DB10,13,INPUTVALUEERROR!,0DH,0AH,$MESS5DB10,13,INPUTANEWTEMPERATUREVALUE:,$MESS6DB

25、10,13,*LETPA0=0TOADJUSTTHETEMPERATUREVALUE!*,0DH,0AH,舟MESS7DB10,13,*LETPA0=1TOINPUTANEWTEMPERATUREVALUE!*,0DH,0AH,$LEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39HDATAENDSSTACKSEGMENTSRACKSTADW50DUPTOPEQULENGTHSTASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS

26、,AXMOVES,AXMOVAH,09H;显示提示信息一MOVDX,OFFSETMESS1INT21HMOVAH,09H;显示提示信息六MOVDX,OFFSETMESS6INT21HMOVAH,09H;显示提示信息七MOVDX,OFFSETMESS7INT21HMOVAH,08HINT21HMOVAH,09H;显示提示信息三MOVDX,OFFSETMESS3INT21HCALLinput;输入设置的温度值存DATA1OK:MOVDX,Z8255;设置A口为输入,C口为输出MOVAL,92HOUTDX,ALMOVDX,Z8255CMOVAL,00HOUTDX,ALCALLdelayCALLdel

27、ayMOVDX,Z8279;初始化8279MOVAL,LEDMODOUTDX,ALMOVAH,09H;显示提示信息二MOVDX,OFFSETMESS2INT21HBEGIN:MOVBX,0MOVCL,COUNTMOVCH,0BB:MOVDX,CSAD;启动A/DMOVAX,0OUTDX,ALCALLdelayINAL,DX;采样A/D值ADCBX,AX;求平均值LOOPBBMOVAX,BXRCRAX,1RCRAX,1RCRAX,1CALLChangetoBCD;转化为十进制的温度值MOVDI,OFFSETDATA1MOVDI+3,ALCALLDISMOVDI,OFFSETDATA1MOVBL,DI+2;取输入值MOVAL,DI+3;取实际值CMPAL,BL;实际值与输入值比较JBUP;小于则加热MOVDX,Z8255A;否则读开关量INAL,DXANDAL,01HJZDOWN;PA0=0则停止

温馨提示

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

评论

0/150

提交评论