Diagram Pengendalian Jarak Jauh Telepon Seluler (Lanjutan)
Friday, February 19, 2010
Drafting Software
The software is built using the language asembler, based on flow charts that have been compiled in Fig. Some pieces of the program used to handle the system is as follows.
To provide stand-by mode to HP will be sent commands AT + CNMI = 1.1. This command is sent to HP with the serial data transfer, the following program snippet illustrates the data transmission.
;———————
; AKTIVASI MODE STANBY
;———————
MODE_STANBY:
MOV DPTR,#PESAN ;KIRIM PERINTAH ‘AT+CNMI=1,1′
LAGI2:
CLR A ;RESET ACC
MOVC A,@A+DPTR ;AMBIL KARAKTER DARI TABEL
CLR TI ;AKTIVASI KIRIM SERIAL
MOV SBUF,A ;KELUARKAN DATA DARI ACC KE BUFFER
JNB TI,$ ;KIRIM SERIAL
INC DPTR ;NAIKKAN PENUNJUK TABEL
CJNE A,#00,LAGI2 ;TUNGGU SEMUA KARAKTER SELESAI
RET
;—————————————
PESAN:
DB ‘AT+CNMI=1,1′,13,10
DB 0
Jika ada SMS yang masuk, maka sistem akan membaca isi SMS dengan memberikan perintah AT+CMGR=1. Potongan program berikut digunakan untuk membaca isi SMS pada alamat 1.
;——————–
;SUB RUTIN BACA SMS
;——————–
BACA_SMS:
MOV DPTR,#SMSREAD ;BACA SMS
ACALL KIRIM_DATA ;KIRIM PERINTAH ‘AT+CMGR=1′
RET
Isi sms akan diproses apakah sesuai dengan kata kunci atau tidak, jika sesuai dengan kata kunci maka perintah akan dieksekusi. Jika terjadi error maka sistem akan memberikan SMS balasan ke user. Untuk membandingkan data SMS yang masuk dengan kata kunci maka digunakan potongan program berikut.
BANDING:
MOV DPTR,#L1ON ;AMBIL CODE PDU ‘DTE 1 ON’
MOV R0,#16 ;BANDNGKAN 12X
ACALL BANDING_KATA
JB 20H,DATA_BEDA2 ;JIKA BEDA LOMPAT KE LABEL
MOV 21H,#01 ;FLAG UNTUK ‘DTE 1 ON’
CLR LAMPU1
JMP SSS
DATA_BEDA2:
MOV DPTR,#L2ON ;BANDINGKAN APAKAH DATA
MOV R0,#16 ;’DTE 2 ON’?
ACALL BANDING_KATA
JB 20H,DATA_BEDA3
MOV 21H,#02 ;FLAG UNTUK ‘DTE 2 ON’
CLR LAMPU2
JMP SSS
;——————————–
L1ON: DB ‘08446A1114033D9D’
L2ON: DB ‘08446A1124033D9D’
L1OFF: DB ‘09446A1114033D8D46′
L2OFF: DB ‘09446A1124033D8D46′
Kode SMS
To give order to the system, not all known by SMS capable system. SMS only certain known that could have been adjusted by the system. Various plans kode-kode SMS are presented in Tabel below.
Plan Kode SMS
No
Isi SMS
Status
Kegunaan
1
DTE 1 ON
Valid
Menyalakan lampu 1
2
DTE 2 ON
Valid
Menyalakan lampu 2
3
DTE 1 OFF
Valid
Memadamkan lampu 1
4
DTE 2 OFF
Valid
Memadamkan lampu 2
5
CEK STATUS
Valid
Melihat status lampu 1 & 2
6
Lampu 1 on
Invalid
Pesan error (UNKNOW COMMAND)
7
Lampu 2 on
Invalid
Pesan error (UNKNOW COMMAND)
The software is built using the language asembler, based on flow charts that have been compiled in Fig. Some pieces of the program used to handle the system is as follows.
To provide stand-by mode to HP will be sent commands AT + CNMI = 1.1. This command is sent to HP with the serial data transfer, the following program snippet illustrates the data transmission.
;———————
; AKTIVASI MODE STANBY
;———————
MODE_STANBY:
MOV DPTR,#PESAN ;KIRIM PERINTAH ‘AT+CNMI=1,1′
LAGI2:
CLR A ;RESET ACC
MOVC A,@A+DPTR ;AMBIL KARAKTER DARI TABEL
CLR TI ;AKTIVASI KIRIM SERIAL
MOV SBUF,A ;KELUARKAN DATA DARI ACC KE BUFFER
JNB TI,$ ;KIRIM SERIAL
INC DPTR ;NAIKKAN PENUNJUK TABEL
CJNE A,#00,LAGI2 ;TUNGGU SEMUA KARAKTER SELESAI
RET
;—————————————
PESAN:
DB ‘AT+CNMI=1,1′,13,10
DB 0
Jika ada SMS yang masuk, maka sistem akan membaca isi SMS dengan memberikan perintah AT+CMGR=1. Potongan program berikut digunakan untuk membaca isi SMS pada alamat 1.
;——————–
;SUB RUTIN BACA SMS
;——————–
BACA_SMS:
MOV DPTR,#SMSREAD ;BACA SMS
ACALL KIRIM_DATA ;KIRIM PERINTAH ‘AT+CMGR=1′
RET
Isi sms akan diproses apakah sesuai dengan kata kunci atau tidak, jika sesuai dengan kata kunci maka perintah akan dieksekusi. Jika terjadi error maka sistem akan memberikan SMS balasan ke user. Untuk membandingkan data SMS yang masuk dengan kata kunci maka digunakan potongan program berikut.
BANDING:
MOV DPTR,#L1ON ;AMBIL CODE PDU ‘DTE 1 ON’
MOV R0,#16 ;BANDNGKAN 12X
ACALL BANDING_KATA
JB 20H,DATA_BEDA2 ;JIKA BEDA LOMPAT KE LABEL
MOV 21H,#01 ;FLAG UNTUK ‘DTE 1 ON’
CLR LAMPU1
JMP SSS
DATA_BEDA2:
MOV DPTR,#L2ON ;BANDINGKAN APAKAH DATA
MOV R0,#16 ;’DTE 2 ON’?
ACALL BANDING_KATA
JB 20H,DATA_BEDA3
MOV 21H,#02 ;FLAG UNTUK ‘DTE 2 ON’
CLR LAMPU2
JMP SSS
;——————————–
L1ON: DB ‘08446A1114033D9D’
L2ON: DB ‘08446A1124033D9D’
L1OFF: DB ‘09446A1114033D8D46′
L2OFF: DB ‘09446A1124033D8D46′
Kode SMS
To give order to the system, not all known by SMS capable system. SMS only certain known that could have been adjusted by the system. Various plans kode-kode SMS are presented in Tabel below.
Plan Kode SMS
No
Isi SMS
Status
Kegunaan
1
DTE 1 ON
Valid
Menyalakan lampu 1
2
DTE 2 ON
Valid
Menyalakan lampu 2
3
DTE 1 OFF
Valid
Memadamkan lampu 1
4
DTE 2 OFF
Valid
Memadamkan lampu 2
5
CEK STATUS
Valid
Melihat status lampu 1 & 2
6
Lampu 1 on
Invalid
Pesan error (UNKNOW COMMAND)
7
Lampu 2 on
Invalid
Pesan error (UNKNOW COMMAND)