多加热炉炉温检测系统设计

   日期:2021-03-17     浏览:146    评论:0    
核心提示:多加热炉炉温检测系统设计题目硬件参考图代码程序框图题目一.任务及要求:加热炉的炉温可以在 0℃~350℃之间任意调节;系统每隔 5 秒钟检测一遍炉温;(2 路)利用六位七段码显示器实时显示加热炉的炉号和实际温度,显示值为十进制数值。显示器的左三位显示加热炉的炉号(以班级学号尾数序号+通道号),右三位显示实际值。在启动按键按下系统开始运行显示相应炉温。按下启动功能键之后(用灯来指示工作状态),采集炉温并通过七段码显示加热炉的炉号和实际温度, 按下停止功能键后,系统停止工作不采集温度,但仍

多加热炉炉温检测系统设计

    • 题目
    • 硬件参考图
    • 代码
    • 程序框图

本文仅供参考,版本1.1 仅提供大概思路,如有错欢迎指出

题目

一.任务及要求:
1,加热炉的炉温可以在 0℃~350℃之间任意调节;
2,系统每隔 5 秒钟检测一遍炉温;(2 路)
3,利用六位七段码显示器实时显示加热炉的炉号和实际温度,显示值为十
进制数值。显示器的左三位显示加热炉的炉号(以班级学号尾数序号+通道号),
右三位显示实际值。在启动按键按下系统开始运行显示相应炉温。
4,按下启动功能键之后(用灯来指示工作状态),采集炉温并通过七段码显
示加热炉的炉号和实际温度, 按下停止功能键后,系统停止工作不采集温度,但
仍显示最后采集到的温度。
由 2 个键分别决定固定显示某个炉子的炉温,即当按下一号炉显示键,则七
段码显示相应的炉号及温度,如没有固定显示键按下,则同时显示 2 个炉子炉温
(左 3 位显示 1 路炉温,右三位显示 2 路炉温)。
5,扩展发光二极管担任报警功能,当温度超过 280℃或低于 50℃即点亮发
光二极管报警。

二.基本接线及说明(参考)
1,系统硬件连接参考“多加热炉炉温检测系统硬件参考图”。
(1)硬件部分为实验系统。包括 0809、8253、8259、8255、七段码显示器及
其驱动电路、按键和报警部分。图中虚线为需要连接的连线;
(2)实际温度由电位器给出,可由外部电位器调节。电压范围 0~5V;
(3)实验系统中利用 8253 提供定时服务。8253 的译码片选接译码地址 320H,
计数器 1: H,计数器 2: H,计数器 3: H;控制口地址:
(4)实验系统中利用 8259 提供中断服务。8259 片选接译码地址 360H;
(5)实验系统中利用 8255 驱动报警发光二极管。
命令口地址:20FH;A 口地址: H;B 口地址: H; C 口地址:
(6)加热炉的实际温度用模拟电压表示。0809 的输入通道选用 IN0、IN1、IN2、
IN3、…。0809 的译码地址为 300H。通道 0~7 分别为、、、。
(7)七段码显示,位码输出接 8255B 口,段码地址接译码地址 340h
2,检测系统应用软件主要包括:
⑴主程序;
⑵A/D 转换中断服务子程序;
⑶定时器中断服务子程序;
⑷代码转换子程序;
⑸显示子程序;
⑹按键中断服务子程序;
3, 程序参考流程图;
4, 多加热炉炉温检测系统硬件参考图。

三.步骤及进度
课程设计时间共一周,5 天。
1.阅读《微机原理及应用》课程设计任务书,理解题意。按要求设计多加
热炉炉温检测系统硬件连接图,按要求设计多加热炉炉温检测系统应用软件。
阅读、理解、硬件及软件设计时间为 1 天;
2.系统调试:
⑴ 连接硬件线路;
⑵ 按以下步骤调试应用软件:
① 主程序、定时器;
② A/D 转换;
③ 代码转换、显示;
④ 按键、报警;
⑤ 统调。
系统调试时间为 3 天;
3.验收及考核,时间为 0.5~1 天;
4.写课程设计报告书,时间为 0.5~1 天。

四.理论设计要求
每人独立完成:
1,硬件接线图及分析硬件组成原理;
2,各模块实现的主要功能,
3,程序框图
4, 程序及主要注释;

