定时中断T0服务程序参考框图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件程序:

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP PIT0

ORG 001BH

LJMP PIT1

ORG 0100H

MAIN: MOV SP,#FH ;设堆栈指针

MOV SCON,#00H ;设置串行口为方式0

MOV TMOD,#11H ;T0和T1初始化为方式1

MOV TH0, #3CH ;置时间常数,T0和T1定时100ms MOV TL0, #OB0H

MOV TH1, #3CH

MOV TL1, #0B0H

MOV 50H, #96H ;T0中断次数计数单元

MOV 51H,#14H ;T1中断次数计数单元

MOV R1, #00H

MOV R2, #00H

MOV R0, #40H ;显示缓冲单元起始地址

DISP0:MOV @R0, #00H ;显示缓冲单元清零

INC R0

CJNE R0, #4CH,DISP0

MOV 44H,#01H ;设置通道号的显示缓冲单元

MOV 48H,#02H

MOV R7,#40H ;置当前通道显示缓冲单元首址

MOV 53H,#40H

SETB ETO ;开中断

SETB ET1

SETB EA

SETB TR0 ;启动定时器

SETB TR1

LP: MOV R7, 53H ;调显示子程序

ACALL DISP

AJMP JP

定时器TO中断服务程序

PIT0: MOV TH0, #3CH ;重置时间常数

MOV TL0, #OBOH

DJNZ 50H,#96H

PUSH ACC

PUSH 03H

ACALL WDXJ ;调温度巡检子程序

POP 03H

POP ACC

DH0: RET1

定时器T1中断服务程序

PIT1: MOV TH1,#3CH ;重置时间常数

MOV TL0, #OBOH

DJNZ 51H,DH1 ;计数20次即定时2S

MOV 51H,#14H

INC R2

CJNE R2,#03H,CNL0 ;根据R2中的内容确定显示缓冲区首址 MOV R2,#00H

CNL0: CJNE R2,#00H,CNL1

MOV 53H,#40H

SJMP DH1

CNL1: CJNE R2,#01H,CNL2

MOV 53H,#40H

SJMP DH1

CNL2: MOV 53H,#48H

DH1: RETI

显示子程序

DISP: CLR P3.7 ;输出锁存

MOV R3,#01H ;置显示字位码

MOV DPTR,#TAB

DISP1:MOV A,R3

MOV SBUF,A ;字位码送串行口

JNB T1,$ ;等待串行转送结束

CLR T1 ;清串行中断标志

MOV A,R7

MOV R0,A

MOV A,@RO ;取代显示的数据

MOVC A,@R0 ;查表求字段码

MOV SBUF, A ;字段码送串行口,

JNB T1,$ ;等待串行中断标志

SETB P3.7 ;允许输出显示

ACALL DEL ;调延时子程序

MOV A,R3

JB ACC.3,DISP2 ;4位显示完否

RL A

MOV R3,A

INC R7

CLR P3.7 ;输出锁存

AJNP DISP1

DISP2:RET

TAB : DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

DEL: PUSH 07H ;延时子程序

MOV R6,#32H

AA: MOV R7,#19H

DJNZ R7,$

DJNZ R6,AA

POP 06H

POP 07H

RET

温度巡检子程序

WDXJ: CLR P2.0

CLR P2.1

SERB P2.2

MOV A,R1 ;读入当前待检测的通道号

RL A

RL A

ADD A,#40H ;求显示缓冲区首址

MOV R0,A

MOV A,R1

MOV @R0,A

INC R0

MOV R5,#00H

MOV R6,#04H

STAT: CJNE R1,#00H,AD01 ;根据R1的内容选择通道

CLR P2.5

CLR P2.6

CLR P2.7

SJMP ZH

AD01: CJNE R1,#01H,AD02

SETB P2.5

CLR P2.6

CLR P2.7

SJMP ZH

AD02: CLR P2.5

SETB P2.6

CLR P2.7

ZH: SETB P2.0

NOP

N0P

NOP

CLP P2.0

JNB P2.2,$ ;检测EOC信号,等待转换完毕 SETB P2.1

MOV P1,#0FFH

MOV A,P1 ;读入转换结果

相关文档
最新文档