MOV P1,#0FH ;设定P1在没有外部中断时发光的灯 ACALL DELAY MOV P1,#0F0H ACALL DELAY AJMP LOOP
CASE1: ;中断子程序 PUSH PSW ;将PSW存入堆栈 PUSH P1 ;将P1状态存入堆栈 MOV A,#00H ;清除P1显示值 MOV P1,A ACALL DELAY
POP P1 ;将PSW取回 POP PSW ;将P1值取回 RETI ;返回主程序
DELAY: MOV R5,#10 ;延时子程序 D1: MOV R6,#200 D2: MOV R7,#250 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET END
(4)根据流程图可写出如下增量型PID浮点运算程序: ORG 8000H
PIDINC: MOV R1, #DATA MOV R1, #COEFUR LCALL FSUB
MOV R1, #BIASE0
LCALL FSTR
MOV R0, #BIASE0 MOV R1, #BIASE1 LCALL FSUB
MOV R1, #MIDLE1 LCALL FSTR
MOV R0, #COEFKP LCALL FMUL
MOV R0, #MIDLE2 LCALL FSTR
MOV R0, #COEFKI MOV R1, #BIASE0 LCALL FMUL MOV R1, #BIASPP LCALL FADD
MOV R1, #MIDLE2 LCALL FSTR