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

上传人:b****3 文档编号:10315157 上传时间:2023-05-25 格式:DOCX 页数:24 大小:107.51KB
下载 相关 举报
多加热炉炉温检测课程设计报告.docx_第1页
第1页 / 共24页
多加热炉炉温检测课程设计报告.docx_第2页
第2页 / 共24页
多加热炉炉温检测课程设计报告.docx_第3页
第3页 / 共24页
多加热炉炉温检测课程设计报告.docx_第4页
第4页 / 共24页
多加热炉炉温检测课程设计报告.docx_第5页
第5页 / 共24页
多加热炉炉温检测课程设计报告.docx_第6页
第6页 / 共24页
多加热炉炉温检测课程设计报告.docx_第7页
第7页 / 共24页
多加热炉炉温检测课程设计报告.docx_第8页
第8页 / 共24页
多加热炉炉温检测课程设计报告.docx_第9页
第9页 / 共24页
多加热炉炉温检测课程设计报告.docx_第10页
第10页 / 共24页
多加热炉炉温检测课程设计报告.docx_第11页
第11页 / 共24页
多加热炉炉温检测课程设计报告.docx_第12页
第12页 / 共24页
多加热炉炉温检测课程设计报告.docx_第13页
第13页 / 共24页
多加热炉炉温检测课程设计报告.docx_第14页
第14页 / 共24页
多加热炉炉温检测课程设计报告.docx_第15页
第15页 / 共24页
多加热炉炉温检测课程设计报告.docx_第16页
第16页 / 共24页
多加热炉炉温检测课程设计报告.docx_第17页
第17页 / 共24页
多加热炉炉温检测课程设计报告.docx_第18页
第18页 / 共24页
多加热炉炉温检测课程设计报告.docx_第19页
第19页 / 共24页
多加热炉炉温检测课程设计报告.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

多加热炉炉温检测课程设计报告

课题3多加热炉炉温检测系统设计

.任务及要求:

1.加热炉的炉温可以在60C〜180C之间任意调节;

2.系统每隔3秒钟检测一遍炉温(三个炉子);

3.利用六位七段码显示器实时显示加热炉的炉号和实际温度,显示值为十进制数值。

显示器的右三位显示加热炉的炉号,左三位显示实际值。

程序启动运行之后即开始循环显示,每次显示时间为3秒钟;

4.分别记录各加热炉的实际炉温数据,轮流显示。

每检测一次即保存一次,循环刷新;

5.对应各加热炉扩展功能按键。

功能键按下后不影响检测功能,仅影响显示功能。

具体要求如下:

⑴在循环显示方式下,按下某一功能键之后,七段码显示器即显示对应加热炉的炉号和实际温度。

如果此时按下另外功能键则不起作用,既不会改变当前显示。

只有再次按下同一个功能键之后才能使系统回到循环显示方式状态;

⑵在循环显示方式下,按下某一功能键之后,七段码显示器即显示对应加热炉的炉号和实际温度,如果此时按下另一个功能键,则会改变当前显示,即应显示与后一次按下的功能键对应的加热炉的炉号和炉温。

只有连续按下同一个功能键两次才能回到循环显示方式状态;

6.扩展发光二极管担任报警功能,当温度超过200r即点亮发光二极管报警,并显示错误号“EF”,当温度低于50C,点亮发光二极管报警,并显示错误号“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的译码地址控制口:

30CH,计数器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实现中断检测;

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

电压范围

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

⑴主程序;

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

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

⑷代码转换子程序;

⑸显示子程序;

⑹按键中断服务子程序;

3.程序流程图;

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

三、源程序

0〜5V;

.486

DATASEGMENTAT0USE16;8255各个端口的地址

PORTA

EQU

203H

PORTB

EQU

207H

PORTC

EQU

20BH

CONTROLPORTEQU20FH;七段码地址

WEI

EQU

360H

DUAN

EQU

340H

;8253各个端口地址

DS0

EQU

300H

DSI

EQU

304H

DS2

EQU

308H

DSC

EQU

30CH

;8259端口地址OPORTEQU3A0HJPORTEQU3A8H

;0809地址

ADPORTEQU3C0HADPORTIEQU3C4H

ADPORI2EQU3C8H

;中断向量

ZDIRO

EQU

20H

;定时器中断

ZDLR1

EQU

24H

;AD中断

ZDIR2

EQU

28H

;开笑1中断

ZDIR3

EQU

2CH

;开关2中断

ZDIR4

EQU

30H

;开关3中断

;定义数据缓冲区

ORG4000H

DATA4AD

DB

3

DUP(?

);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

OUTDX,AL

MOVAL,00001000B;写入ICW2

MOVDX,JPORT

OUTDX,AL

MOVAL,00000001B;写入ICW4

MOVDX,JPORT

OUTDX,AL

MOVAL,B;写入OCW1屏蔽字

MOVDX,JPORT

OUTDX,AL

MOVAL,20H;清ISR

MOVDX,OPORT

OUTDX.AL

INITLA8255:

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

MOVDX,CONTROLPORT

OUTDX,AL

MOVAL,0FFH

MOVDX,PORTA

OUTDX,AL

INITIA8253:

MOVDX,DSC

MOVAL,00110110B;方式3二进制计数

OUTDX,AL

MOVDX,DS0

MOVAL,60H;计数初值设为0EA60H/6000D

OUTDX,AL

MOVAL,0EAH

OUTDX,AL

;中断向量初始化

MOVDI,ZDIR0

MOVAX,OFFSETTIMER

STOSW

MOVAX,SEGTIMER

STOSW

MOVDI,ZDIRI

MOVAX,OFFSETADPROC

STOSW

MOVAX,SEGADPROC

STOSW

MOVDI,ZDIR2

