单片机控制直流电机转速及温度测量程序
MOV 31H,TL0 ;测得的转速二进制放入31H单元中
RET
;************************************************************** MSZH:MOV DPTR,#0FBFFH ;选中ADC0809
MOVX @DPTR,A ;启动ADC0809
LP1:JB P1.0,LP1 ;等待A/D转换完毕
MOVX A,@DPTR
COMP:MOV B,#0FEH ;K=0.4
MUL AB
MOV A,#10 ;Tc=100
CLR C
SUBB A,B
CJNE A,#20H,COMP1
COMP1:JC COMP4 ;温度小于20度数码管显示F
CJNE A,#140,COMP2
COMP2:JC COMP3 ;温度大于140度数码管显示F
COMP4:MOV 2AH,#0EH
MOV 2BH,#0EH
MOV 2CH,#0EH
COMP3:RET
;*************************************************************** BCD:MOV R1,#00H ;R1为BCD码百位寄存器
MOV R2,#00H ;R2为BCD码十位寄存器
CLR C
CHAN:SUBB A,#64H ;减100
JC CHAN1
INC R1
SJMP CHAN
CHAN1:ADD A,#64H