温度显示系统.doc_第1页
温度显示系统.doc_第2页
温度显示系统.doc_第3页
温度显示系统.doc_第4页
温度显示系统.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

温度显示系统一 设计任务描述1.1设计题目:温度显示系统设计1.2设计目的一个学期的学习我们学习了许多微机原理和接口技术的一些基本知识。而本次的课程设计是为了使学生将课堂所学的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和解决实际问题的能力。通过设计实践,培养学生查阅专业资料,工具书或参考书,了解有关工业标准,掌握现代设计手段和软件工具,了解主要芯片的结构功能和编程过程,并能以图纸和说明书表达设计思想和结果的能力,还要培养和提高学生解决工程具体问题,动脑动手的技术工作能力,而且要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。1.3设计要求1、总体内容:利用微机原理试验箱的ADCO809单元和发光数码管显示单元,把模拟量的温度,通过制式转换显示在数码管上。根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过。2、要求:当温度低于或者高于设定值时,温度警示灯亮。3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。1.4温度显示系统温度显示系统的设计主要有三个部分:一、是通过ADC0809芯片把模拟量的温度转换为数字量。这一部分主要是用模/数转化器AD0809,把由电阻模拟的温度从IN0输入然后经过AD0809转换成为数字量送给CPU。 二、是把转换后的数字量进行制式后显示。这一部分是先把AD采样的结果除以100把商存在AL并转存在SI中,余数存在AH中。在把AH中的数除以10把商存在SI+1中,把剩余的余数存在SI+2中。然后取字型的偏移地址再加上段地址由8255的A口和B口输出SI、SI+1、SI+2中的数。三、是温度监控报警。这一部分是将AD采样的结果与我们设定的两个温度值进行比较,如果温度低于100值则使8255C输出00FH值信号让显示灯始终,显示绿色,表示温度正常。如果温度超过100值则使8255C口输出0F0H值信号让显示灯提示,显示红色灯,表示异常。如果温度超过150值则使8255C口输出信号让显示灯报警,显示流水灯效果,并停止温度计工作,防止其烧坏受损。二 概要设计2.1设计内容本次课程设计的内容为温度显示系统设计与实现。利用AD0809芯片将模拟量的温度转换为数字量,然后将AD采样到的结果进行制式的转换并将结果显示在数码管上。采样的结果与设定的温度限值进行比较,若超温了则让超温指示灯亮。根据需要,需选择的芯片有AD0809 AD变换芯片,8255可编程并行接口。2.2设计方案通过应用模数转换器ADC0809将从模拟电阻上采集的数据通过端口IN0输入,在AD的转换下,获得8位二进制的数字量(D7D0),然后输入到8088系统总线上,进而输入到可编程并行接口8255上,选择工作方式0方式,基本输入输出方式吧数据输入到七段数码管上,然后显示出数字信息。同时应用比较程序,设定温度值。如果在小于100值时则使8255C输出00FH值信号让显示灯始终,显示绿色,表示温度正常。如果温度超过100值则使8255C口输出0F0H值信号让显示灯提示,显示红色灯,表示异常。如果温度超过150值则使8255C口输出信号让显示等报警,显示流水灯效果,并停止温度计工作,防止其烧坏受损。2.3设计环境与器材(1)PC微机一台 用于对程序的编译测试等,同时还需要对实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2)微机原理实验箱一台 此设备必须能提供8255可编程并行串口、AD0809 AD变换芯片、LED指示灯和数码管等必要芯片。并且能通过接受PC机传来的信息,显示出相应的功能。以支持电子时钟的实现。(8)导线若干条 用于电路和芯片之间的连接。2.4电路原理与主要芯片功能 2.4.1 电路原理电路主要接线是将AD0809上的IN0接用来模拟温度的电阻器,把AD0809接到8088芯片上。然后将8088与8255相接,通过三个七段管显示器接到可并行接口8255芯片上,以此来控制七段管显示器的位操作以及段操作。并为之在数据段开辟一处空间,专门存放将要显示的数位代码。图2.1 内部结构及引脚2.4.2 8255主要功能8255 可编程外围接口芯片是 Intel 公司生产的通用并行I/O 接口芯片,它具有A、B、C 三个并行接口,并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间 的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。用+5V 单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255 工作方式控制字和C口按位置位/复位控制字格式如图2.2所示:图2.2 置位/复位控制字格式8255的寻址:8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出表 2.3 在方式0下,8255的16种输入输出组合A 组B组A口(PA0-PA7)C口(PC4-PC7)B口(PB0-PB7)C口(PC0-PC3)入入入入入入入出入入出入入入出出入出入入入出入出入出出入入出出出出入入入出入入出出入出入出入出出出出入入出出入出出出出入出出出出2.4.3 显示电路把计数器输送的信号有2进制转化为十进制后,在传给显示器,一次译码工作就完成了。将发光二极管的正极全部一起接到正电压,即所谓的“共阳极”显示器。显示器所显示的字符与其输入的二进制代码即abcdefg七位代码之间存在一定的对应关系。 图4.4.1 数码管的字形图显示部分由共阳极的半导体数码管组成。由此可见,它由八只发光二极管组成(显示三位数)。工作时 ,发光二极管的公共阳极接正电源。当某一发光二极管阴极加上低电平时,相应的发光二极管导通,这一段(或点)就会发光。若要显示十进制的十个数码09,只要在相应的字段阴极上加低电平即可。为限制各发光二极管的电流,可在它们的公共阳极上串联一只240 左右的限流电阻。 图4.4.2 数码管的字形图 图4. 4.3 数码管中的发光二极管 一般数字系统中处理和运算结果都是用二进制编码、BCD码或其他编码表示的,要将最终结果通过LED显示器用十进制数显示出来,就需要先用译码器将运算结果转换成段码,当然,要使发光二极管发亮,还需要提供一定的驱动电流。2.4.4 ADC0809主要功能ADC0809具有8个通道的模拟输入线(IN0IN7),可在程序控制下对任意通道进行A/D转换,获得8位二进制数字量(D7D0)。模拟输入部分有8路多路开关,可由3位地址输入ADDA、ADDB、ADDC的不同组合来选择,ALE为地址锁存信号,高电平有效,锁存这三条地址输入信号。主体部分是采用逐次逼近式的A/D转换电路,由CLK控制的内部电路的工作,START为启动命令,高电平有效,启动ADC0809内部的A/D转换,当转换完成,输出信号EOC有效,OE为输出允许信号,高电平有效,打开输出三态缓冲器,把转换后的结果送DB。ADC0809的内部结构和引脚如图2.3所示:图2.3 内部结构和引脚ADC0809的一个显著特点是,其芯片内部集成了一个8选1的模拟门,且利用ADDAADDC 三个信号的编码来选择相应的模拟输入。由于ADC0809输出数字信号是经由OE控制的三态门完成的,故ADC0809可以直接与系统总线连接,占用8个接口地址。它也可以像AD574那样经可编程并行接口8255与总线连接。工作过程:1、当模拟量送至某一输入通道INi后,CPU将标识该通道编码的三位地址信号经数据线或地址线输入到ADDC、ADDB、ADDA引脚上。2、地址锁存允许ALE锁存这三位地址信号,启动命令START启动A/D转换。3、转换开始,EOC变低电平,转换结束,EOC变为高电平。EOC可作为中断请求信号。转换结束后,可通过执行IN指令,设法在输出允许OE脚上形成一个正脉冲,打开三态缓冲器把转换的结果输入到DB,一次A/D转换便完成了。三 程序接线图及流程图3.1 实验接线图 系统的连线图主要由三个部分构成。8255并口控制器、ADC0809模/数转换器、键盘及数码管显示单元。如下图所示: 系统总线 芯片8255 数码管显示单元ABCDEFGDPX1X2X3D0 PB0D1 PB1D2 PB2D3 PB3D4 PB4D5 PB5D6 PB6D7 PB7A0 PA0A1 PA1PA2WRRD PC0PC4CSXD0XD1XD2XD3XD4XD5XD6XD7XA1XA2IOW#IOR#IOY0XD0XD1XD2XD3XD4XD5XD6XD7IOY1IOW#IOR#CLKLED0LED4 LED显示 D0D1D2D3D4 IN0D5 D6D7CSWR ARD B CCLK +5V 10K ADC0809芯片图3.1 实验接线图3.2 主程序流程图主程序的流程图是对整个程序的逻辑的图象表示。首先是设置8255的各个端口地址。接着初始化8255、AD0809芯片,然后进行AD采样、结果转存、数制转换、温度显示、比较报警。程序开始初始化8255启动ADC0809采样读取感应数据GANGYING采样结果A/D变换并存储绿灯正常工作 小于100系统总线红灯异常检修温度比较8255读取数据 大于100 流水灯停止工作数码管显示 大于150图3.2系统实现流程图四 温度显示系统设计源程序MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_CON EQU 0606HSSTACK SEGMENT STACK DW 16 DUP(?)SSTACK ENDSDATA SEGMENTDTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71HVALUE DB ? X DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:SSTACKSTART: MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,MY8255_CON OUT DX,ALLP: MOV DX, 640H OUT DX, AL CALL ADDLY IN AL, DX MOV VALUE, AL MOV SI,1000 MOV AH,00H MOV BL,100 DIV BL MOV SI,AL MOV AL,AH MOV AH,00H MOV BL,10 DIV BL MOV SI+1,AL MOV SI+2,AH MOV BX,OFFSET DTABLE MOV DI,0000H MOV AL,SI AND AX,00FFH ADD BX,AX MOV AL,BX MOV DX,MY8255_B OUT DX,AL MOV AL,0FBH MOV DX,MY8255_A OUT DX,AL CALL DISPDLY MOV BX,OFFSET DTABLE MOV AL,SI+1 AND AX,00FFH ADD BX,AX MOV AL,BX MOV DX,MY8255_B OUT DX,AL MOV AL,0FDH MOV DX,MY8255_A OUT DX,AL CALL DISPDLY MOV BX,OFFSET DTABLE MOV AL,SI+2 AND AX,00FFH ADD BX,AX MOV AL,BX MOV DX,MY8255_A OUT DX,AL MOV AL,0FEH MOV DX,MY8255_B OUT DX,AL CALL DISPDLY MOV AL,value CMP AL,096H JNC b1 mov bx,00h mov ax,bx mov dx,my8255_c out dx,ax mov al,value cmp al,064h jnc a5 mov al,value cmp al,064h jl c1 jmp lpc1: MOV DX,MY8255_C mov bx,0f0h mov ax,bx OUT DX,ax jmp lpA5: MOV DX,MY8255_C mov bx,00fh mov ax,bx OUT DX,ax jmp lpb1: mov dx,MY8255_CON MOV AL,80H out dx,al mov bx,8001b3: mov DX,MY8255_C MOV AL,BL OUT DX,AL ROL BL,1 CALL DELAY CALL DELAY jmp b3DELAY: PUSH CX MOV CX,0F000Hb2: push ax pop ax loop b2 pop cx ret JMP LPADDLY: PUSH CX PUSH AX MOV CX, 100HA6: MOV AX, 0800HA7: DEC AX JNZ A7 LOOP A6 POP AX POP CX RETDISPDLY: PUSH CX MOV CX,012FHT1: MOV AX,00FFHT2: DEC AX JNZ T2 LOOP T1 POP CX RETCODE ENDSEND START 五 总结体会在这短暂而又美好的一周课程设计时间里,我学到和应用了许多知识,真可谓受益良多。在如今的信息大潮中,没有一个高科技的地方能够离开微机的应用,在这一项与人们生活息息相关的专业中,学习并了解它的结构域作用对我们以后的工作和生活都会起到相当大的作用。正是通过这周的课程设计,在自己亲身的设计与制作中,我收获到的不仅仅是从中学到的丰富的微机原理知识,更使我在自己的作品中充分发展我的思维,使我的思维进一步拓展,在自己真切的考虑中完成自己的课程设设计。我在完成课程设计的过程之中也进一步的理解课堂上老师所讲的重点,还把老师所讲的知识融会贯通变为动手应用能力,把所学的知识与实践联系起来。本次课程设计完成了温度显示系统的设计,主要是把模拟量的温度通过模数转换器转换成数字量后,再由CPU传给可编程并行接口8255然后由七段数码显示管显示出来,转换成的数字量温度要与所设定的限值比较,如果温度低于100值则使8255C输出00FH值信号让显示灯始终,显示绿色,表示温度正常。如果温度超过100值则使8255C口输出0F0H值信号让显示灯提示,显示红色灯,表示异常。如果温度超过150值则使8255C口输出信号让显示灯报警,显示流水灯效果,并停止温度计工作,防止其烧坏受损。随着科技的进步微机的应用已经很多,由传统的物理实现转变到软件实现,而且起精确程度也大大的提高,且实现方法也越来越简单。这些则是由汇编语言程序来实现的。在这里是在学完了微型计算机原理及应用,然后进行的课程设计,充分发挥了我的思维,学有所用,将学到的知识真正转化到了实际之中。这里我首先是基于微机原理的基础知识来实现温度显示的,先画出硬件设计图,这个过程是基础,然后是流程图,这个是重点,流程图的完成后在依据流程图进行程序的编写。在这段时间里,我们做了许多工作。首先,我们进行的就是对相关资料的查找,通过借助图书馆的工具书和老师的指导,我们很快就完成了这项任务;其次,就是搜集有关这次课程设计题目的资料,完成这项工作我们是通过网络及老师和同学的介绍,查找到的资料对我们的课程设计有很大的帮助。我们的小组终于完成了温度显示系统的设计。从开始接到设计题目到系统的实现,再到温度显示系统设计完成,每走一步对我们来说都是新的尝试与挑战。在这一周的课程设计中,我们学到了很多知识也有很多感受,从对许多知识的一无所知,到对相关知识有了一定了解的状态,我们开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使不成熟的作品一步步完善起来,每一次改进都是我们学习的收获,这是对我所学的最好证明。在完成我的设计的作品的时候,我真认为它可以与实际中的程序相媲美。如果可以应用到实际之中,更

温馨提示

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

评论

0/150

提交评论