Upload
agung-elek
View
4
Download
3
Embed Size (px)
Citation preview
;P2 : ALAMAT ADC
;P1 : DATA ADC
$MOD51
ORG 0H
SJMP MAIN
ORG 23H
ACALL SER_INT
RETI
MAIN :
MOV SP,#07H
ACALL INIT_SER
MOV P2,#0H
MOV DPTR,#STRING
MOV R6,#57
MOV R7,#46
ACALL SER_TULIS
ACALL T_PILIH
START :
MOV IE,#90H
INTRO :
CJNE R6,#57,LANJUT
SJMP INTRO
WHILE1 :
CJNE R6,#57,LANJUT
MOV IE,#0H
ACALL T_PILIH
MOV IE,#90H
STOP :
CJNE R6,#57,LANJUT
SJMP STOP
LANJUT :
MOV IE,#0H
ACALL T_DATA
MOV IE,#90H
ACALL DELAY
SJMP WHILE1
INIT_SER :
MOV IE,#0H ; |EA|-|ET2|ES|ET1|EX1|ET0|EX0|
MOV SCON,#50H ; |SM0|SM1|SM2|REN|TB8|RB8|TI|RI|
MOV TH1,#0FDH
MOV PCON,#80H ; |SMOD|-|-|-|GF1|GF0|PD|IDL|
MOV TMOD,#20H ; |||||||||
MOV TCON,#40H ; |TF1|TR1|TF0|TRO|||||
RET
SER_INT :
ACALL RX_BYTE
MOV R6,A
RETI
RX_BYTE :
JNB RI,RX_BYTE
MOV A,SBUF
CLR RI
RET
TX_BYTE :
MOV SBUF,A
TX_WAIT :
JNB TI,TX_WAIT
CLR TI
RET
T_PILIH :
MOV DPTR,#PILIH
MOV R7,#24
ACALL SER_TULIS
RET
T_DATA :
MOV DPTR,#D_KANAL
MOV R7,#17
ACALL SER_TULIS
MOV A,#' '
ACALL TX_BYTE
MOV A,#'['
ACALL TX_BYTE
MOV A,R6
ACALL BIN2ASCII
MOV A,#']'
ACALL TX_BYTE
MOV DPTR,#SPACE
MOV R7,#3
ACALL ALAMAT
ACALL SER_TULIS
MOV A,P1
ACALL BIN2ASCII
ACALL TX_BYTE
MOV A,B
ACALL TX_BYTE
RET
ALAMAT :
MOV A,R6
SUBB A,#48
MOV P2,A
RET
BIN2ASCII :
MOV B,#100
DIV AB
ADD A,#48
ACALL TX_BYTE
MOV A,B
MOV B,#10
DIV AB
ADD A,#48
ACALL TX_BYTE
MOV A,B
ADD A,#48
ACALL TX_BYTE
MOV A,#0
RET
SER_TULIS :
PUSH ACC
MOV A,#0
NEXT_CHAR :
PUSH ACC
MOVC A,@A+DPTR
ACALL TX_BYTE
POP ACC
INC A
DJNZ R7,NEXT_CHAR
POP ACC
RET
DELAY:
MOV R4,#70H
DELAY1:
DJNZ R3,$
DJNZ R4,DELAY1
RET
STRING :
DB 'Remote Data Acquisition',13
DB 'NIAM TAMAMI',13
DB '7108040016'
PILIH :
DB 13,13,'Pilih Kanal Input ADC '
D_KANAL :
DB 13,'Data Input Kanal '
SPACE :
DB ' = '
END