当前位置:文档之家› 微型计算机课程设计——模拟空调

微型计算机课程设计——模拟空调

微型计算机课程设计——模拟空调
微型计算机课程设计——模拟空调

&

《微机原理及应用》课程设计课题:模拟空调控制系统的设计

&

班级电气3081

作者姓名:罗旭东学号电气3081

指导教师:段卫平

淮阴工学院

电子与电气工程学院

目录

(一)设计目的与要求; (1)

(二)设计方案 (1)

(三)硬件设计 (7)

(四)软件设计 (7)

(五)调试过程 (8)

(六)小结 (11)

(七)参考资料 (11)

(一)设计目的与要求;

1.实验题目:

模拟空调实验。

2.实验目的:

〈〈微机原理及应用〉〉是一项重要的实践性教育环节,是学生在小校期间必须接受的一项工程训练。在课程设计过程中,在教师指导下,运用工程的方法,通过一个简单课题的设计练习,可使学生初步体验微机应用系统的设计过程、设计要求、完成的工作内容和具体的设计方法,了解必须提交的各项工程文件,也达到巩固、充实和综合运用所学知识解决实际问题的目的。

通过课程设计,应能加强学生如下能力的培养:

(1)独立工作能力和创造力;

(2)综合运用专业及基础知识,解决实际工程技术问题的能力;

(3)查阅图书资料,产品手册和各种工具书的能力;

(4)工程绘图的能力;

(5)编写技术报告和编制技术资料的能力;

3.设计要求

(1)独立完成设计任务

(2)绘制系统硬件总框图

(3)绘制系统原理电路图

(4)绘制系统工程设计图(机箱、控制面板、线路板图、元件布局图、装配连线图等)(5)编制软件框图

(6)完成详细完整的程序清单和注释

(7)制定编写调试方案

(8)编写用户操作使用说明书

(9)写出设计工作小结。对在完成以上文件过程所进行的有关步骤如设计思想、指标论证、方案确定参考计算,元器件选择,原理分析等作出说明,并对完成的设计作出评价,对自己整个设计工作中经验教训,总结收获和今后研修方向。

(二)设计方案

设计思路:

设定单点温度控制点为30℃,当小于30℃时,L1指示灯亮,模拟电热器加热,当大于30℃时L1灭,L2亮,模拟关掉电热器。

在设计过程中会用到很多芯片,为了能够更加熟练的将各个部件连接,确保调试的成功,其中必不可少的工作就是了解各个芯片的作用,画出逻辑结构模型。

集成温度传感器:

集成温度传感器实质上是一种半导体集成电路,它是利用晶体管的b-e结压降的不饱和值VBE与热力学温度T和通过发射极电流I的下述关系实现对温度的检测:

式中,K—波尔兹常数; q—电子电荷绝对值。

集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。

集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K ,温度0℃时输出为0,温度25℃时输出。电流输出型的灵敏度一般为1mA/K 。

AD590芯片:

AD590的简介:AD590是美国模拟器件公司生产的单片集成两端感温电流源。 它是电流输出型温度传感器,工作电压4~30V ,检测温度范围-55~+150,它有非常好的线性,灵敏度为1μa/k .AD590传感器输出信号通过10K 电阻取出的电压信号,经零点调整,小信号放大后,输出的电压信号VT ,供ADC0809采用。 AD590的主要特性如下:

1、 流过器件的电流(mA )等于器件所处环境的热力学温度(开尔文)度数,即: mA/K

2、 式中: —流过器件(AD590)的电流,单位为mA ;

3、 T —热力学温度,单位为K 。

4、 AD590的测温范围为-55℃~+150℃。

5、 AD590的电源电压范围为4V ~30V 。电源电压可在4V~6V 范围变化,电流 变化1mA ,相当于温

度变化1K 。AD590可以承受44V 正向电压和20V 反向电压,因而器件反接也不会被损坏。 6、 输出电阻为710MW 。

7、 精度高。AD590共有I 、J 、K 、L 、M 五档,其中M 档精度最高,在-55℃~+150℃范围内,非

线性误差为±0.3℃。

为何把AD590信号放大,再进行模数转换

