多加热炉炉温检测课程设计报告Word文件下载.docx

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

多加热炉炉温检测课程设计报告Word文件下载.docx

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

多加热炉炉温检测课程设计报告Word文件下载.docx

电压范围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,11100000B;

写入OCW1屏蔽字

OUTDX,AL

MOVAL,20H;

清ISR

MOVDX,OPORT

OUTDX.AL

INITLA8255:

MOVAL,10000000B;

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:

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、程序流程图

N

Y

是否不小于DDH

报警3

报警2

采样通道号加1

温度否不大于11H

不报警

采样通道号是否大于3

SI=4000H?

SI=4001H?

SI=4002H?

置1号炉

读A/D采样数据

中断返回

启动A/D

显示

是否到三号炉?

拆字

开中断

预置Tk值

预置采样通道号0

程序初始化

清数据区

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

报警1

定时器中断服务子程序

定时时间到(TK-1=0)?

拆字子程序

LED地址加2

换炉显示

温度≤11H(60)

输出报错号E0

≥DDH(180)

输出报错号EF

转换为实际温度(乘30除51加50)

显示子程序

结束

AH=3C0H?

AH左移

SI加1

延时

位输出

取段码表

SI+1≤4002?

RET

CX=0?

CX-1

除以10取余

CX=3

重置TK值

5、硬件连接图

0V

+5V

D0~D7

A2

A3

A4

IN2

IN1

IN0

0~5V

0809

START

ALE

OE

CLK

EOC

ADDA

ADDB

ADDC

EOC

74LS02

CLOCK

CS-4CS-4

按键1

GND

470+5V

IOR

+5VSP/1

RST

A0

A1

IOW

CSCS7

CS1CS

IORIOW

IRQ1

8255

RESET

A0PA0

A1

WRRDPB1

CSPC2

RD

WRINT

IRQ1CS

IRQ2INTA

IRQ3

IRQ4D0~

D7

SP/EN

8253

Q_1

Q_2

Q_0

按键2

按键3

INT1INTR

INTA

CS-1CS6

P_1

P_0

3MHz

+5VIRQ0

CS3CS2

VCC

74LS273

CLRQ0

Q1

Q2

Q3

Q4

Q5

CLKQ6

Q7

Q0

CLKQ1

Q6

CLRQ7

CS4CS1

位码驱动

段码驱动

abcdefgdp

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

1

4

2

3

6

5

8259

CSCLK0

D0GATE0

~OUT0

D7

RDA0

WRA1

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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