长春职业技术学院毕业设计、调查报告专用纸
ACALL DSUM ;求Pi+ Pp+Pd MOV R3,R7 MOV R2,R6 MOV R5,2FH MOV R4,30H
ACALL DSUM ;求出Ui MOV 2FH,R7 MOV 30H,R6
MOV 3DH, 3BH MOV 3EH ,3CH
MOV 3BH ,39H MOV 3CH , 3AH RET
6、温度控制子程序清单:
TC: MOV A, 2FH SUBB A, #8000H JNC KAI AJMP
KAI1:JB P1.0,KAI2 SETB P1.0 RET
KAI2:JB P1.1,KAI3 SETB P1.1 RET
KAI3:SETB P1.2 RET
GUAN3:JNB P1.2,GAUN2 CLR P1.2 RET
GUAN2:JNB P1.1,GUAN1
25
;Ui→Ur-1 ;ei-1→ei-2
ei-1→ei-1 ;长春职业技术学院毕业设计、调查报告专用纸
CLR P1.1 RET
GUAN1:CLR P1.0 RET
7、温度给定子程序清单:
TIN: MOV A, P1 ;读入拨盘值 ANL A,#0F0H ;屏蔽低8位
SWAP A, ;给定值交换到低半子节 JZ ERR ;给定值为另转到 CJNE A,#04H,BP1 ;给定值≥04H转ERR BP1: JNC ERR
SETB EA ;给定值合法,允许系统中断 CJNE A,#01H,BP2 ;(A)≠01转BP2
MOV 51H,#50H ;(A)=01将室温设定值50H 51H RET
BP2: CJNE A,#03H,BP3 ;(A)≠02转到BP3
MOV 51H,#0A0H ;(A)=02,将30℃设定值A0H 51H RET
BP3: CJNE A,#03H,BP4 ;(A)≠03转BP4
MOV 51H,#0C8H ;(A)=03,将设定值C8H51H
BP4: RET
ERR: MOV 5FH,#0AH ;显示“ГГ、Г” MOV 5EH, #0AH MOV 5DH, #OAH ACALL SDIR
ANL P1, #F8H ;关闭两个电炉 CLR EA RET
8、温度显示子程序清单:
DIR: SETB P3.3 ;P3.3=1,允许TXD引脚同步移位脉冲输出
26
长春职业技术学院毕业设计、调查报告专用纸
MOV R7, #08H ;送入的段码个数计数器 MOV R0, #7FH ;7FH-78H为显示数据缓冲区 DL0: MOV A,@R0 ;取出要显示的数送A ADD A, #0DH ;加上偏移量
MOVC A, 0DH ;查段码表SEGMENT,取出段码 MOV SBUF, A ;将段码送SBUF
DL1: JNB TI,DL1 ;输出段码,查询TI状态,1B的段码输出 CLR TI ;1B的段码输出完,清TI标志 DEC R0 ;指向下一个显示数据单元
DJNZ R7,DL0 ;段码个数计数器R7是否为0,如不为0,继续送段码 CLR P3.3 ;8个段码输出完毕,关闭显示器输出返回 RET ;返回
SEGMENT: DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳极段码表,0,1,2,3,4 DB 92H,82H,0F8H,80H,90H ;5,6,7,8,9 DB 88H,83H,0C6H,0A1H,86H ;A,B,C,D,E DB 8EH,0BFH,0FFH,0FFH,0DEH 9、温度转换子程序清单:
ADCBCD: MOV A,50H
ANL A,#03H ;温度值小数部分 ADD A,#04H ;加上偏移量 MOVC A,@A+PC ;查表
MOV 50H,A ;BCD小数值送缓冲器 AJMP ADC1
BCDTAB: DB 00H ;BCD小数表 DB 03H DB 05H DB 08H
ADC1: MOV A,50H ;温度整数部分 ANL A,#FCH ;屏蔽低2位 RR A
27
长春职业技术学院毕业设计、调查报告专用纸
RR A
MOV B,#100 ;转换成BCD程序 DIV A,B ;自位值定位为0,不用 MOV A,#10 XCH A,B DIV AB
MOV 5FH, MOV 5EH, RET 、报警子程序清单:
MOV A, 21H CJNE A, 35H JB CY,MM SETB 01H SETB P1.0 SETB P1.3 HERE: JB P1.5,HERE CLR P1.5 MOV 43H,#64H MM: CJNE A,36H JB CY,NN SETB P1.1 RET
NN: JNB 01H,ZZ SETB P1.2 SETB P1.3 MOV43H,#00H S: JB P1.5,S CLR P1.5 RET
A ;计数送缓冲区5FH B 28
10