模拟信号输入的话,差分可不放大,共模模拟信号太小的话,会淹没在背景噪音中,所以必须放大.而且放大后精度也会提高很多.不过现在ADC 的内部都自带可编程增益放大器(PGA )的,所以不用前置放大。

总而言之,AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。

I

I1

8

AD590 的内部电路

集成温度传感器电路符号

ADC0809芯片:

ADC0809是CMOS8位A/D

转换器,采用逐次逼近式

进行A/D转换。芯片内有

一个8路模拟开关、一个

比较器、一个带有树状模

拟开关的256R分压器和

一个逐次逼近的寄存器。

ADC0809有8路模拟量输入通道。ALE为地址锁存信号,高电平有效时,ADDC~ADDA被锁存,从而

可以通过对ADDC、ADDB、ADDA3端输入的地址译码,选通8路模拟量输入(IN0~IN7)的任意一

路进入片内,进行A/D转换。

引脚结构

IN0-IN7:8条模拟量输入通道

ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

地址输入和控制线:4条

ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B

IN0-IN7上的一路模拟量输入。通道选择表如下表所示。

C B A 选择的通道

000IN0

001IN1

010IN2

011IN3

100IN4

101IN5

110IN6

111IN7

ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D 转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。

CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,

VREF(+),VREF(-)为参考电压输入。

8255A芯片:

8255A的基本特性:

(1) 8255A是一个具有两个8位(A和B口)和两个4位(C口高/低四位),最多可达24位的并行输入输出端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息传送的一切形式的并行接口。并且它的PC口还具有按位置位/复位功能,为PC口作为联络信号时的按位控制提供了强有力的支持。

(2) 8255A能适应CPU与I/O接口之间的多种数据传送方式的要求。如无条件传送,应答方式(查询)传送,中断方式传送,与此相应,8255A设置了方式0、方式1以及方式2(双向传送)。

(3) 8255A可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件(I/O设备需要哪些信号线以及它能提供哪些状态线)来使用8255A构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境。它不仅作为并行接口用于Intel公司的CPU 系列,还可用于其他几乎所有CPU以及单片机。是一种名付其实的通用并行接口芯片。8255A执行命令过程中和执行命令完毕之后,所产生的状态,保留在状态字中,以供查询。

(4) 8255A PC口的使用比较特殊,除作数据口外,当工作在1方式和2方式时,它的部分信号线被分配作专用联络信号;PC 口可以进行按位控制;在CPU取8255A状态时,PC口又作1,2方式的状态口用等等。这是使用8255的难点所在,学习时要特别予以注意。

(5) 8255A芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成,因此,以后的编程主要也是对这三类寄存器进行访问。

8255A内部结构框图

端口A:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数据输入锁存器,可作为数据输入或输出端口,并工作于三种方式中的任何一种。

端口B:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数据输入缓冲器,可作为

数据输入或输出端口,但不能工作于方式2。

端口C:包括一个 8 位的数据输出锁存/缓冲器和一个 8位的数据输入缓冲器,可在方式字控制下分为两个4位的端口(C端口上和下),每个4位端口都有4位的锁存器,用来配合端口A与端口B锁存输出控制信号和输入状态信号,不能工作于方式1或2。

A组和B组控制的作用如下:

A组控制逻辑控制端口A及端口C的上半部;

B组控制逻辑控制端口B及端口C的下半部。

8255A的引脚功能:

8255A 采用40条引脚的双列直插式(DIP,Dual in-line package)封装,其引脚信号有:CS:片选信号(输入)选该信号低电平有效,由系统地址总线经 I / O 地址译码器产生。CPU通过发高位端口地址信号使它变成低电平时,才能对8255A进行读写操作。

RD:读信号(输入),该信号低电平有效"CPU通过执行IN指令,发读信号将数据或状态信号从8255A读至CPU。

WR:写信号(输入),该信号低电平有效, CPU通过执行OUT指令,发写信号,将命令代码或数据写入8255A。

A1、A0:片内寄存器选择信号(输入),芯片内部端口地址信号线,与系统地址总线低位相连。该信号用来寻址8255A内部寄存器。两位地址,可形成片内四个端口地址。

D7~D0:与CPU侧连接的数据线(双向),双向数据线。CPU通过它向8255A发送命令、数据;8255A通过它向CPU回送状态、数据。

