课程设计说明书温度测量电路设计1.课程设计的目的No.1计算机控制系统课程设计是自动化专业的一个重要实践教学环节。在课程设计过程中,学生通过一个较完整的设计过程,可以加深对本门课程所学理论知识的理解与应用,提高学生对所学理论知识的综合运用能力,使学生对计算机控制系统有一个整体认识,掌握计算机控制系统的设计方法。通过课程设计,还可以培养学生独立工作能力,为将来毕业设计打好基础。2.设计方案论证2.1设计要求某热电偶的测温范围为0到200℃,其输出电压为0到2V,设计一个温度测量电路。其主要功能有:要求其分辨率为8位,能实时显示温度值,具有上、下限报警功能(正常温度范围为30到180℃)。完成软、硬件设计。2.2设计思路首先,分析系统总体结构:模拟信号的数字处理与显示整个过程为:热电偶测量温度输出0到2V的电压信号,经放大电路调整到标准信号输入到A/D模块,之后转换成数字信号,CPU读取数字信号在内部对其进行处理(包括标度变换、越限报警等),之后控制数码管显示对应温度值,并控制报警灯的亮灭,温度测量系统框图如图1所示。图1温度测量系统框图2.3设计过程2.3.1硬件设计从A/D转换器开始入手,A/D模块可以选用ADC0809,这样既满足分辨率为8位的要求又考虑到以后多路模拟信号是的扩展,其输入信号选用0到5V,由于热电偶输出为0到2V电压信号,故需配合使用2.5倍放大器。CPU选用80C51芯片,考虑到系统的可扩展性配合使用8255A并行接口扩展芯片。选用三个LED数码管配合三个MC14513芯片组成三位温度显示数码管组。报警灯选用通用一个红色TTL发光二极管。现列出主要仪器及芯片清单如表1所示。XXXX大学课程设计说明书表1主要仪器及芯片一览表名称PC机80C518255A74LS373ADC0809放大器LED数码管(3个)MC14513(3个)发光二极管(红色)各主要芯片的必要说明:8255A:用途编程、设计电路等No.2中央处理单元、系统核心扩展并行接口地址锁存器将模拟电压信号转换成数字信号调整电压信号使之符合ADC0809要求显示温度值BCD-7段锁存、译码、驱动数码管报警灯图28255A引脚图如图2所示,8255A共40个引脚,图示为双列直插式。可以通过写控制字的方法对其进行设定如表2所示。XXXX大学课程设计说明书1特征位D6D5A组工作方式00——方式001——方式111——不用表28255A控制字D4D3PAPC0输出高四位1输入0输出1输入D2B组工作方式0方式01方式1D1PB0输出1输入No.3D0PC低四位0输出1输入8255A的工作方式与端口有关,PA口有3种方式(0方式、1方式、2方式),PB口和PC口只有2种方式(0方式、1方式)。方式0:是一种基本输入/输出工作方式,有如下特点:①0方式是一种基本输入/输出工作方式。通常不用联络信号,或不使用固定的联络信号。所谓基本I/O方式是指查询方式传送,也包括无条件传送。这种方式不能采用中断方式和CPU交换数据。输出锁存,输入有三态缓冲能力而无锁存功能。②在0方式下,彼此独立的两个8位和两个4位并行口,共24根I/O线全部由用户支配。在0方式下,只能把C口的高4位为一组或低4位为一组同时输入或输出,不能再把4位中一部分作输入另一部分作输出,即4位一起行动。③在0方式下不设置专用联络信号线,需要联络时,可由用户指定C口中的哪根线完成某种联络功能。④是单向I/O,一次初始化只能指定端口(PA、PB和PC)作输入或作输出,不能指定端口同时既作输入又作输出。综上,PA、PB、PC均选择方式0即可满足设计要求。ADC0809:为8位A/D转换模块,IN0到IN7为8路模拟量输入端口;ADDA、ADDB、ADDC为8路模拟开关的3位地址输入端,以选择对应的输入通道,ADDC为高位,ADDA为低位;START启动控制输入端口,可与ALE连在一起遇到正脉冲则启动转换;EOC转换结束信号输出端,为0则当前正处于转换中;OE输出允许控制端,高电平有效。现设计硬件电路如下:如附录1所示,由于片外地址较少(片外芯片较少且无片外程序存储芯片和片外数据存储)故只需一片74LS373。按图中连接方式,74LS373的输入引脚连低8位地址总线,输出引脚Q7连接8255A片选端引脚CS,Q1和Q0分别连接8255A口地址选择引脚A1和A0,74LS373的G引脚引脚接80C51的ALE引脚,E引脚接地,这样确定8255A各口地址如下:PA口地址:0FF7CHPB口地址:0FF7DHPC口地址:0FF7EH控制口地址:0FF7FHXXXX大学课程设计说明书No.48255A的PB口选择工作方式0,数据流向为输入,作为数据采集口连接到ADC0809的数据输出端以采集经ADC0809转换完的温度数据。PC口的高四位选择工作方式0,数据流向为输出,作为控制信号输出口连接到ADC0809的控制引脚,其中PC6、PC5、PC4分别连接ADC0809的引脚C、B、A用以选择当前工作的模拟通道PC7连接ADC0809的引脚START和ALE用以控制A/D转换的启动与停止。PC口的低四位选择工作方式0,数据流向为输入,作为查询口与ADC0809的EOC和OE引脚相连,用以查询ADC0809的当前工作状态。ADC0809使用通道0与放大器输出口相连,放大器增益为2.5倍。PA口选择方式0,数据流向为输出,其低四位连接LED数码管的数据总线,PA4连接百位数码管的锁存允许端,PA5连接十位数码管的LE,PA6连接个位数码管的LE,PA7连接报警指示灯,低电平灯亮。2.3.2软件设计程序的难点在于标度变换和控制三个数码管显示温度值及报警灯的控制。对于标度变换按一般过程:应用公式:Ax=Nx(Am−A0)+A0NmAm——一次测量仪表的上限Nm——仪表上线对应的数字量其中:A0——一次测量仪表的下限Ax——实际测量值(工程量)Nx——测量值对应的数字量本系统中:A0=0,Am=200,Nm=25580C51读入Nx,则需计算:Nx(200−0)+0=40Nx25551显然,对于8位的80C51来说上述计算不仅程序复杂、速度慢而且结果精度不高。为解决这一问题,可以预先用PC机计算好0到255对应的温度值并列成数据表存入从0100H开始的256个内存单元中,之后仅需通过指令查找对应的温度值即可,牺牲了少量多余的内存单元,不仅加快了系统运行速度还提高了精度。数据表可通过MATLAB编程获得:A=[0:1:255];B=A./255.*200;C=round(B)数码管显示程序:对查找到的温度值必须转换成BCD码的形式依次输出百、十、个位,故可Ax=XXXX大学课程设计说明书No.5以对该数除以100,商为百位数,余数除以10,商为十位数余数为个位数各自输出即可。报警灯的控制:用R0作为报警灯控制器,采用加法的形式控制8255A的PA7,则当其值为00H时,拉响报警;R0初值为00H,依次检测上限与下限,有一个不满足则跳过“关报警”,即有一个不满足则报警灯亮。程序流程图如图3所示。图3按流程图编写源程序如下:ORGAJMP0000HSTART程序流程图XXXX大学课程设计说明书ORGDATA:No.60100HDB0122345567899101112131314151616171819202021222324242526272728293031313233343535363738383940414242434445454647484949505152535354555656575859606061626364646566676768697071717273747575767778787980818282838485858687888989909192939394959696979899100100101102103104104105106107107108109110111111112113114115115116117118118119120121122122123124125125126127128129129130131132133133134135136136137138139140140141142143144144145146147147148149150151151152153154155155156157158158159160161162162163164165165166167168169169170171172173173174175176176177178179180180181182183184184185186187187188189190191191192193194195195196197198198199200;数据表,占100H个内存单元ORG0500HSTART:MOVDPTR,0FF7FHMOVA,83HMOVX@DPTR,AAGAIN:MOVDPTR,0FF7EHMOVA,80HMOVX@DPTR,ATEST1:MOVXA,@DPTRANLA,#04HJNZTEST1TEST2:MOVXA,@DPTRANLA,#04HJZTEST2MOVMOVXMOVMOVCDPTR,0FF7DHA,@DPTRDPTR,100HA,@A+DPTR;初始化8255,A口方式0输出,B口方式0输入,;C口方式0高四位输出,低四位输入;C口高四位输出8,选通通道0并开始转换;检测PC2,看是否开始转换(为0转换中);检测PC2,看是否转换结束(为1结束);读入转换结果;通过基址寄存器加变址寄存器间接寻址;找出对应的温度值XXXX大学课程设计说明书MOVMOVSUBBJNCMOVSUBBJCMOVRING:MOVMOVDIVADDADDCALLB,AR0,#00HA,#180RINGA,BA,#30RINGR0,#80HA,BB,#100ABA,R0A,#10HLED;保护现场;拉响警报;看是否高于180度;没有借位,跳过“关警报”;看是否低于30度;有借位,跳过“关警报”;关警报No.7;本次显示百位MOVA,#10XCHA,BDIVABMOVA,BADDA,R0ADDA,#40HCALLLEDAJMPAGAINLED:MOVMOVRETENDDPTR,0FF7CH@DPTR,A;本次显示个位;控制方案输出到PA口3.设计结果与分析硬件图见附录1,源程序见上。硬件方面,元件较少线路简单,安全可靠;使用了8255A扩展了并行接口,80C51大部分引脚空闲,通用性好扩充方便;元件便宜紧凑,性价比高;软件方面,采用实时扫面输出方式,实时性好;采用数据表的方法进行标度变换进一步增强了时效性并提高了精度。XXXX大学课程设计说明书4.设计体会No.8计算机控制技术这门课程重在理论联系实际,我通过一周的课程设计,完成了以80C51为核心的温度测量电路的设计,经过翻阅书籍资料,以及各类芯片的说明书、参阅多个经典设计实例,完成了80C51的基本指令、基本功能、对8255芯片的配合控制模数系统衔接的相关的基础知识的应用。熟悉了系统设计的整个过程和要点。初步具备了独立设计简单系统的能力。这些应用对于巩固课堂所学的理论知识有非常显著的效果,这是我们在课堂上所学不到的。课程设计不但让我们把理论与实际联系起来,学以致用,在完善设计提高系统主要性指标方面也令我有所认识并作出了一些尝试。总而言之,通过这次课程设计,我独立思考的能力得到了锻炼,受益良多。5.参考文献[1]范立南,李雪飞.计算机控制技术[M].北京:机械工业出版社,2009.6:37-97[2]范立南,谢子殿.单片机原理及应用教程[M].北京:北京大学出版社,2006.1:100-219[3]范立南,董立菊.微型计算机原理及应用[M],第二版.沈阳:东北大学出版社,2004.2:100-219[4]NewmanWM,SbroullRF.PrinciplesofInteractiveComputerGraphics[M].NewYork:McGrawHill,1979.10:10-25[5]范立南,韩晓微,王忠石等.基于多结构元的噪声污染灰度图像边缘检测研究[J].武汉大学学报(工学版),2003,49(3):45-49XXXX大学课程设计说明书附录1:No.9XXXX大学课程设计说明书No.10XXXX大学课程设计说明书No.11XXXX大学