多加热炉炉温检测课程设计报告
更新时间:2023-05-02 15:38:01 阅读量: 实用文档 文档下载
多加热炉炉温检测课程
设计报告
公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-
课题3 多加热炉炉温检测系统设计
一.任务及要求:
1.加热炉的炉温可以在60℃~180℃之间任意调节;
2.系统每隔3秒钟检测一遍炉温(三个炉子);
3.利用六位七段码显示器实时显示加热炉的炉号和实际温度,显示值为十进制数值。显示器的右三位显示加热炉的炉号,左三位显示实际值。程序启动运行之后即开始循环显示,每次显示时间为3秒钟;
4.分别记录各加热炉的实际炉温数据,轮流显示。每检测一次即保存一次,循环刷新;
5.对应各加热炉扩展功能按键。功能键按下后不影响检测功能,仅影响显示功能。具体要求如下:
⑴在循环显示方式下,按下某一功能键之后,七段码显示器即显示对应加热炉的炉号和实际温度。如果此时按下另外功能键则不起作用,既不会改变当前显示。只有再次按下同一个功能键之后才能使系统回到循环显示方式状态;
⑵在循环显示方式下,按下某一功能键之后,七段码显示器即显示对应加热炉的炉号和实际温度,如果此时按下另一个功能键,则会改变当前显示,即应显示与后一次按下的功能键对应的加热炉的炉号和炉温。只有连续按下同一个功能键两次才能回到循环显示方式状态;
6.扩展发光二极管担任报警功能,当温度超过200℃即点亮发光二极管报警,并显示错误号“EF”,当温度低于50℃,点亮发光二极管报警,并显示错误号“E0”。二.基本工作原理及说明
1.系统硬件连接参考“多加热炉炉温检测系统硬件参考图”。
⑴硬件部分为PD32实验系统或8051单片机实验系统。包括0809、8253、8259、8255、数据存储器62256、七段码显示器及其驱动电路、按键和报警部分。图中虚线为需要连接的连线;
⑵加热炉的实际温度用电压表示,由电位器给出。模拟量电压经A/D转换器0809转换成数字量。0809的输入通道选用IN0、IN1、IN2、IN3、…。A/D采样结束后由EOC信号发出中断请求。0809的译码地址为3C0H。通道0~7分别为
3C0H,3C4H,3C8H,3CCH,3D0H,3D4H,3D8H,3DCH。A/D采样结束后由EOC信号发出中断请求;
⑶PD32实验系统中利用8253提供定时服务。8253的译码地址控制口:30C H,
计数器1:300H,计数器2:304H,计数器3:308H;
8051单片机实验系统中利用单片机内部定时器提供定时;
⑷PD32实验系统中利用8259提供中断服务。偶地址:3A0H,奇地址:
3A8H;
8051单片机实验系统中利用单片机内部定时中断和外部中断为系统提供中断服务;
⑸PD32实验系统中利用74LS273驱动七段码显示器。位地址:360H,段地址:340H;
8051单片机实验系统中利用驱动芯片驱动七段码显示器;
⑹PD32实验系统中利用74LS245驱动报警发光二极管。地址:340H;
8051单片机实验系统中利用P1口驱动报警发光二极管;
⑺数据存储器62256不需连接,地址范围08000H~0FFFFH;
⑻PD32实验系统中功能键连到8259的中断端;
8051单片机实验系统中功能键利用P1口和外部中断1实现中断检测;
⑼实际温度由电位器给出,可由外部调节。电压范围0~5V;
2.检测系统应用软件主要包括:
⑴主程序;
⑵A/D转换中断服务子程序;
⑶定时器中断服务子程序;
⑷代码转换子程序;
⑸显示子程序;
⑹按键中断服务子程序;
3.程序流程图;
4.多加热炉炉温检测系统硬件图。
三、源程序
.486
DATA SEGMENT AT 0 USE16
;8255各个端口的地址
PORTA EQU 203H
PORTB EQU 207H
PORTC EQU 20BH
CONTROLPORT EQU 20FH
;七段码地址
WEI EQU 360H
DUAN EQU 340H
;8253各个端口地址
DS0 EQU 300H
DSI EQU 304H
DS2 EQU 308H
DSC EQU 30CH
;8259端口地址
OPORT EQU 3A0H
JPORT EQU 3A8H
;0809地址
ADPORT EQU 3C0H
ADPORTI EQU 3C4H
ADPORI2 EQU 3C8H
;中断向量
ZDIRO EQU 20H ;定时器中断
ZDLR1 EQU 24H ; AD中断
ZDIR2 EQU 28H ;开笑1中断
ZDIR3 EQU 2CH ;开关2中断
ZDIR4 EQU 30H ;开关3中断
;定义数据缓冲区
ORG 4000H
DATA4AD DB 3 DUP(?);AD转换后的数据存储处
DATA4LED DB 18 DUP(?);十六进制列BCD的显爪数据存储处DATA ENDS
CODE SEGMENT USE16
ORG 2000H
ASSUME CS:CODE,DS:DATA,ES:DATA
BEG: CLI
JMP START
TAB DB 3FH,06H.5BH,4FH,66H,6DH,7DH.07H,7FH,67H,77H,7CI-L39H,5EH.79H,71H ;段码表
;AD转换中断用
ADATANW DW DATA4AD
ADPTNW DW 3C0H ;通道口内存保留
;显示程序用
LEDNW DW DATA4LED
;定时中断用
TIME DB 150 ;设置计数值
;开关中断用
SWH1 DB 0FFH
SWH2 DB 0FFH
SWH3 DB 0FFH
START:
MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV SS,AX
MOV SP,1000H
MOV AL,0C0H
MOV DX,WEI , OUT DX,AL
INITA8259:
MOV AL,00010011B;ICWI ;写入ICW1 MOV DX,OPORT
OUT DX,AL
MOV AL,00001000B ;写入ICW2
MOV DX,JPORT
OUT DX,AL
MOV AL,00000001B ;写入ICW4
MOV DX,JPORT
OUT DX,AL
MOV AL,B ;写入OCW1 屏蔽字
MOV DX,JPORT
OUT DX,AL
MOV AL,20H ;清 ISR
MOV DX,OPORT
OUT DX.AL
INITLA8255:
MOV AL,B ;A、B、C口都工作于方式0,都为输出 MOV DX,CONTROLPORT
OUT DX,AL
MOV AL,0FFH
MOV DX,PORTA
OUT DX,AL
INITIA8253:
MOV DX,DSC
MOV AL,00110110B ;方式3 二进制计数
OUT DX,AL
MOV DX,DS0
MOV AL,60H ;计数初值设为 0EA60H /6000D
OUT DX,AL
MOV AL,0EAH
OUT DX,AL
;中断向量初始化
MOV DI,ZDIR0
MOV AX,OFFSET TIMER
STOSW
MOV AX,SEG TIMER
STOSW
MOV DI,ZDIRI
MOV AX,OFFSET ADPROC STOSW
MOV AX,SEG ADPROC
STOSW
MOV DI,ZDIR2
MOV AX, OFFSET SWITCH1 STOSW
MOV AX, SEG SWITCH1 STOSW
MOV DI,ZDIR3
MOV AX,OFFSET SWITH2 STOSW
MOV AX,SEG SWITH2
STOSW
MOV DI,ZDIR4
MOV AX,OFFSET switcb3 STOSW
MOV AX,SEG SWITCH3 STOSW
MOV DX,ADPORT;启动ADC
OUT DX.AL
;炉号初始化
MOV DX,4003H
MOV BYTE PTR [DI],0
INC DI
MOV BYTE PTR [DI],0
INC DI
MOV BYTE PTR [DI],1 ADD DI,4
MOV BYTE PTR [DI],0
INC DI
MOV BYTE PTR [DI],0
INC DI
MOV BYTE PTR [D1],2
ADD DL4
MOV BYTE PTR [DI],0 INC DI
MOV BYTE PTR [DI],0 INC DI
MOV BYTE PTR [DI],3 AGAIN:
STI
CALL CZBCD
CALL DISP
JMP AGAIN
;一一拆字十六进制转BCD码一一
CZBCD PROC
PUSH Bx
PUSH CX
PUSH AX
LEASI,DATA4AD;AD转换后的数据存储处
LEA DI,DATA4LED;十六进制到BCD的显示数据存储处 ADD DI,2
CZ0
MOV AL,[SI]
CMP AL,11H ;与60比较
JBE ST0
CMP AL,0DDH ;与180比较
JAE ST1
JMP CZ00
ST0:
MOV BYTE PTR[DI+1],0EH
MOV BYTE PTR[DI+2],00H
JMP CZ00
ST1:
MOV BYTE PTR[DI+1],0EH
MOV BYTE PTR[DI+2],0FH
JMP CZ00
CZ00:
MOV BX,1EH ;转换为实际温度值
MUL BX
MOV DL,51
DIV DL
ADD AX,50
MOV AH,00H
MOV BL,0AH
MOV CX,3
CZ1:
DIV BL
MOV [DI],AH
DEC DI
MOV AH,00H
LOOP CZ1
ADD DI,9
INC SI
CMP SI,4002H :AD转换后的数据存储处是否到头
JBE CZ0
POP AX
POP CX
POP BX
RET
CZBCD ENDP
DISP PROC
PUSH DX
PUSH CX
PUSH BX
PUSH AX
LEA BX,TAB;段码表 MOV SI,LEDNW
MOV AH,0C1H
DISP1:
MOV DX,WEI
MOV AL,AH
OUT DX.AL;位输山
MOV DX,DUAN
MOV AL,[SI]
XLAT
OUT DX,AL;段输出
MOV CX,0200H
LOOP $
INC SI
SAL AH.1
OR AH,0C0H
CMP AH,0C0H
JNZ DISP1
POP AX
POP BX
POP CX
POP DX
RET
DISP ENDP
:一一AD采样程序一一
ADPROC PROC
PUSH AX
PUSH SI
PUSH DX
MOV DX,[ADPTNW];A/D通道 0
CMP DX ,3c8H;到第三号炉r r?
JBE NEXT
MOV【ADPTNW],3COH;就置数据区7号炉端口
NEXT:
MOV SI,[ADATANW]
CMP SI ,4002H
JBE NEXT2
MOV [ADATANW),4000H
JMP CHU
NEXI2:
IN AL,DX
MOV [SI],AL
ADD [ADPTNW],4
INC [ADATANW]
CMPAL,11H ;是否在 60和180之间JBE BAOJIN
CMP AL,0DDH
JAE BAOJIN
JMP OK
CMP SI,4000H
JZ OK
CMP SI,4001H
JZ OK1
CMP SI,4002H
JZ OK2
BAOJIN:CMPSI,4000H
JZ BAOJIN1
CMPSI,4001H
JZ BAOJIN2
CMP SI,4002H
JZ BAOJIN3
JMP CHUQU
BAOJIN l:
MOV DX,203H :报警 1
MOV AX,0FEH
OUT DX,AL
JMP CHUQU
BAOJIN2:
MOV DX,207H :报警 2
MOV AX,0FDH
OUT DX,AL
JMP CHUQU
BAOJIN3:
MOV DXT,20BH ;报警 3 MOV AX,OFCH
OUT DX,AL
JMP CHUQU
OK: MOVDX,203H ;解除报警
MOV AX,0FFH
OUT DX,AL
OK1:
MOV DX,207H
OUT DX,AL
OK2:
MOV DX,20BH
OUT DX,AL
CHUQU:
MOV DX,[ADPTNW];启动ADC OUT DX,AL
CHU:MOV AL,20H
MOV DX,OPORT
OUT DX,AL
POP DX
POPSI
POP AX
IRET
ADPROC ENDP
:一一定时器中断
TIMER PROC
PUSH AX
PUSH DX
MOV AL,[TIME]
DEC AL
MOV[TIME],AL
CMP AL,0 ;是否到0
JNZ END0
CMP [SWH1,0 :判断是否有按键按下
JZ ENDD
CMP [STWH2],0
JZ ENDDCMP [SWH3],0
JZ ENDD
MOV AX,[LEDNW] ;
CMP AX,400FH ; JAE DALE ;
ADD AX,6 ; MOV [LEDNW],AX ;
JMP ENDD ;
DALE:MOV[LEDNW],4003H ;改变显示参数ENDD:
MOV DX,ADPORT ;到了开A/D OUT DX,AL ;
MOV [TIME],150 ; END0:
MOV AL,20H
MOV DX,OPORT
OUT DX,AL
POP DX
POP AX
IRET
TIMER ENDP
:一——开关l的中断———一SWITCH1 PROC
NOT SWHI
CMP SWHI,O
JNZ BACK1
MOV[LEDNW],4003H;第1次按T' BACK1:
MOV AL,20H
MOV DX,OPORT
OUT DX,AL
STI
IRET
SWITCH1 ENDP
:——一一开关2的中断——SWITH2 PROC
NOT STWH2
CMP STWH2,0
JNZ BACK2
MOV [LEDNW],4009H;是第1次按下BACK2:
MOV AL,20H
MOV DX,OPORT
OUT DX,AL
STI
IRET
SWITH2 ENDP
:一一·一开关3的中断——一一SWITCH3 PROC
NOT SWH3
CMP SWH3,0
JNZ BACK3
MOV [LEDNW],400FH;是第1次按下BACK3:
MOV AL,20H
MOV DX,OPORT
OUT DX,AL STI
IRET
SWITCH3 ENDP CODE ENDS
END BEG
四、程序流程图
正在阅读:
多加热炉炉温检测课程设计报告05-02
买钢笔作文400字06-29
六年级上册数学计划及教案06-25
外科学选择题12-08
爱是一个人的核心竞争力读后感精选10篇12-12
2020年整合自考《中小学教育管理》串讲笔记要点名师精品资料04-26
农业文明 - 工业文明 - 生态文明(初稿) - 图文01-15
房地产估价师初始注册申请表09-27
广告牌受风载基于Ansys的12-14
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 炉温
- 加热炉
- 检测
- 课程
- 报告
- 设计
- 坯布质量检验标准美标四分制
- 闻声识人课后测试答案
- 林业碳汇项目风险及防范机制-最新范文
- 标准日本语初级上下册超详细总结笔记打印版
- 最新版的单间房屋租赁合同
- 煤矿事故案例分析修订版
- 媒体发布会记者提问0419
- 华兰生物工程股份有限公司2009-2011年度奖励基金实施计划
- 【全】2020专业技术人员心理健康与心理调适测试试题及答案2
- 电压互感器与电流互感器的作用 原理及两者区别
- 最新青岛版小学数学四年级上册《角的认识》教学评课精编版
- XX传媒公司财务部岗位职责说明
- 草莓行业现状及发展趋势分析
- 买房流程及注意事项(巨详细)
- 网格化应对疫情防控常态化经验交流(11篇)
- 最新土力学试题与答案
- (完整版)教师资格证《综合素质》写作题范文5篇
- 劳动保障协理员复习题(1235带答案2)
- 校际联考2015秋学期第一次考试13级 语文试卷与答案
- 2020年智慧树知道网课《航空概论(山东联盟)》课后章节测试满分答案