多加热炉炉温检测课程设计报告Word格式.docx

上传人:b****6 文档编号:17494071 上传时间:2022-12-06 格式:DOCX 页数:17 大小:151.54KB
下载 相关 举报
多加热炉炉温检测课程设计报告Word格式.docx_第1页
第1页 / 共17页
多加热炉炉温检测课程设计报告Word格式.docx_第2页
第2页 / 共17页
多加热炉炉温检测课程设计报告Word格式.docx_第3页
第3页 / 共17页
多加热炉炉温检测课程设计报告Word格式.docx_第4页
第4页 / 共17页
多加热炉炉温检测课程设计报告Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

多加热炉炉温检测课程设计报告Word格式.docx

《多加热炉炉温检测课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《多加热炉炉温检测课程设计报告Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

多加热炉炉温检测课程设计报告Word格式.docx

3A0H,奇地址:

3A8H;

8051单片机实验系统中利用单片机内部定时中断和外部中断为系统提供中断服务;

⑸PD32实验系统中利用74LS273驱动七段码显示器。

位地址:

360H,段地址:

340H;

8051单片机实验系统中利用驱动芯片驱动七段码显示器;

⑹PD32实验系统中利用74LS245驱动报警发光二极管。

地址:

8051单片机实验系统中利用P1口驱动报警发光二极管;

⑺数据存储器62256不需连接,地址范围08000H~0FFFFH;

⑻PD32实验系统中功能键连到8259的中断端;

8051单片机实验系统中功能键利用P1口和外部中断1实现中断检测;

⑼实际温度由电位器给出,可由外部调节。

电压范围0~5V;

2.检测系统应用软件主要包括:

⑴主程序;

⑵A/D转换中断服务子程序;

⑶定时器中断服务子程序;

⑷代码转换子程序;

⑸显示子程序;

⑹按键中断服务子程序;

3.程序流程图;

4.多加热炉炉温检测系统硬件图。

三、源程序

.486

DATASEGMENTAT0USE16

;

8255各个端口的地址

PORTAEQU203H

PORTBEQU207H

PORTCEQU20BH

CONTROLPORTEQU20FH

七段码地址

WEIEQU360H

DUANEQU340H

8253各个端口地址

DS0EQU300H

DSIEQU304H

DS2EQU308H

DSCEQU30CH

8259端口地址

OPORTEQU3A0H

JPORTEQU3A8H

0809地址

ADPORTEQU3C0H

ADPORTIEQU3C4H

ADPORI2EQU3C8H

中断向量

ZDIROEQU20H;

定时器中断

ZDLR1EQU24H;

AD中断

ZDIR2EQU28H;

开笑1中断

ZDIR3EQU2CH;

开关2中断

ZDIR4EQU30H;

开关3中断

定义数据缓冲区

ORG4000H

DATA4ADDB3DUP(?

);

AD转换后的数据存储处

DATA4LEDDB18DUP(?

十六进制列BCD的显爪数据存储处

DATAENDS

CODESEGMENTUSE16

ORG2000H

ASSUMECS:

CODE,DS:

DATA,ES:

DATA

BEG:

CLI

JMPSTART

TABDB3FH,06H.5BH,4FH,66H,6DH,7DH.07H,7FH,67H,77H,7CI-L39H,5EH.79H,71H;

段码表

AD转换中断用

ADATANWDWDATA4AD

ADPTNWDW3C0H;

通道口内存保留

显示程序用

LEDNWDWDATA4LED

定时中断用

TIMEDB150;

设置计数值

开关中断用

SWH1DB0FFH

SWH2DB0FFH

SWH3DB0FFH

START:

MOVAX,DATA

MOVDS,AX

MOVAX,0

MOVSS,AX

MOVSP,1000H

MOVAL,0C0H

MOVDX,WEI,

OUTDX,AL

INITA8259:

MOVAL,00010011B;

ICWI;

写入ICW1

MOVDX,OPORT

MOVAL,00001000B;

写入ICW2

MOVDX,JPORT

MOVAL,00000001B;

写入ICW4

MOVAL,B;

写入OCW1屏蔽字

OUTDX,AL

MOVAL,20H;

清ISR

MOVDX,OPORT

OUTDX.AL

INITLA8255:

A、B、C口都工作于方式0,都为输出

MOVDX,CONTROLPORT

MOVAL,0FFH

MOVDX,PORTA

INITIA8253:

MOVDX,DSC

MOVAL,00110110B;

方式3二进制计数

MOVDX,DS0

MOVAL,60H;

计数初值设为0EA60H/6000D

MOVAL,0EAH

中断向量初始化

MOVDI,ZDIR0

MOVAX,OFFSETTIMER

STOSW

MOVAX,SEGTIMER

MOVDI,ZDIRI

MOVAX,OFFSETADPROC

STOSW

MOVAX,SEGADPROC

MOVDI,ZDIR2

MOVAX,OFFSETSWITCH1

MOVAX,SEGSWITCH1

MOVDI,ZDIR3

MOVAX,OFFSETSWITH2

MOVAX,SEGSWITH2

MOVDI,ZDIR4

MOVAX,OFFSETswitcb3

MOVAX,SEGSWITCH3

MOVDX,ADPORT;

启动ADC

炉号初始化

MOVDX,4003H

MOVBYTEPTR[DI],0

INCDI

MOVBYTEPTR[DI],1

ADDDI,4

MOVBYTEPTR[DI],0

INCDI

MOVBYTEPTR[D1],2

ADDDL4

MOVBYTEPTR[DI],3

AGAIN:

STI

CALLCZBCD

CALLDISP

JMPAGAIN

一一拆字十六进制转BCD码一一

CZBCDPROC

PUSHBx

PUSHCX

PUSHAX

LEASI,DATA4AD;

LEADI,DATA4LED;

十六进制到BCD的显示数据存储处

ADDDI,2

CZ0

MOVAL,[SI]

CMPAL,11H;

与60比较

JBEST0

CMPAL,0DDH;

与180比较

JAEST1

JMPCZ00

ST0:

MOVBYTEPTR[DI+1],0EH

MOVBYTEPTR[DI+2],00H

ST1:

MOVBYTEPTR[DI+2],0FH

CZ00:

MOVBX,1EH;

转换为实际温度值

MULBX

MOVDL,51

DIVDL

ADDAX,50

MOVAH,00H

MOVBL,0AH

MOVCX,3

CZ1:

DIVBL

MOV[DI],AH

DECDI

MOVAH,00H

LOOPCZ1

ADDDI,9

INCSI

CMPSI,4002H:

AD转换后的数据存储处是否到头

JBECZ0

POPAX

POPCX

POPBX

RET

CZBCDENDP

DISPPROC

PUSHDX

PUSHBX

LEABX,TAB;

MOVSI,LEDNW

MOVAH,0C1H

DISP1:

MOVDX,WEI

MOVAL,AH

OUTDX.AL;

位输山

MOVDX,DUAN

XLAT

OUTDX,AL;

段输出

MOVCX,0200H

LOOP$

SALAH.1

ORAH,0C0H

CMPAH,0C0H

JNZDISP1

POPDX

DISPENDP

一一AD采样程序一一

ADPROCPROC

PUSHSI

MOVDX,[ADPTNW];

A/D通道0

CMPDX,3c8H;

到第三号炉rr?

JBENEXT

MOV【ADPTNW],3COH;