PA7~PA0:A口外设数据线(双向)

PB7~PB0:B口外设数据线(双向)

PC7~PC0:C口外设数据线(双向)

RESET:复位信号(输入),复位信号线,该信号高电平有效。它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;输出寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设的信号线呈现高阻悬浮状态。这种势态一直维持,直到用方式命令才能改变,使其进入用户所需的工作方式。

下图为8255A的引脚图:

(三)硬件设计

CS4→FF80H ,JX6→JX17,8MHZ →T ,IN0→VT , PA0→L1,PA1→L2。

1 40

2 39

3 38

4 37

5 3

6 6 35

7 34

8 33

9 32 10 8255A-5 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3

(四)软件设计

源程序代码:

CODE SEGMENT ; ;代码段开始

ASSUME CS:CODE ;定义代码段开始

ADPORT EQU 0ff80h ;定义ADPORT=0ff80h PA EQU 0FF20H ;字位口 ;定义PA=0FF20H PB EQU 0FF21H ;字形口 ;定义PB=0FF21H PC EQU 0FF22H ;键入口 ;定义PC=0FF22H P2CTL EQU 0FF2BH ;定义P2CTL=0FF2BH P2A EQU 0FF28H ;定义P2A=0FF28H P2B EQU 0FF29H

;定义P2B=0FF29H P2C EQU 0FF2AH ;定义P2C=0FF2AH

ORG 2C20H ;程序地址由2C20H 开始 START: JMP START0 ;无条件转移指令到START0 BUF DB ,,,,, ;定义一数组BUF 有六个数

data1: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h

db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH ;定义单字节数据db START0: CALL BUF1 ;调转转移到BUF1

MOV DX,P2CTL ;将P2CTL的内容送到DX

MOV AL,80H ;AL=80H

OUT DX,AL ;把AL的内容从DX端口输出ADCON: MOV AX,00 ;AX=00

MOV DX,ADPORT ;将ADPORT的内容送到DX

OUT DX,AL

MOV CX,0500H ;CX=0500H;

DELAY: LOOP DELAY ;循环跳转

MOV DX,ADPORT

IN AL,DX ;将DX端口的内容输入到AL中 PUSH AX ;弹出AX

cmp al,4dh ;做比较,与运算

jnc ct1 ;若不相等,转到ct1

MOV AL,0FEH ;AL=0FEH

CON: MOV DX,P2A ;pa0-->l1

OUT DX,AL

POP AX ;压栈

CALL CONVERS ;调转转移到CONVERS

CALL DISP ;调转转移到DISP

JMP ADCON ;直接跳转到ADCON

CT1: MOV AL,0FDH ;pa1-->l2

JMP CON ;直接跳转到CON

CONVERS:MOV AH,AL ;AH= AL

AND AL,0FH ;AL与0FH做与运算

MOV BX,OFFSET BUF ;将BUF数组中的内容送到BX

MOV [BX+5],AL ;[BX+5]= AL

MOV AL,AH ;AL= AH

AND AL,0F0H ;AL与0F0H做与运算

MOV CL,04H ;CL=04H

SHR AL,CL ;AL循环右移04H

MOV [BX+4],AL ;[BX+4]= AL

RET

DISP: MOV AL,0FFH ;00H

MOV DX,PA

OUT DX,AL

MOV CL,0DFH ;20H ;显示子程序 ,5ms

MOV BX,OFFSET BUF

DIS1: MOV AL,[BX]

MOV AH,00H

PUSH BX

MOV BX,OFFSET DATA1 ;将DATA1的内容送到BX

ADD BX,AX ;BX= BX+ AX

MOV AL,[BX] ;将BX寄存器的内容送到AL POP BX

MOV DX,PB ;将PB的内容送到DX

OUT DX,AL ;把AL的内容从DX端口输出

MOV AL,CL ;AL= CL

MOV DX,PA ;将PA的内容送到DX

OUT DX,AL

PUSH CX ;CX出栈

DIS2: MOV CX,00A0H ;CX=00A0H

LOOP $ ;循环跳转

POP CX ;CX压栈

CMP CL,0FEH ;01H ;CL与0FEH比较

JZ LX1 ;相等

