温度控制电路系统 第3页
源程序清单:
CODE SEGMENT ;T.ASM ;代码段开始
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端口输出
751com.cn
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) 打开实验箱DJ88K,取出需要连接的线。
(2) 用连接线连JX6→JX17,CS4→FF80H,IN0→VT,PA0→L1,PA1→L2,8MHZ→T。实验箱上连完后,在给实验箱接上电源。并将标准RS232异步通讯口与IBM-PC机连接。
(3) 打开电源,并在PC机上打开DJ8086k微机原理与接口技术软件。
(4) 打开源程序,调试—编译程序(编译成功提示读取RAM成功)—装载程序(将程序通过通讯口下载到实验箱中)
(5) 因为汇编程序是从2C20H地址开始的。在P态下,按SCAL键,输入2C20,按EXEC键,显示“AD59XX”,“XX”为当前温度对应的十辣进制值。(对应关系见表2-5)
(6) 用手温摸测AD590的外壳,观察L1、L2灯的亮灭情况。
完成以上步骤后,我们发现L1黄灯亮。使用的实验数据是室温小于30℃,所以L1指示灯亮。
在实验过程中,我发现了一个问题,那就是我们并不能控制温度的上升和下降,可能是AD590的芯片传感器我们还在实验箱上没找到,应该还需要其他硬件设备,但由于条件缺乏,不能实现。原本设计的思路是用手温来使AD590温度传感器的温度上升,超过30℃能看到另一种现象,就是黄灯L1灭、绿灯L2亮。由于程序编制,我们将单点温度控制点为30ºC,若以后室温上升,能看到第二种情况。
(辣)小结
在为期两个星期的微型计算机课程设计中,我们小组做的是温度控制设计。在这个学期中,我们学习了微型计算机这门课程。讲述了微型计算机的实现技术,对微机技术做了详细介绍,并对微机技术的新发展做适当的介绍和分析。
我们本次课程设计的主题是做温度控制实验。具体是先使用芯片AD590温度传感器来获得温度值,再通过芯片ADC0809进行A/D转换,将温度的模拟量转换为数字量,最后将其通过并行接口8255A在发光二极管以及八段数码管显示出来。课程设计刚开始,我对此不是很了解,没有什么设计概念。老师告诉我们先应该将实验中需要使用到的芯片弄懂,了解各个芯片的功能、运作以及他们之间是怎么相连的。这个建议非常有用,于是我们去图书馆借阅了相关书籍,里面详细介绍了各个芯片的概况、作用、功能、内部结构,引脚图等。并且有些书上也部分介绍了两块芯片之间的相连接情况,对我们的设计有了些提示性的作用,让我们初步了解了设计的方向。
因为我们做的是硬件设计,所以在第一个星期星期三的时候,老师带我们去了技术中心12楼的硬件设备实验室,并让我们初次使用了DJ88K实验箱,然后按照老师发下来的硬件实验接线表中提示的连好各个接口。第一次使用硬件设备让我们初步了解下硬件的设计的概念。后来星期五的时候,老师让我们下课后可以去硬件实验室进行调试。将各接线连接好了之后,老师给我们详细示范了各个实验的操作过程。通过PC机上的DJ8086k微机原理与接口技术软件来连接硬件实验箱,要将DJ88K实验箱与计算机的串行数据口连接,再接上电源,便可调试。调试过程比较简单,通过软件以及实验箱上的小键盘输入地址,完成后可看到实验结果。
通过本次微型计算机的课程设计,使我掌握了一些芯片的使用方法、硬件连线等。课程设计能帮助我们除了掌握课本上的理论知识外,更能帮助我们提高我们的动手实践能力。我们学习定位于技术型本科,所以我们也应该加强我们的实际应用能力。对于微型计算机这门课程,平时上理论课也能会有些抽象、难以理解。所以课程通过实践让我们有了更深一步的理解。
在这两个星期中,我为能够准时完成任务而感到高兴。虽然过程中付出了相当的努力,找资料,动手实践,写报告。但看到自己的成果,我无比欣慰。这是值得的。
(七)参考资料
1. 孙德文 《微型计算机技术》 高等教育出版社 2005年
2.孙德文等 《微型机软硬件实用技术》 国防工业出版社 1994年
3.潘新民等 《微型计算机控制技术》 电子工业出版社 2004年
4.田艾平等 《IBM PC微机原理及接口技术》 煤炭工业出版社1995年
5.周明德等 《微型计算机系统原理及应用》 清华大学出版社 1998年
6.顾元刚等 《汇编语言与微机原理教程》 电子工业出版社 2000年
7.罗万均等 《汇编语言程序设计》 西安电子科技大学出版社1998年
8. 卜艳萍等 《汇编语言程序设计教程》 清华大学出版社 2004年
上一页 [1] [2] [3] [4] 下一页
温度控制电路系统 第3页下载如图片无法显示或论文不完整,请联系qq752018766