类型根据8086的温度测控系统课程教学设计.doc

收藏

编号:2611844    类型:共享资源    大小:675.39KB    格式:DOC    上传时间:2020-04-24
  
8
金币
分享到微信 分享到微博 分享到QQ空间
关 键 词:
根据 依据 温度 测控 系统 课程 教学 设计
资源描述:
.- 中南大学 微机应用系统设计与 综合实验设计报告 设计题目 温度测控系统的设计 指导老师 ************** 设计者 **** 专业班级 测控140* 班**号 设计日期 2016年7月5号 目 录 一、系统设计要求………………………………………………………1 二、系统总体设计方案…………………………………………………2 2.1 温度检测的基本原理…………………………………………2 2.2 温度数据采集 …………………………………………………2 2.3 显示方案 …………………………………………………2 2.4 系统组成 …………………………………………………3 三、系统硬件设计 ……………………………………………… 10 3.1 8086与A/D转换器及显示器的硬件连接………………… 10 3.2 温度检测及放大电路 ………………………………………11 四、系统软件设计 ………………………………………………12 4.1 I/O资源分配 ………………………………………………12 4.2 功能模块软件设计 …………………………………………13 五、课程设计及调试中遇到的问题及解决方法…………………… 14 5.1 系统设计中遇到的问题及解决方法……………………… 14 5.2 系统调试中遇到的问题及解决方法……………………… 14 六、收获与体会 …………………………………………………… 15 参考文献 ………………………………………………………… 16 一、系统设计要求 设计并制作出具有如下功能的温度测控系统。 设计一个温度测控系统,温度测量部分采用ADC0809, 控制输出部分采用 8255控制加热器加热/冷却,系统实现一路温度信号的测控,在3位LED显示器上显示当前温度。控制温度范围 0~76.5 CO,每隔0.2s检测一次,每点连续采集5次,取其中值,经标度变换,转为BCD码后送显示器显示,每1s刷新一次显示。 设定温度为0℃时,变换放大电路送出的模拟量为0.0V,此时A/D输出的数字量为00H;温度为76.5℃时变换器送出对应电压4.98V,此时A/D输出的数字量为FFH,即每0.3℃对应1LSB的变化量,对应电压值为19.5mV。报警温度设定为76.5℃,此时,输出电压约为5.0V左右。 显示方式为: 例:温度:45.0 CO 设计要求:设计相应的A/D转换器、I/O接口、显示、键盘等微机接口电路,可在线键盘参数设置、检测、显示、报警。并设计出电路原理图,说明工作原理,编写程序及程序流程图。 二、系统总体设计方案 2.1 温度检测的基本原理 系统设计采用温度传感器AD590构成测温系统。AD590是一种电压输入、电流输出型集成温度传感器。测温范围是-55℃~150℃,非线性误差在0.30℃,其输出电流与温度成正比,温度每升高1开尔文,输出电流就增加1μA,其输出电流I=(273+T)μA。另外,为满足系统输入模拟量进行处理的功能,对其再扩展一片ADC0809,以进行模拟数字量的转化。 2.2 温度数据采集 系统采用ADC0809做A/D转换实验 。ADC0809是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间100μs,转换精度1/512,适用于多路数据采集系统。系统只采用IN0这一路进行模拟量采集转化为数字量输出。数字量00-FF经过标度变换为温度值0~76.8℃。比例关系为0.3℃/1bit。 2.3 显示方案 本系统采用六位七段字符显示器LED灯进行显示,前三位显示温度期望值,后三位显示温度实测值。LED显示器由7个发光二极管组成,因此也称之为七段LED显示器,其排列形状如图1. 1所示。此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。 图1.1 七段LED显示器 共阳极接法: 把发光二极管的阳极连在一起构成会共阳极。使用时公共阳极接+5V,这样阴极端接入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。 用LED显示器显示十六进制数的字形代码在表1-1中列出。 。 表1-1 十六进制数字形代码表 实际使用的LED显示器都是多位的。对多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环地点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。 为了实现LED显示器的动态扫描,除了要给显示器提供段(字形代码)的输入之外,还要对显示器加位的控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用于输出位控线,位控线的数目等于显示器的位数。 2.4 系统组成 整个系统可以分为温度测量部分、模数转换部分、中央处理单元、显示单元以及控制单元。 温度测量部分:温度传感器以及外围放大电路; 模数转换部分:ADC0809及其相关电路; 中央处理单元:8086CPU及其相关电路; 显示单元:LED显示器及其相关电路; 控制单元:可编程I/O接口芯片8255A及其相关电路。 总体设计由上述几个部分组成,其相互之间的关系如图2.1所示: 温度传感器的输出经过电压跟随器和运放后交由AD转换,AD转换得出数字量由8086进行处理,并显示在LED灯上。同时对温度进行控制。 图2.1 总体原理图 主程序流程图如图2.2: 主程序开始,分别调用键扫、AD转换、温度控制、保护子程序,然后无限循环执行该过程。 图2.2 主程序流程图 键盘扫描子程序流程图如图2.3: 执行键扫程序时,首先对按下的键进行赋值,根据键值判断按下的是哪个键,如果是DAR键,表示进行数字输入,如果是MOVE键,退出温度设置。如果未按键,直接返回主程序并继续向下执行。 图2.3键盘扫描子程序 AD采样子程序流程图如图2.4 AD采样每次采五个值,将其排序并存储,经过取舍之后进行标度变换得出具体温度值,送至LED的口地址。 图2.4 AD采样子程序 控制子程序流程图如图2.5: 控制子程序不仅仅是将三位温度值进行简单的比较,而是经过一定的优化算法,使温度在一定误差允许范围内不进行加热或冷却,防止在平衡点附近控制动作的频繁跳动。在这里将优化算法写在下面: yh1: ;比较温度第二位,相差 在0.7之外 则控制 inc al cmp bl,al ja wind mov bl,ds:[077ah] MOV AL, ds:[077dh] cmp al,bl jbe wind add bl,02h cmp al,bl jb wind jmp hang yh2: inc bl cmp bl,al jb heat mov bl,ds:[077ah] mov al, ds:[077dh] cmp bl,al jbe heat add al,02h cmp al,bl ja heat jmp hang mov bl,ds:[077ah] ; 前两位相等则比较第三位 mov al, ds:[077dh] cmp bl, al ja yh3 cmp bl,al jb yh4 jmp hang yh3: add al,07h cmp bl,al ja wind jmp hang yh4: add bl,07h ; ;相差在0.7之外则控制 cmp bl,al jb heat jmp hang 图2.5控制子程序流程图 三、系统硬件设计 3.1 8086与A/D转换器及显示器的硬件连接 1.8086与A/D转换器,如图3.1所示: 图3.1 8086与A/D转换器的连接 2. 用8155作LED显示器接口 图3-2是使用8155作6位LED显示器的接口电路。 其中C口为输出口(位控口),以PC0 –PC5输出位控线。由于位控线的驱动电流较大,8段全亮时约40~60 mA,因此PC口输出加74LS06进行反相和提高驱动能力,然后再接各LED显示器的位拉端。 B口也为输出口(段控口),以输出8位字形代码(段控线)。段控线的负载电流约为8 mA,为提高显示亮度,通常加74LS244进行段控输出驱动 图3.2 8155作6位LED显示器接口电路 3.2 温度检测及放大电路 如图3.3所示 图3.3温度检测及放大电路 四、系统软件设计 4.1 I/O资源分配 在DVCC系列实验开发系统上系统所用接口器件地址安排如下: 8155控制口FF20 H 8155A口(字位)FF21H 8155B口(字形)FF22H 8155C口(键扫)FF23 H 8255控制口FF2BH 8255A口FF28H 8255B口FF29H 8255C口FF2 AH ADC0809地址14端口 0010h DVCC0806实验系统上实验用各接口器件模块其地址由74LS138译码产生。其译码输出地址如下表4-2所示。 表4-2 在8086状态下,YO -- Y7作为用户目标程序、数据或1/O口片选地址。 接口器件地址译码电路原理图如下图4.1所示。 图4.1 接口器件地址译码电路原理图 4.2 功能模块软件设计 1.初始化模块 包括初始化8255的工作方式和LED灯的初始值。 设置8255 位 基本输入输出方式,温度期望值初始为37.0℃。 2.键扫模块功能设计 键盘扫描程序要求:按下DAR键进入温度期望值的输入,按下MOVE键 退出键盘输入,按STEP键删除上一个输入值。键盘键值存在DS:[0752H]并且赋值给AL。 3.显示模块功能设计 将存在LED灯对应位置的字形码进行显示,每一位的显示要有一定的延时以保证足够的亮度。 4.AD采样模块功能设计 从IN0口 进行采样,每次采样5个值,将其依次存放在代码段a开始的5个字的存储空间里。 5.取均值模块功能设计 将代码段以a开始的5个字存储空间里储存的采样值按照从小到大的顺序储存起来。并将这五个值去掉最大最小值后取均值。 7.标度转换程序设计 将AX中的值进行标度变换(00-ff变换为0~768),并将变换所得的数字按位存放在代码段以ascbuf开始的5字节空间的后三个字节空间。 8.温度控制程序设计 将采样所得中值与键盘输入所得温度期望值进行比较,确定需要进行的控制操作,利用8255的B端口进行加热或者吹风操作。在平衡点附近的温度控制代码需要优化防止频繁跳变。 五、课程设计及调试中遇到的问题及解决方法 5.1 系统设计中遇到的问题及解决方法 1.由于温度的测量总会滞后于其实际值,AD采样值不能准确反映实际温度。为此,每次采样5个值,编写取其中值,使采样值能较准确地反映实际值。 2.数字量00~ff不能直观反映温度值,因此编写了标度变换程序,将00~FF线性变换为0~768。 3.由于温度值的显示带小数点,因此对于不同的LED显示位需要不同的字形码,为此编写程序将不同为区分开来,使显示加上小数点。 5.2 系统调试中遇到的问题及解决方法 1.显示刷新时,黑屏时间太长,达到了2s,为此分别对键扫、AD转换、温度控制三大模块单独进行调试,发现黑屏是由AD转换模块引起,然后对程序进行检查,取消了不必要的每个单次采样之间的软件延时,再次调试,问题解决。 2.调试时发现,虽然系统能满足温度测控的要求,但是其精度较差,表现为超调量大、在平衡位置控制行为频繁跳变。为此,对温度控制模块的代码进行优化,使其在实测温度在期望值的0.6℃的范围内时不进行控制动作,而是进行延时,演示完毕直接从程序开始运行。以此增加控制精度,使温度稳定在平衡点0.6℃的范围内。 3.对上述温度控制子程序进行优化时编译不通过,提示错误信息:“jmp out of range for 12 bytes!”向老师咨询之后才知道是jmp指令本身不能跳得太远的缘故。 4.调试时发现,期望值的输入是任意的,但是我们知道系统的温度实际值范围应该是0~76.8℃,因此期望值的输入不应大于这个值。因此加入一个起保护功能的小程序,每次执行完键扫模块(也就是期望值的输入),就检验该期望值的合理性,如果输入不合理的值将会进行自动调整。从而保证温度测控系统的安全运行。 5.调试时发现,温度的实时变化存在小范围内的小幅度跳变,也就是说对于温度采样值的取舍算法存在问题,导致滤波不满足要求。为此,将原先的采样5个值取中值的算法改为采样五个值去掉最大最小值剩余三个数取均值。问题得以解决。 六、收获与体会 这次微机原理课程设计历时一个星期,在这段时间里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。 其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 参考文献 [1] 刘乐善.微机原理接口技术及应用.武汉:华中科技出版社,2004.7 [2] 彭虎.微机原理与接口技术. 电子工业出版社 [3] 戴梅萼.微型计算机技术及应用. 清华大学出版社 [4] 周荷琴。微型计算机原理与接口技术.中国科学技术大学出版社,2013.3
展开阅读全文
提示  得力文库 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:根据8086的温度测控系统课程教学设计.doc
链接地址:https://www.deliwenku.com/p-2611844.html
关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com  

收起
展开