INC BX ;BX自增1

ROR CL,1 ;SHR CL,1 ;循环右移1位;逻辑右移

JMP DIS1 ;直接跳转到DIS1

LX1: MOV AL,0FFH ;AL=0FFH

MOV DX,PB ;DX= PB

OUT DX,AL ;把AL的内容从DX端口输出

RET ;返回

BUF1: MOV BUF,0AH ;BUF=0AH

MOV BUF+1,0DH ;BUF+1=0DH

MOV BUF+2,05H ;BUF+2=05H

MOV BUF+3,09H ;BUF+3=09H

MOV BUF+4,00H ;BUF+4=00H

MOV BUF+5,00H ;BUF+5=00H

RET

CODE ENDS ;代码结束

END START ;程序结束

(五)调试过程

实验步骤:

1.连接硬件接口,CS4→FF80H,JX6→JX17,8MHZ→T,IN0→VT,PA0→L1,PA1→L2。

2.打开电源,并在PC机上打开DJ8086k微机原理与接口技术软件。

3.打开源程序,调试—编译程序(编译成功提示读取RAM成功)—装载程序(将程序通过通讯

口下载到实验箱中)

4.在P态下,按SCAL键,输入2C20,按EXEC键,显示“AD59XX”,“XX”为当前温度对应的十六进制值。(对应关系见表格)。

5.完成以上步骤后,我们发现L1黄灯亮。使用的实验数据是室温小于30℃,所以L1指示灯亮。(按照实际情况显示)。

出现的问题:

不能自由控制温度高低

解决方案:

暂时无法解决(由于实验条件的限制,暂时无法自由的控制温度高低调控)

实验结果:

L1灯亮,表示当时的室温为低于30℃。

(六)小结

为期两周的实训即将接近尾声,在这短暂的时光里,我看到了很多,了解了很多,学会了很多。

在第一周,老师布置了实验题目,分好了实验小组,并且简单的讲解了一下实验的要求,以及实验任务与目的。其主要内容是:利用实验箱与PC机相连接,在室温下,通过观察L1,L2灯的明暗变化,来判断当前情况下的室温高低,即:当室温大于30摄氏度时,L2灯亮;当室温小于30摄氏度时,L1灯亮。主要目的是:了解集成温度传感器AD590的工作原理和应用,熟悉小信号放大器的工作原理和零点、增益的调整方法。了解微机对温度采样控制的基本方法。在清楚了该做什么,需要做什么之后,老师带我们熟悉了硬件部分的实验箱,并且按照要求进行连线。

通过一周的努力,我们合力编写出了程序,并且在最后进行实践,成功的调试出了程序。

名义上,我们小组负责的是一个关于温度控制的硬件实验,但实际上它的要求非常高,不仅需要自己编写程序,反复推敲,更需要将各硬件之间正确连接,从PC中下载程序到实验箱,观察实际出现的状况,发现问题,解决问题。

在实验过程中,我们碰到了一个明显的问题,在实验过程中,我们无法依靠自己的意志,自由的控制温度的高低变化,这是有很大局限性的,因为实验条件的限制,我们无法去自由的调控,

虽然如此,但是其基本功能还是可以满足的。

通过这次实验,我学会了各个可编程接口芯片的应用,内部逻辑结构,引脚功能的概述和运用方法,并且运用AD590,ADC0809,8255A这三个芯片,连接成一个简单的温度控制电路,来完成实验。从中,我懂得了微型计算机的奥妙,小小的芯片,通过不同的组合便能得到不同的功用,虽然我们的微型计算机课程已经结束了,但是在以后的日子里,我会继续深造,研究好微型计算机技术,并在以后的日子里不枉我学过一场,将它发扬光大。

(七)参考资料

[1]谭浩强。C程序设计(第三版)。北京:清华大学出版社,2005

[2]谭浩强。C程序设计题解与上机指导(第三版)。北京:清华大学出版社,2005

[3] Herbert Schildt。C语言大全(第四版)。北京:电子工业出版社, 2004

[4]Samuel Ⅲ,Guy .C语言参考手册(第5版)。北京:机械工业出版社,2003

[5]程序设计语言课程设计指导。@

相关主题
文本预览
相关文档 最新文档