多加热炉炉温检测课程设计报告Word格式.docx
《多加热炉炉温检测课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《多加热炉炉温检测课程设计报告Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
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、硬件连接图
多加热炉炉温检测硬件连接图