MOVAX,OFFSETSWITCH1

STOSW

MOVAX,SEGSWITCH1

STOSW

MOVDI,ZDIR3

MOVAX,OFFSETSWITH2

STOSW

MOVAX,SEGSWITH2

STOSW

MOVDI,ZDIR4

MOVAX,OFFSETswitcb3

STOSW

MOVAX,SEGSWITCH3

STOSW

MOVDX,ADPORT;启动ADC

OUTDX.AL

;炉号初始化

MOVDX,4003H

MOVBYTEPTR[DI],0

INCDI

MOVBYTEPTR[DI],0

INCDI

MOVBYTEPTR[DI],1

ADDDI,4

MOVBYTEPTR[DI],0

INCDI

MOVBYTEPTR[DI],0

INCDI

MOVBYTEPTR[D1],2

ADDDL4

MOV

BYTEPTR[DI],0

INCDI

MOV

BYTEPTR[DI],0

INCDI

MOV

BYTEPTR[DI],3

AGAIN:

STI

CALLCZBCD

CALLDISP

JMPAGAIN

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

CZBCDPROC

PUSHBx

PUSHCX

PUSHAX

LEASI,DATA4AD;AD转换后的数据存储处

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

JMPCZ00

ST1:

MOVBYTEPTR[DI+1],0EH

MOVBYTEPTR[DI+2],0FH

JMPCZ00

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

PUSHCX

PUSHBX

PUSHAX

LEABX,TAB;段码表

MOVSI,LEDNW

MOVAH,0C1H

DISP1:

MOVDX,WEI

MOVAL,AH

OUTDX.AL;位输山

MOVDX,DUAN

MOVAL,[SI]

XLAT

OUTDX,AL;段输出

MOVCX,0200H

LOOP$

INCSI

SALAH.1

ORAH,0C0H

CMPAH,0C0H

JNZDISP1

POPAX

POPBX

POPCX

POPDX

RET

DISPENDP:

一一AD采样程序一一

ADPROCPROC

PUSHAX

PUSHSI

PUSHDX

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

JZBAOJIN1CMPSI,4001H

JZBAOJIN2

CMPSI,4002H

JZBAOJIN3

JMPCHUQU

BAOJINl:

MOVDX,203H:

报警1

MOVAX,0FEH

OUTDX,AL

JMPCHUQU

BAOJIN2:

MOVDX,207H:

报警2

MOVAX,0FDH

OUTDX,AL

JMPCHUQU

BAOJIN3:

MOVDXT,20BH;报警3

MOVAX,OFCH

OUTDX,AL

JMPCHUQU

OK:

MOVDX,203H;解除报警

MOVAX,0FFH

OUTDX,AL

OK1:

MOVDX,207H

OUTDX,AL

OK2:

MOVDX,20BH

OUTDX,AL

CHUQU:

MOVDX,[ADPTNW];启动ADCOUTDX,AL

CHU:

MOVAL,20H

MOVDX,OPORT

OUTDX,AL

POPDXPOPSIPOPAX

IRET

ADPROCENDP:

一一定时器中断

TIMERPROC

PUSHAX

PUSHDX

MOVAL,[TIME]DECALMOV[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

MOVDX,OPORT

OUTDX,AL

POPDX

POPAX

IRET

TIMERENDP

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

SWITCH1PROC

NOTSWHI

CMPSWHI,O

JNZBACK1

MOV[LEDNW],4003H;第1次按T'

BACK1:

MOVAL,20H

MOVDX,OPORT

OUTDX,AL

STI

IRET

SWITCH1ENDP

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

SWITH2PROC

NOTSTWH2

CMPSTWH2,0

JNZBACK2

MOV[LEDNW],4009H;是第1次按下

BACK2:

MOVAL,20H

MOVDX,OPORT

OUTDX,AL

STI

IRET

SWITH2ENDP

开关3的中断一一

SWITCH3PROC

NOTSWH3

CMPSWH3,0

JNZBACK3

MOV[LEDNW],400FH;是第1次按下

BACK3:

MOVAL,20H

MOVDX,OPORT

OUTDX,AL

STI

IRET

SWITCH3ENDP

CODEENDS

ENDBEG

四、程序流程图

主程序

A/D

转换中断服务子程序

清数据区

拆字子程序

输岀报错号E0

N

输出报错号EF

温度金1H

预置

是否到三号

定时器中断服务子程

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

读A/D采样数据

换炉显示

采样通道号是

否大丁3

启动A/D

N

报警1

置1号炉

转换为实际温度(乘

50)值

D0

D7

A4A3A2

CS-4

IRQ4

cx=0?

+5V

8255

RESET

CSrdwRA1拆字0Ao

五、硬件连接置

P/T

A0

NRQRQRQR不

SP/E

D0

D7

CX=3

开中断

pcPbiCX-1

□+5V

采样通—

一重置Tk值

温度否不曲血

0〜5

IN1IN00'IN2IN1IN0

断返回

EOCdtadaddddaoc[示子程序clkncseA74lTart

是否不小于io

CD

取段码表

9CU

0809SI=4000H?

SP/1sp/eNrqrqrqr不位

D0

D7〜INTAS|NT

CS7

S&4001H?

825

N

N

SI=4002H?

INTA9NT

N

 

报警

3

Q_P

按键

PP

按键

inTa

CS6

cs4-

INT1

INTR

口口□□□

EEI:

■n

A3A2

…口

irq+53MHz

CS3

IOW

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

VCC

1

cSip

1

CLR

CLK

74

Q7Q6Q5Q4Q3Q2Q1QC

CLK

LS273

Q7Q6Q5Q4Q3Q2Q1Q0

CS2

VCC

CL

R

74LS273

 

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2