根据8086的温度采集系统软硬件设计-中北大学.doc
温度控制系统目 录第一章 温度采集系统软硬件设计任务21.1 设计内容及要求31.2 课程设计的要求3第二章 总体设计方案32.1 设计思想42.2 总体设框图4第三章 硬件设计5 3.1 硬件设计概要5 3.1.1 8086主控模块5 3.1.2 并行接口模块6 3.1.3 A/D转换模块9 3.1.4 显示模块103.2 硬件电路设计系统原理图11第四章 软件设计124.1 程序流程图12 4.2 源程序及其说明14第五章 绪论19参考文献20摘要采用8086微处理器并用温度传感器AD590采集温度数据用CPU控制温度值稳定在预设温度。当温度低于预设温度值时系统启动电加热器当这个温度高于预设温度值时断开电加热器。 系统操作简便、自动化程度高、扩展方便且具有良好的人机交互的能力。该系统通过实验取得了较为满意的控制效果。可应用在一些精度要求不太高的系统中。 关键词:8086微处理器 温度传感器 A/D转换器 温度控制系统 第一章 温度采集系统软硬件设计1.1实验目的为了实现计算机对生产过程及对象的控制,需要将对象的各种测量参数按照要求转换成数字信号送入计算机。经计算机运算处理后再再转换成适合于对生产过程进行控制的量。所以在危机和生产过程之间,必须设置信息的变换和传递通道。而我们所做的模拟输入通道,主要功能就是随时间变化的模拟输入信号变成数字信号送入计算机,主要由AD590温度传感器,8088CPU,8255A, A/D转换器和LED显示器等组成。本实验通过设计一个微机控制的温度采集系统,旨在使学生能做到以下几点:1了解微机控制的温度采集系统软硬件设计原理和方法。2进一步掌握并行接口芯片和模数转换的工作原理与使用方法。1.2实验设备 l8086系列微机一台 2微机硬件实验平台。 3定时/计数器、并行接口芯片 4. ADC0809 5. 8255并口控制器1.3实验内容及要求以8088 CPU 为核心设计一个温度采集系统,系统可以实现一路温度的采集,在3位LED显示器上显示当前温度。本设计所用器件主要有传感器,A/D转换器,8088CPU,可编程并行接口8255,LED显示器等。首先传感器把所测的温度转换为电压,输入A/D转换器中进行转换,然后再把得到的二进制数经过CPU在LED上显示出来。本设计共分以下几个模块:8088主控模块、A/D转换模块、并行接口模块、显示模块。第二章 总体设计方案2.1 设计思想 在许多传统行业中,多路高温度采集系统是不可或缺的。电厂,石化行业及制药厂等企业生产过程中,普遍存在着需要进行温度测量的场合。因为温度是生产过程和科学实验中普遍且重要的物理参数。在工业生产中,为了高效生产,必须对生产过程的主要参数,如温度,压力,速度等进行有效的检测并控制。其中温度检测在生产过程中占有相当大的比例。 而我们所做的课题正是以8088cpu为核心设计一个温度巡回监测系统(A/D采用ADC0809).系统可实现温度信号的采集,在3位LED显示器上显示当前的温度。经标度变换后送LED显示器显示,只进行一路采集。 该系统主要用于温度检测,并在LED上显示当前的温度值。当温度信号改变时,LED显示的值也随之改变。2.2 原理框图温度传感器LED显示 8088控制器并行接口8255ADC0809图 2.2 原理框图第三章 硬件设计3.1 硬件设计概要0系统的主要功能是实现温度信号的采集,在3位LED显示器上显示当前的温度。模拟现场一个点的温度巡回检测,温度范围0-51摄氏度。3.1.1 8086主控模块(1)8086的功能简介:Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:(1)8086CPU数据总线为16位,8088CUP数据总线为8位。(2)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。(3)有16位的端口地址,可以寻址64KB的I/O端口。(4)有99条基本指令,指令功能强大。(5)有9种基本寻址方式。(6)可以处理内部和外部中断,外部中断源多达256个。(7)兼容性好,与80*86,8085在源程序一级兼容。 (8)8086/8088标准主频为5MHz,8086/8088-2主频为8MH。(9)支持单处理器或多处理器系统工作。8088为40条引线、双列直插式封装。它们的40条引线排列。8088有最小组态(单微处理器组成的小系统)和最大组态(多处理器系统)两种工作模式,大部分引脚在两种组态下功能是一样的,只有8根引脚的名称及功能不同(24脚31脚)。(2)原理图设计图 3.1.1 8088电路原理图 (3)8088管脚连接介绍 1. D0D7数据线连接8255A接口芯片的PA0PA7口; 2. A0,A1地址线连接8255A地址线A0,A1; 3. A2A19通过逻辑器和8255A的CS连接; 4. IOR,IOW连接8255A的WR,RD; 5. RESET连接8255A的RESET; 6. CLK接为标准的4.77MHZ; 7. 8088为最小模式下。 3.1.2 并行接口模块(1)8255A的功能简介1. 8255A内部结构8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读写控制逻辑;数据总路线缓冲器。2. 8255A主要的外部引脚图3.1.2a8255A引脚图PA7PA0:A口的8条IO线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。PB7PB0:B口的8条IO线。不可以设置成双向口,其它和A口一样。PC7PC0:C口的8条IO线。不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。除了作为独立的IO线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。A1、A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制口。当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。3. 8255A工作方式方式0:基本的输入输出方式。A口、B口、C口都可以工作在些方式下。方式1:选通输入输出方式(应答方式)。A口、B口工作在此方式下。方式2:双向传输方式。只有A口可以工作在此方式下。4. 8255A方式控制字格式D7D6、D5D4D3D2D1D01A口A口C口高4位B口B口C口低4位00 方式001 方式11x 方式20 输出1 输入0 输出1 输入0方式01方式10 输出1 输入0 输出1 输入 表 1(2)原理图设计图 3.1.2 b 8255A系统原理图(3)8255A管脚连接介绍8255A的D0D7接8088的D0D7;A口PA0PA7接三片八段LED显示器; B口接ADC0809的八个数据口。C口的PC0PC2作为三片LED的片选。C口的PC5PC7和ADC0809的ALE START、ENABLE、EOC相连。当EOC为高电平时表示转换完成,CPU可以从数据口读数据。CPU通过8255A给START一个正脉冲,是ADC0809开始工作。PROTEL原理图中用网络标号连接。 (4)8255A的各个口地址 图 3.1.2c 8255A地址由原理图图 3.1.1,图 3.1.2 b和图 3.1.2c可知:8255A的PA口地址为:0000H;PB口地址为:0001H;PC口地址为:0002H;控制口地址为:0003H。3.1.3 A/D转换模块(1)ADC0809的功能简介ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。(2)原理图设计图 3.1.3 ADC0809与系统连接原理图(3)ADC管脚连接介绍IN0连接传感器,为模拟信号输入端。ADD-A,ADD-B,ADD-C全部接地,表示选中模拟信号输入端IN0。EOC接8255A的PC7,当EOC为高电平时表示转换完成,CPU可以从数据口读数据。(4) AD590传感器电路 图3.1.4 AD590传感器连接电路此电路可以将温度传感器输出的电流值,经过调整可以得到100mv/。3.1.4 显示模块(1)8段LED管脚原理图(2)8段LED与8255A的连接LED的AH分别与8255A的PA0PA7相连。采用共阴极连接方法。用8255A的PC0、PC1、PC2分别控制3片LED的选通。3.2 总硬件设计图 图 3.2 系统总原理图第四章 软件设计4.1 程序流程图 程序的主要功能是负责温度的转化,读出处理并实现在LED上实时显示。 (1) 总流程图 数据采集采集成功?量化编码转化为非压缩BCD码显示LED结束YN (2) 数据采集程序流程图 启动转换读入EOC值EOC=1?N Y转换完成读入量化信号恢复初始化(3)温度显示程序流程图 取操作数码型转换 位选LED取LED对应段码LED段码输出延时4.2 源程序与相应注解DATA SEGMENT BUF1 DB ?BUF2 DB ?BUF3 DB ?BUF4 DB ?LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDATA ENDSCODE SEGMENT ASSUME CS:CODE DS:DATAINIT_8255 PROC NEAR ;初始化8255 MOV DX,0003H MOV AL,8AH OUT DX,AL RETINIT_8255 ENDPSTART: MOV AX,SEG DATA MOV DS,AX MOV SI,OFFSET DATA LEA DI,BUF1 LEA SI,LED CALL INIT_8255AGAIN: MOV DX,0002H MOV AL,08H OUT DX,AL MOV AL,00H OUT DX,AL NOP MOV DX,0002HCAIJI :IN AL,DX TEST AL,80H JZ CAIJI MOV DX,0001H IN AL, DX ;从B口读入ADC0809的8位二进制数 AND AX,00FFH MOV BL,5 ;将8位二进制数转换位模拟量,即电压 DIV BL IMUL BL ; 将模拟电压转换成相应温度,AL中放的是商,AH放的是余数 MOV BUF1,AH ;将余数放入BUF1中 MOV BUF2 AH ADD BUF1,BUF2 ;生成温度的小数位 AND AX,00FFH DIV AX ,0AH ;此时AL中放的是商,即十位,AH中放的是余数,即个位数 MOV BUF3,AL MOV BUF4,AH L1: LEA SI ,LED ADD SI,BUF3 ;找到高位相应LED段码MOV DX,0002H MOV AL,01H ;选通PC0口使第一个LED显示高位段码OUT DX,ALMOV DX,0000H; MOV AL,SIOUT DX,AL ;显示相应的段码CALL DELAYL2: LEA SI, LED ;让SI回到首地址ADD SI,BUF4 ;找到个位相应LED段码 MOV DX,0002HMOV AL,02HOUT DX,ALMOV DX,0000H ;显示相应的段码MOV AL,SIADD AL,80H ;驱动个位和小数点OUT DX,ALCALL DELAYL3: LEA SI, LED ;让SI回到首地址 ADD SI,BUF1 MOV DX,0002H MOV AL,04H OUT DX,AL MOV DX,0000H MOV AL,SI OUT DX,AL CALL DELAYL4:JMP CAIJI ;循环检测温度 EXIT:MOV AH,4CH INT 21HDELAY PROC NEAR MOV CX,1000DELAY1:LOOP DELAY1 REPCODE ENDSEND START 第五章 结论通过本次课程设计掌握了微机系统的开发步骤,可编程并行接口接口芯片8255A,ADC0809和LED的用法,掌握了汇编,程序的设计。本次设计需要熟练掌握汇编语言,熟悉可编程并行接口接口芯片8255A,ADC0809,内部结构、外部引脚和功能,熟悉LED显示器的结构及译码方式。在编程方面,由于刚刚接触汇编语言,对汇编语言的逻辑算法的指令不是非常熟悉,所以在编程当中遇到很大的困难。比如在从ADC0809中获取的操作数,转换成相应的温度值。这里需要很巧的逻辑运算,而汇编语言不像c语言那样可以直接将表达式写入便可直接计算,汇编里的除法还需考虑余数,进位等问题。经过我们的讨论和验证,最后终于把程序完成。 最后通过本次课程设计我也获得了许多收益,首先,让我更好的掌握了ADC0809, 8255A芯片的工作原理、方式及其应用。其次,让我学会了如何设计一个简单的微机系统,以及设计一个简单微机系统所需要的步骤和设计中需要注意的地方。参考文献1.周耿烈,微机原理与接口技术实验指导书,兰州工专计算机工程系,2001年3月。2.雷丽文,微机原理与接口技术,电子工业出版社 ,1999年第一版。3.沈美明,IBM PC机汇编语言程序设计,清华大学出版社,1991年第一版。致 谢 在陇东学院三年的学习,生活即将结束之际,我要衷心感谢这些年来陇东学院对我的培养以及电气与工程学院各位老师及同学对我的帮助和鼓励。 首先,感谢我的导师彭世林教授对我的悉心指导,本论文就是在彭老师的精心指导下完成的。在大三时就开始接受彭老师的教导,他负责微机原理专业课程的教授,彭老师严谨的治学态度和高尚的敬业精神让我肃然起敬,无论在生活上还是在学习上,彭老师都是我的良师益友,我从他身上学到了很多很多,他对我的谆谆教诲让我终生受益,在此我对彭老师表示衷心的感谢和崇高的敬意。 最后,忠心感谢各位专家、教授百忙之中评审我的论文,鉴于本人现在大三,好多主要知识还没有涉及到,并且写作水平有限,恳请各位老师批评指正,并借此机会让各位致以诚挚的问候。 电气工程学院课程设计 学 生 姓 名 (小四) 学 院 指 导 老 师 专 业 答 辩 日 期
收藏
- 资源描述:
-
^`
温度控制系统
目 录
第一章 温度采集系统软硬件设计任务 2
1.1 设计内容及要求 3
1.2 课程设计的要求 3
第二章 总体设计方案 3
2.1 设计思想 4
2.2 总体设框图 4
第三章 硬件设计 5
3.1 硬件设计概要 5
3.1.1 8086主控模块 5
3.1.2 并行接口模块 6
3.1.3 A/D转换模块 9
3.1.4 显示模块 10
3.2 硬件电路设计系统原理图 11
第四章 软件设计 12
4.1 程序流程图 12
4.2 源程序及其说明 14
第五章 绪论 19
参考文献 20
摘要
采用8086微处理器并用温度传感器AD590采集温度数据用CPU控制温度值稳定在预
设温度。当温度低于预设温度值时系统启动电加热器当这个温度高于预设温度值时断开电
加热器。
系统操作简便、自动化程度高、扩展方便且具有良好的人机交互的能力。该系统通过实
验取得了较为满意的控制效果。可应用在一些精度要求不太高的系统中。
关键词:8086微处理器 温度传感器 A/D转换器 温度控制系统
第一章 温度采集系统软硬件设计
1.1实验目的
为了实现计算机对生产过程及对象的控制,需要将对象的各种测量参数按照要求转换成数字信号送入计算机。经计算机运算处理后再再转换成适合于对生产过程进行控制的量。所以在危机和生产过程之间,必须设置信息的变换和传递通道。而我们所做的模拟输入通道,主要功能就是随时间变化的模拟输入信号变成数字信号送入计算机,主要由AD590温度传感器,8088CPU,8255A, A/D转换器和LED显示器等组成。
本实验通过设计一个微机控制的温度采集系统,旨在使学生能做到以下几点:
1.了解微机控制的温度采集系统软硬件设计原理和方法。
2.进一步掌握并行接口芯片和模数转换的工作原理与使用方法。
1.2实验设备
l.8086系列微机一台
2.微机硬件实验平台。
3.定时/计数器、并行接口芯片
4. ADC0809
5. 8255并口控制器
1.3实验内容及要求
以8088 CPU 为核心设计一个温度采集系统,系统可以实现一路温度的采集,在3位LED显示器上显示当前温度。
本设计所用器件主要有传感器,A/D转换器,8088CPU,可编程并行接口8255,LED显示器等。首先传感器把所测的温度转换为电压,输入A/D转换器中进行转换,然后再把得到的二进制数经过CPU在LED上显示出来。
本设计共分以下几个模块:8088主控模块、A/D转换模块、并行接口模块、显示模块。
第二章 总体设计方案
2.1 设计思想
在许多传统行业中,多路高温度采集系统是不可或缺的。电厂,石化行业及制药厂等企业生产过程中,普遍存在着需要进行温度测量的场合。因为温度是生产过程和科学实验中普遍且重要的物理参数。在工业生产中,为了高效生产,必须对生产过程的主要参数,如温度,压力,速度等进行有效的检测并控制。其中温度检测在生产过程中占有相当大的比例。
而我们所做的课题正是以8088cpu为核心设计一个温度巡回监测系统(A/D采用ADC0809).系统可实现温度信号的采集,在3位LED显示器上显示当前的温度。经标度变换后送LED显示器显示,只进行一路采集。
该系统主要用于温度检测,并在LED上显示当前的温度值。当温度信号改变时,LED显示的值也随之改变。
2.2 原理框图
温度传感器
LED显示
8088控制器
并行接口8255
ADC0809
图 2.2 原理框图
第三章 硬件设计
3.1 硬件设计概要
0系统的主要功能是实现温度信号的采集,在3位LED显示器上显示当前的温度。模拟现场一个点的温度巡回检测,温度范围0-51摄氏度。
3.1.1 8086主控模块
(1)8086的功能简介:
Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:
(1)8086CPU数据总线为16位,8088CUP数据总线为8位。
(2)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。
(3)有16位的端口地址,可以寻址64KB的I/O端口。
(4)有99条基本指令,指令功能强大。
(5)有9种基本寻址方式。
(6)可以处理内部和外部中断,外部中断源多达256个。
(7)兼容性好,与80*86,8085在源程序一级兼容。
(8)8086/8088标准主频为5MHz,8086/8088-2主频为8MH。
(9)支持单处理器或多处理器系统工作。
8088为40条引线、双列直插式封装。它们的40条引线排列。8088有最小组态(单微处理器组成的小系统)和最大组态(多处理器系统)两种工作模式,大部分引脚在两种组态下功能是一样的,只有8根引脚的名称及功能不同(24脚~31脚)。
(2)原理图设计
图 3.1.1 8088电路原理图
(3)8088管脚连接介绍
1. D0D7数据线连接8255A接口芯片的PA0~PA7口;
2. A0,A1地址线连接8255A地址线A0,A1;
3. A2~A19通过逻辑器和8255A的CS连接;
4. IOR,IOW连接8255A的WR,RD;
5. RESET连接8255A的RESET;
6. CLK接为标准的4.77MHZ;
7. 8088为最小模式下。
3.1.2 并行接口模块
(1)8255A的功能简介
1. 8255A内部结构
8255A芯片是一个采用NMOS工艺制造的40引脚双列直插式(DIP)封装组件。8255A有3个8位数据端口,即A口、B口及C口,它们都可以分别作为输入口或输出口使用;A组控制与B组控制;读/写控制逻辑;数据总路线缓冲器。
2. 8255A主要的外部引脚
图3.1.2a 8255A引脚图
PA7~PA0:A口的8条I/O线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有A口允许这样做。
PB7~PB0:B口的8条I/O线。不可以设置成双向口,其它和A口一样。
PC7~PC0:C口的8条I/O线。不可以设置成双向口,但它可以分拆为两组即高4位和低4位,这两组可以任意设置为输入或输出。除了作为独立的I/O线外,C口还经常为A口、B口服务,配合A口、B口作联络线使用。
A1、A0:端口地址选择信号。用于选择8255A的3个数据端口和一个控制口。当A1A0=00时,选择端口A;为01时,选择端口B;为10,选择端口C;为11时,选择控制口。
3. 8255A工作方式
方式0:基本的输入/输出方式。A口、B口、C口都可以工作在些方式下。
方式1:选通输入/输出方式(应答方式)。A口、B口工作在此方式下。
方式2:双向传输方式。只有A口可以工作在此方式下。
4. 8255A方式控制字格式
D7
D6、D5
D4
D3
D2
D1
D0
1
A口
A口
C口高4位
B口
B口
C口低4位
00 方式0
01 方式1
1x 方式2
0 输出
1 输入
0 输出
1 输入
0方式0
1方式1
0 输出
1 输入
0 输出
1 输入
表 1
(2)原理图设计
图 3.1.2 b 8255A系统原理图
(3)8255A管脚连接介绍
8255A的D0~D7接8088的D0~D7;A口PA0~PA7接三片八段LED显示器; B口接ADC0809的八个数据口。C口的PC0—PC2作为三片LED的片选。C口的PC5~PC7和ADC0809的ALE START、ENABLE、EOC相连。当EOC为高电平时表示转换完成,CPU可以从数据口读数据。CPU通过8255A给START一个正脉冲,是ADC0809开始工作。PROTEL原理图中用网络标号连接。
(4)8255A的各个口地址
图 3.1.2c 8255A地址
由原理图图 3.1.1,图 3.1.2 b和图 3.1.2c可知:
8255A的PA口地址为:0000H;PB口地址为:0001H;
PC口地址为:0002H;控制口地址为:0003H。
3.1.3 A/D转换模块
(1)ADC0809的功能简介
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。
(2)原理图设计
图 3.1.3 ADC0809与系统连接原理图
(3)ADC管脚连接介绍
IN0连接传感器,为模拟信号输入端。ADD-A,ADD-B,ADD-C全部接地,表示选中模拟信号输入端IN0。EOC接8255A的PC7,当EOC为高电平时表示转换完成,CPU可以从数据口读数据。
(4) AD590传感器电路
图3.1.4 AD590传感器连接电路
此电路可以将温度传感器输出的电流值,经过调整可以得到100mv/℃。
3.1.4 显示模块
(1)8段LED管脚原理图
(2)8段LED与8255A的连接
LED的A~H分别与8255A的PA0~PA7相连。采用共阴极连接方法。用8255A的PC0、PC1、PC2分别控制3片LED的选通。
3.2 总硬件设计图
图 3.2 系统总原理图
第四章 软件设计
4.1 程序流程图
程序的主要功能是负责温度的转化,读出处理并实现在LED上实时显示。
(1) 总流程图
数据采集
采集成功?
量化编码
转化为非压缩BCD码
显示LED
结束
Y
N
(2) 数据采集程序流程图
启动转换
读入EOC值
EOC=1?
N
Y
转换完成读入量化信号
恢复初始化
(3)温度显示程序流程图
取操作数
码型转换
位选LED
取LED对应段码
LED段码输出
延时
4.2 源程序与相应注解
DATA SEGMENT
BUF1 DB ?
BUF2 DB ?
BUF3 DB ?
BUF4 DB ?
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE DS:DATA
INIT_8255 PROC NEAR ;初始化8255
MOV DX,0003H
MOV AL,8AH
OUT DX,AL
RET
INIT_8255 ENDP
START: MOV AX,SEG DATA
MOV DS,AX
MOV SI,OFFSET DATA
LEA DI,BUF1
LEA SI,LED
CALL INIT_8255
AGAIN: MOV DX,0002H
MOV AL,08H
OUT DX,AL
MOV AL,00H
OUT DX,AL
NOP
MOV DX,0002H
CAIJI :IN AL,DX
TEST AL,80H
JZ CAIJI
MOV DX,0001H
IN AL, DX ;从B口读入ADC0809的8位二进制数
AND AX,00FFH
MOV BL,5 ;将8位二进制数转换位模拟量,即电压
DIV BL
IMUL BL ; 将模拟电压转换成相应温度,AL中放的是商,AH放的是余数
MOV BUF1,AH ;将余数放入BUF1中
MOV BUF2 AH
ADD BUF1,BUF2 ;生成温度的小数位
AND AX,00FFH
DIV AX ,0AH ;此时AL中放的是商,即十位,AH中放的是余数,即个位数
MOV BUF3,AL
MOV BUF4,AH
L1: LEA SI ,LED
ADD SI,BUF3 ;找到高位相应LED段码
MOV DX,0002H
MOV AL,01H ;选通PC0口使第一个LED显示高位段码
OUT DX,AL
MOV DX,0000H;
MOV AL,[SI]
OUT DX,AL ;显示相应的段码
CALL DELAY
L2: LEA SI, LED ;让SI回到首地址
ADD SI,BUF4 ;找到个位相应LED段码
MOV DX,0002H
MOV AL,02H
OUT DX,AL
MOV DX,0000H ;显示相应的段码
MOV AL,[SI]
ADD AL,80H ;驱动个位和小数点
OUT DX,AL
CALL DELAY
L3: LEA SI, LED ;让SI回到首地址
ADD SI,BUF1
MOV DX,0002H
MOV AL,04H
OUT DX,AL
MOV DX,0000H
MOV AL,[SI]
OUT DX,AL
CALL DELAY
L4:JMP CAIJI ;循环检测温度
EXIT:MOV AH,4CH
INT 21H
DELAY PROC NEAR
MOV CX,1000
DELAY1:LOOP DELAY1
REP
CODE ENDS
END START
第五章 结论
通过本次课程设计掌握了微机系统的开发步骤,可编程并行接口接口芯片8255A,ADC0809和LED的用法,掌握了汇编,程序的设计。
本次设计需要熟练掌握汇编语言,熟悉可编程并行接口接口芯片8255A,ADC0809,内部结构、外部引脚和功能,熟悉LED显示器的结构及译码方式。在编程方面,由于刚刚接触汇编语言,对汇编语言的逻辑算法的指令不是非常熟悉,所以在编程当中遇到很大的困难。比如在从ADC0809中获取的操作数,转换成相应的温度值。这里需要很巧的逻辑运算,而汇编语言不像c语言那样可以直接将表达式写入便可直接计算,汇编里的除法还需考虑余数,进位等问题。经过我们的讨论和验证,最后终于把程序完成。
最后通过本次课程设计我也获得了许多收益,首先,让我更好的掌握了ADC0809, 8255A芯片的工作原理、方式及其应用。其次,让我学会了如何设计一个简单的微机系统,以及设计一个简单微机系统所需要的步骤和设计中需要注意的地方。
参考文献
1.周耿烈,《微机原理与接口技术实验指导书》,兰州工专计算机工程系,2001年3月。
2.雷丽文,《微机原理与接口技术》,电子工业出版社 ,1999年第一版。
3.沈美明,《IBM PC机汇编语言程序设计》,清华大学出版社,1991年第一版。
致 谢
在陇东学院三年的学习,生活即将结束之际,我要衷心感谢这些年来陇东学院对我的培养以及电气与工程学院各位老师及同学对我的帮助和鼓励。
首先,感谢我的导师彭世林教授对我的悉心指导,本论文就是在彭老师的精心指导下完成的。在大三时就开始接受彭老师的教导,他负责微机原理专业课程的教授,彭老师严谨的治学态度和高尚的敬业精神让我肃然起敬,无论在生活上还是在学习上,彭老师都是我的良师益友,我从他身上学到了很多很多,他对我的谆谆教诲让我终生受益,在此我对彭老师表示衷心的感谢和崇高的敬意。
最后,忠心感谢各位专家、教授百忙之中评审我的论文,鉴于本人现在大三,好多主要知识还没有涉及到,并且写作水平有限,恳请各位老师批评指正,并借此机会让各位致以诚挚的问候。
^`
电气工程学院课程设计
学 生 姓 名 (小四)
学 院
指 导 老 师
专 业
答 辩 日 期
展开阅读全文