; (c) elabz.in
; free8051projects.blogspot.com
$NOMOD51
$INCLUDE (89S52.MCU)
ADCSTART EQU P3.6
ADCDATA EQU P2
ORG 0H
JMP MAIN
ORG 30H
MAIN:
CALL INIT
MOV R1,#0
AGAIN:
MOV A,#0CH
CALL TX
MOV DPTR,#MES1
CALL MESSSEND
MOV DPTR,#MES2
CALL MESSSEND
; CALL DELAY
MOV A,P2
MOV B,#100
DIV AB
ADD A,#30H
CALL TX
MOV A,B
MOV B,#10
DIV AB
ADD A,#30H
CALL TX
MOV A,B
ADD A,#30H
CALL TX
; MOV A,#20H
; CALL TX
MOV A,#60H
CALL TX
MOV A,#43H
CALL TX
CALL DELAY
JMP AGAIN
INIT:
CLR ADCSTART
CALL DELAY
SETB ADCSTART
MOV TMOD,#21H;;;;;;;;;;;;;9600BAUD RATE,8-BIT,1-STOP BIT;;;;;;;;;;;;;;
MOV TH1,#0FDH
MOV SCON,#50H
SETB TR1
RET
MESSSEND:
DD1:CLR A
MOVC A,@A+DPTR
CJNE A,#0FFH,CONT1
RET
CONT1:
MOV SBUF,A
JNB TI,$
CLR TI
INC DPTR
SJMP DD1
TX:
MOV SBUF,A
JNB TI,$
CLR TI
RET
DELAY:
MOV R7,#10D
L2: MOV R6,#100D
L1:
CALL DEL
DJNZ R6,L1
DJNZ R7,L2
RET
DEL:
CLR CPRL2
CLR CT2
MOV TL2,#7CH
MOV TH2,#0FCH
SETB TR2
JNB TF2,$
CLR TR2
CLR TF2
RET;
MES1: DB 09H,09H,"TEMPERATURE MEASUREMENT AND DISPLAY IN PC ",0AH,0AH,0DH,255
MES2: DB "THE TEMPERATURE IS : ",255
END