五. 课程设计报告要求
1, 规范书写、字迹清楚规整。
2, 任务及要求;
3 ,画出硬件系统图;
4 ,硬件各组成原理及各程序模块实现的主要功能;
5 ,程序框图、程序详细清单及注释;
6,调试过程、及调试过程中出现的问题及解决的方法或解决方案;
7,本次课程设计心得体会。

硬件参考图

图片:

代码

.486
DATA SEGMENT AT 0 USE16

PORTA EQU 203H			;8255 APORTB EQU 207H			;8255 B口   七段码显示位码地址
PORTC EQU 20BH			;8255 CCONTROL EQU 20FH		;8255控制口
PORT1 EQU 340H			;七段码显示段码地址
DS0 EQU 320H			;8253计数器0
DS1 EQU 324H			;8253计数器1
DS2 EQU 328H			;8253计数器2
DSC EQU 32CH			;8253控制口
OPORT EQU 360H			;8259偶地址
JPORT EQU 368H			;8259奇地址
AD0 EQU 300H			;0809通道0
AD1 EQU 304H			;0809通道1
AD4 EQU 310H			;0809通道4
AD5 EQU 314H			;0809通道5
IR1 EQU 24H				;定时器中断
IR2 EQU 28H				;AD中断
IR3 EQU 2CH				;开关1	显示4号炉
IR4 EQU 30H				;开关2	显示5号炉
IR5 EQU 34H				;开关3	开始按钮
IR6 EQU 38H				;开关4	结束按钮

ORG 4000H	
DATA1 DB 4 DUP(?)		;显示数据区
DATA2 DB 6 DUP(?)		;显示缓存区
TDATA DB 2 DUP(?)		;温度存储区
;开关状态
SWITCH DB 2 DUP(?)		;第一个为开始结束状态位:00H为结束状态,01H为开始状态
;第二个为显示模式位,00H位显示两路,04H为显示4号炉,05H	;为显示5号炉
DATA ENDS

CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA,ES:DATA
ORG 2000H
BEG:
	CLI
	JMP START
ADPORT DB 01H			;采样通道数
TIME DB 250				;定时计数
LED DB FFH				;LED状态
TAB	DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
	DB 6FH,77H,7CH,39H,5EH,79H,71H



START:
	MOV AX,DATA
	MOV DS,AX
	MOV AX,0
	MOV SS,AX
INIT8259:
	MOV AL,00010011B 	;写入ICW1
	MOV DX,OPORT
	OUT DX,AL
	MOV AL,00001000B  	;写入ICW2
	MOV DX,JPORT
	OUT DX,AL
	MOV AL,00001101B  	;写入ICW4
	MOV DX,JPORT
	OUT DX,AL
	MOV AL,10000001B  	;写入OCW1 屏蔽字,仅IR16可用
	MOV DX,JPORT
	OUT DX,AL
	MOV AL,20H           ;ISR
	MOV DX,OPORT
	OUT DX,AL
INIT8255:
	MOV AL,10000000B	;ABC口输出,方式0
	MOV DX,CONTROL
	OUT DX,AL
	MOV AL,0FFH			;关闭所有led
	MOV DX,PORTA
	OUT DX,AL
INIT8253:
	MOV DX,DSC
	MOV AL,36H	;
	OUT DX,AL
	MOV DX,DS0
	MOV AL,0BH
	OUT DX,AL
	MOV AL,0E9H 		;20ms产生一次中断
	OUT DX,AL

INIT ZDXL:				;中断向量初始化
	XOR AX,AX
	MOV ES,AX

	MOV DI,IR1			;中断向量1,计数器中断	
	MOV AX,OFFSET TIMER
	CLD
	STOSW
	MOV AX,SEG TIMER
	STOSW

	MOV DI,IR2			;中断向量2A/D中断
	MOV AX,OFFSET AD
	CLD
	STOSW
	MOV AX,SEG AD
	STOSW

	MOV DI,IR3			;中断向量3,按键1
	MOV AX,OFFSET KEY1
	CLD
	STOSW
	MOV AX,SEG KEY1
	STOSW

	MOV DI,IR4			;中断向量4,按键2
	MOV AX,OFFSET KEY2
	CLD
	STOSW
	MOV AX,SEG KEY2
	STOSW

	MOV DI,IR5			;中断向量5,按键3
	MOV AX,OFFSET KEY3
	CLD
	STOSW
	MOV AX,SEG KEY3
	STOSW

	MOV DI,IR6			;中断向量6,按键4
	MOV AX,OFFSET KEY4
	CLD
	STOSW
	MOV AX,SEG KEY4
	STOSW