就置数据区7号炉端口

NEXT:

MOVSI,[ADATANW]

CMPSI,4002H

JBENEXT2

MOV[ADATANW),4000H

JMPCHU

NEXI2:

INAL,DX

MOV[SI],AL

ADD[ADPTNW],4

INC[ADATANW]

CMPAL,11H;

是否在60和180之间

JBEBAOJIN

CMPAL,0DDH

JAEBAOJIN

JMPOK

CMPSI,4000H

JZOK

CMPSI,4001H

JZOK1

CMPSI,4002H

JZOK2

BAOJIN:

CMPSI,4000H

JZBAOJIN1

CMPSI,4001H

JZBAOJIN2

CMPSI,4002H

JZBAOJIN3

JMPCHUQU

BAOJINl:

MOVDX,203H:

报警1

MOVAX,0FEH

BAOJIN2:

MOVDX,207H:

报警2

MOVAX,0FDH

BAOJIN3:

MOVDXT,20BH;

报警3

MOVAX,OFCH

OK:

MOVDX,203H;

解除报警

MOVAX,0FFH

OK1:

MOVDX,207H

OK2:

MOVDX,20BH

OUTDX,AL

CHUQU:

OUTDX,AL

CHU:

MOVAL,20H

POPSI

IRET

ADPROCENDP

一一定时器中断

TIMERPROC

MOVAL,[TIME]

DECAL

MOV[TIME],AL

CMPAL,0;

是否到0

JNZEND0

CMP[SWH1,0:

判断是否有按键按下

JZENDD

CMP[STWH2],0

JZENDDCMP[SWH3],0

JZENDD

MOVAX,[LEDNW];

CMPAX,400FH;

JAEDALE;

ADDAX,6;

MOV[LEDNW],AX;

JMPENDD;

DALE:

MOV[LEDNW],4003H;

改变显示参数

ENDD:

MOVDX,ADPORT;

到了开A/D

OUTDX,AL;

MOV[TIME],150;

END0:

MOVAL,20H

TIMERENDP

一——开关l的中断———一

SWITCH1PROC

NOTSWHI

CMPSWHI,O

JNZBACK1

MOV[LEDNW],4003H;

第1次按T'

BACK1:

IRET

SWITCH1ENDP

——一一开关2的中断——

SWITH2PROC

NOTSTWH2

CMPSTWH2,0

JNZBACK2

MOV[LEDNW],4009H;

是第1次按下

BACK2:

SWITH2ENDP

一一·

一开关3的中断——一一

SWITCH3PROC

NOTSWH3

CMPSWH3,0

JNZBACK3

MOV[LEDNW],400FH;

BACK3:

SWITCH3ENDP

CODEENDS

ENDBEG

4、程序流程图

主程序A/D转换中断服务子程序

定时器中断服务子程序

拆字子程序

5、硬件连接图

多加热炉炉温检测硬件连接图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1