AGAIN:
	STI
	LEA SI,SWITCH
	LEA DI,DATA1
	MOV AL,[SI]
	AND AL,0FFH
	JZ AGAIN
	MOV DX,PORTA
	MOV AL,0EFH
	OUT DX,AL
	CALL ALARM
	CALL XCH
	MOV AL,[SI+1]
	CMP AL,04H
	JB P0
	JA P1
	MOV AL,[DI]
	MOV [DI+2],AL
	MOV AL,[DI+1]
	MOV [DI+3],AL
	MOV AL,04H		;put port num
	MOV [DI],AL
	MOV AL,15H		;put ur id
	MOV [DI+1],AL	
	JMP P0
P1:
	MOV AL,05H		;put port num
	MOV [DI],AL
	MOV AL,15H		;put ur id
	MOV [DI+1],AL		
P0:
	CALL CZ
	CALL DISP
	MOV AL,[SI]
	AND AL,0FFH
	JZ P0
	JMP AGAIN

XCH PROC			;转换子程序
	PUSH AX
	PUSH BX
	PUSH CX
	PUSH DX
	PUSH SI
	PUSH DI
	LEA SI,TDATA
	LEA DI,DATA1
	MOV AL,[SI]		;转换4号炉温度
	MOV BX,89H		;137
	MUL BX			;结果存AX
	MOV BX,2710H
	DIV BX			;商存AX,余数存DX
	MOV [DI],AL
	MOV AX,DX
	MOV BL,64H
	DIV BL			;取十位和个位,商存AL
	MOV [DI+1],AL
	MOV AL,[SI+1]	;转化5号炉温度
	MOV BX,89H
	MUL BX			;结果存AX
	MOV BX,2710H
	DIV BX			;商存AX,余数存DX
	MOV [DI+2],AL
	MOV AX,DX
	MOV BL,64H
	DIV BL			;取十位和个位,商存AL
	MOV [DI+3],AL
	POP AX
	POP BX
	POP CX
	POP DX
	POP SI
	POP DI
	RET
XCH ENDP
	
	
ALARM PROC			;报警子程序
	PUSH AX
	PUSH BX
	PUSH DX
	PUSH CX
	PUSH SI
	PUSH DI
	LEA SI,TDATA
	MOV BL,LED
	CMP [SI],24H	;4号炉与50度比较  
	JNB L0
    MOV DX,PORTA
	MOV AL,EEH		;小于50度一号灯亮
	OUT DX,AL
L0:	
	CMP[SI],CCH		;4号炉与280度比较
	JBE L1
	MOV DX,PORTA
	MOV AL,EDH		;大于280度二号灯亮
	OUT DX,AL
	JMP L2
L1:	MOV DX,PORTA
	MOV AL,E
L2:	CMP [SI+1],24H	;5号炉与50度比较  
	JNB L3
	MOV DX,PORTA
	MOV AL,EBH		;小于50度三号灯亮
	OUT DX,AL
L3:
	CMP[SI+1],CCH	;5号炉与280度比较 
	JBE L4
	MOV DX,PORTA
	MOV AL,E7H		;大于280度四号灯亮
	OUT DX,AL
LA:	
	POP AX
	POP BX
	POP DX
	POP CX
	POP SI
	POP DI
	RET
ALARM ENDP

CZ PROC				;拆字子程序
	PUSH AX
	PUSH BX
	PUSH DX
	PUSH CX
	PUSH SI
	PUSH DI

	LEA SI,DATA1	;数据显示
	LEA DI,DATA2	;数据缓存
CZ0:
C0:			
	MOV BL,[SI]
	AND BL,0FH
	MOV [DI],BL		;取低位
	INC SI
	INC DI
C1:			
	MOV BL,[SI]
	AND BL,0F0H
	MOV CL,4
	ROL BL,CL
	MOV [DI],BL		;取高位
	INC DI
	MOV BL,[SI]
	AND BL,0FH
	MOV [DI],BL		;取低位
	INC SI
	INC DI
	CMP SI,4004H
	JB CZ0
	POP AX
	POP BX
	POP DX
	POP CX
	POP SI
	POP DI
	RET
CZ ENDP

DISP PROC			;显示子程序
	PUSH AX
	PUSH BX
	PUSH DX
	PUSH CX
	PUSH SI
	PUSH DI
	LEA BX,TAB		;段码表
	LEA SI,DATA2	;数据缓存
	MOV AH,01H
DISP1:
	MOV DX,PORTB
	MOV AL,AH
	OUT DX,AL
	MOV DX,PORT1
	MOV AL,[SI]
	XLAT
	OUT DX,AL
	MOV CX,020EH
	LOOP $
	INC SI
	SAL AH,1
	CMP AH,40H		;判断是否显示完(6位)
	JNZ DISP1
	POP AX
	POP BX
	POP DX
	POP CX
	POP SI
	POP DI
	RET
DISP ENDP



----------------------------------------------------------------------------------
AD PROC
	PUSH AX
	PUSH BX
	PUSH CX
	PUSH SI
	PUSH DI
	PUSH DX
	MOV SITDATA
	MOV AH,[ADPORT]
	CMP AH,02H		;判断,如果为01H则存4通道数据,如果为02H则存5通道数据并复位通道数并退出。
	JNZ A1
	MOV DXAD5		;存通道5数据
	IN ALDX
	MOV [SI+2],AL
	MOV [ADPORT],01H
	JMP EXIT
A1:	MOV DXAD4		;存通道4数据
	IN ALDX		;读入4通道的数据
	MOV [SI],AL
	MOV AH,[ADPORT]
	SHL AH,1
	MOV [ADPORT],AH
	MOV DX,AD5
	OUT DX,AL		;启动A/D,采样通道为5
EXIT:
	MOV AL,20H
	MOV DX,OPORT
	OUT DX,AL
	POP AX
	POP BX
	POP CX
	POP SI
	POP DI
	POP DX
	IRET
AD ENDP

TIMER PROC
	PUSH AX
	PUSH BX
	PUSH CX
	PUSH SI
	PUSH DI
	PUSH DX
	MOV AL,[TIME]
	DEC AL
	MOV [TIME],AL
	CMP AL,0		;判断定时时间是否到5s
	JNZ T1			
T0:					;计时时间到,打开0809
	MOV DX,AD0		;0809通道0开启
	OUT DX,AL 
	MOV [TIME],25
T1:					;没有计时到5s则推出中断
	MOV AL,20H		;EOI
	MOV DX,OPORT
	OUT DX,AL
	POP AX
	POP BX
	POP CX
	POP SI
	POP DI
	POP DX
	IRET
TIMER ENDP

KEY1 PROC			;4号炉按键
	PUSH DX
	PUSH AX
	PUSH SI
	LEA SI,SWITCH
	MOV AL,[SWITCH]
	CMP AL,04H
	JNZ K1
	MOV [SWITCH+1],00H
	JMP K2
K1:
	MOV [SWITCH+1],04H	
K2:					;EOI
	MOV AL,20H
	MOV DX,OPORT
	OUT DX,AL
	POP DX
	POP AX
	POP SI
	IRET
KEY1 ENDP


KEY2 PROC			;5号炉按键
	PUSH DX
	PUSH AX
	PUSH SI
	LEA SI,SWITCH
	MOV AL,[SWITCH]
	CMP AL,05H
	JNZ K3
	MOV [SWITCH+1],00H
	JMP K4
K3:
	MOV [SWITCH+1],05H	
K4:					;EOI
	MOV AL,20H
	MOV DX,OPORT
	OUT DX,AL
	POP DX
	POP AX
	POP SI
	IRET
KEY2 ENDP


KEY3 PROC				;开始按键中断
	PUSH DX
	PUSH AX
	PUSH SI
	LEA SI,SWITCH
	MOV [SWITCH],01H	;状态位为1
	MOV AL,20H			;EOI
	MOV DX,OPORT
	OUT DX,AL
	POP DX
	POP AX
	POP SI
	IRET
KEY3 ENDP


KEY4 PROC				;结束按键中断
	PUSH DX
	PUSH AX
	PUSH SI
	LEA SI,SWITCH
	MOV [SWITCH],00H	;状态为0
	MOV AL,20H			;EOI
	MOV DX,OPORT
	OUT DX,AL
	POP DX
	POP AX
	POP SI
	IRET
KEY4 ENDP

CODE ENDS
END BEG

程序框图

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服