Penggunaan Layanan SMS Berbasis Mikrokontroler Untuk Deteksi Kebocoran Saluran Air dan Monitor Ketinggian Air.

ABSTRAK

Kantor atau pabrik yang sudah makan usia terkadang dapat menimbulkan
gangguan. Contoh paling nyata adalah pada pipa-pipa saluran air di suatu pabrik
mudah menyebabkan kebocoran. Masalah tersebut dapat menjadi besar ketika
kebocoran tersebut tidak terdeteksi, sehingga diperlukan alat yang dapat mendeteksi
dan memberikan peringatan jika terjadi kebocoran pada pipa-pipa saluran air.
Pada tugas akhir ini, direalisasikan suatu cara untuk mendeteksi kebocoran
pada pipa distribusi dan monitor ketinggian air. Pendeteksian dilakukan oleh
rangkaian komparator, yang akan mengirimkan sinyal pada mikrokontroler jika
terjadi kebocoran. SMS pemberitahuan akan dikirim ke telepon selular operator
melalui telepon selular yang terhubung dengan mikrokontroler. Sistem juga dapat
menerima perintah-perintah untuk mengaktifkan pompa dan selenoid valve.
Kebocoran mulai terdeteksi sampai dengan laporan kebocoran diterima
membutuhkan

waktu

rata-rata

16


detik,

dengan

menggunakan

operator

telekomunikasi yang berbeda. Mikrokontroler membutuhkan waktu rata-rata 6,03
detik untuk melaksanakan perintah yang diberikan dimulai dari SMS dikirim sampai
dengan perintah dijalankan, dengan menggunakan operator telekomunikasi yang
sama.

i

DAFTAR ISI

ABSTRAK ……………………………………………………………….. i
KATA PENGANTAR …………………………………………………… ii

DAFTAR ISI ……………………………………………………………... iv
DAFTAR GAMBAR .................................................................................. vii
DAFTAR TABEL ....................................................................................... viii
BAB I

PENDAHULUAN ……………………………………………... 1
1.1

Latar Belakang ……………………………………............ 1

1.2 Identifikasi Masalah ………………………………............ 2
1.3 Tujuan ……………………………………………............. 2
1.4 Pembatasan Masalah ……………………………............... 2
1.5 Spesifikasi Alat …………………………………............... 3
1.6

Sistematika Laporan ………………………………............ 3

BAB II LANDASAN TEORI ................................................................... 4
2.1 AT Command ...................................................................... 4

2.2

PDU Sebagai Bahasa SMS ................................................. 6
2.2.1

Pengkodean 7 Bit .................................................... 6

2.2.2

Format Pengiriman dan Penerimaan Pesan
SMS ......................................................................... 8

iv

2.3

Mikrokontroler Atmel AT89S8252 ................................. 11

2.4


Pembanding (Komparator) ............................................... 13

BAB III PERANCANGAN DAN REALISASI SISTEM ...................... 15
3.1 Perancangan dan Realisasi Perangkat Keras ................... 16
3.1.1

Rangkaian Sumber Tegangan .............................. 16

3.1.2 Rangkaian Mikrokontroler ................................... 17
3.1.3

Rangkaian Antarmuka Serial pada
Mikrokontroler ..................................................... 18

3.1.4

Rangkaian Sensor Deteksi Ketinggian ................. 19

3.2 Perancangan dan Realisasi Perangkat Lunak .................. 20
BAB IV UJI COBA DAN DATA PENGAMATAN .............................. 24


BAB V

4.1

Pengujian Perangkat Lunak ............................................. 24

4.2

Pengujian Perangkat Keras .............................................. 26
4.2.1

Pengujian Respon Mikrokontroler ....................... 26

4.2.2

Pengujian Respon Sistem ..................................... 35

KESIMPULAN DAN SARAN ................................................ 41
5.1


Kesimpulan ...................................................................... 41

5.2

Saran ................................................................................ 42

v

LAMPIRAN:

A. Tampilan Perangkat Keras ..................................... A-1
B. Source Perangkat Lunak ......................................... B-1
C. Skema Rangkaian ..................................................

C-1

D. Data Komponen ...................................................... D-1

vi


DAFTAR GAMBAR

2.1

Tata letak kaki-kaki AT89S8252 .................................................... 12

2.2

Rangkaian komparator .................................................................... 14

2.2

Karakteristik sinyal keluaran kompartor ......................................... 14

3.1

Diagram blok sistem ......................................................................

3.2


Rangkaian sumber tegangan ........................................................... 17

3.3

Rangkaian mikrokontroler .............................................................. 18

3.4

Rangkaian antarmuka serial pada mikrokontroler .......................... 19

3.5

Rangkaian sensor deteksi ketinggian .............................................. 19

3.6

Diagram alir perangkat lunak .......................................................... 20

3.7


Diagram alir pemeriksaan isi SMS dan eksekusinya ...................... 21

3.8

Diagram alir pemeriksaan kebocoran ............................................. 22

vii

15

DAFTAR TABEL

4.1

Format PDU dari pesan yang dikirim ............................................. 25

4.2

Format PDU dari pesan yang diterima ............................................ 26


4.3

Respon menyalakan pompa 1 ......................................................... 27

4.4

Respon mematikan pompa 1 ........................................................... 28

4.5

Respon menutup SV ....................................................................... 29

4.6

Respon membuka SV ...................................................................... 30

4.7

Respon menyalakan pompa 2 ......................................................... 31


4.8

Respon mematikan pompa 2 ........................................................... 32

4.9

Respon kebocoran ........................................................................... 33

4.10 Pengujian respon deteksi kebocoran ............................................... 34
4.11 Hasil ujicoba pengisian dari kosong sampai sensor 1 ..................... 35
4.12 Hasil ujicoba pengisian dari sensor 1 sampai sensor 1 ................... 36
4.13 Hasil ujicoba pengisian dari sensor 1 sampai sensor 3 ................... 36
4.14 Hasil ujicoba pengisian dari sensor 1 sampai sensor 4 ................... 37
4.15 Hasil uji pengosongan dari sensor 4 ............................................... 38
4.16 Hasil uji pengosongan dari sensor 3 ............................................... 38
4.17 Hasil uji pengosongan dari sensor 2 ............................................... 39
4.18 Hasil uji keberhasilan. ……………………………………………. 40

viii

Pendahuluan

BAB I
PENDAHULUAN

Short Massage Service (SMS) atau dikenal pula sebagai pesan singkat
merupakan salah satu fasilitas pada telepon selular. Kegunaan SMS tersebut dapat
dikembangkan sebagai sistem informasi dengan pengiriman data yang relatif cepat
dan jangkauan yang luas.

1.1

Latar Belakang
Kondisi fisik suatu kantor atau pabrik yang sudah cukup dimakan usia

terkadang dapat menimbulkan gangguan pada kinerja kantor tersebut atau proses
produksi di suatu pabrik. Contoh paling nyata adalah pada pipa-pipa saluran air di
suatu pabrik yang sudah dimakan usia mudah terjadi kebocoran. Masalah tersebut
dapat menjadi besar ketika kebocoran tersebut tidak terdeteksi, misalnya
kebocoran tersebut terjadi pada akhir minggu saat para karyawan sedang libur.
Sehingga saat karyawan masuk bekerja kembali pada awal minggu, pabrik sudah
dalam keadaan tergenang air.
Untuk itu diperlukan suatu cara untuk mendeteksi kebocoran tersebut.
Cara yang relatif sederhana adalah dengan melakukan inspeksi pada setiap pipapipa saluran air, tetapi cara tersebut tidak efektif dan akan memakan waktu
terutama jika pipa-pipa saluran air cukup banyak dan panjang. Cara lain yang
dapat dilakukan adalah dengan membuat suatu alat yang dapat mendeteksi dan
memberikan peringatan jika terjadi kebocoran pada pipa-pipa saluran air, alat
pendeteksi tersebut tetap bekerja dan dapat memberikan peringatan walaupun
karyawan sedang libur.

1

Pendahuluan

1.2

Identifikasi Masalah
Untuk

mengendalikan

mikrokontroler

dari

jarak

jauh

dengan

menggunakan layanan SMS terdapat masalah-masalah antara lain:


Dapatkah sistem mendeteksi dan memberikan laporan secara otomatis
ketika terjadi kebocoran pada pipa distribusi?



Apakah format layanan SMS dapat dimengerti oleh mikrokontroler?



Dapatkah mikrokontroler secara otomatis mengirimkan laporan melalui
SMS bila ketinggian air telah tercapai?

1.3

Tujuan
Tugas akhir ini bertujuan membuat suatu alat yang dapat mendeteksi

kebocoran pada pipa distribusi dan memonitor ketinggian air pada tangki
penampung. Laporan dengan fasilitas SMS diberikan melalui mikrokontroler.

1.4

Pembatasan Masalah
Dalam melaksanakan tugas akhir, ini masalah yang ada dibatasi menjadi

beberapa kriteria, yaitu:


Sistem distribusi air dibuat dalam bentuk miniatur.



Sensor deteksi ketinggian dibuat dengan menggunakan rangkaian
komparator.



Standar instruksi komunikasi antara telepon selular dan mikrokontroler
yang digunakan adalah standar AT-Command.

2

Pendahuluan

1.5

Spesifikasi Alat
Dalam pembuatan tugas akhir ini, alat-alat yang dipergunakan memiliki

spesifikasi sebagai berikut:


Mikrokontroler yang digunakan adalah buatan Atmel tipe AT89S8252.



Menggunakan satu buah telepon selular merk Siemens tipe C35.



Sensor deteksi ketinggian yang digunakan berupa rangkaian komparator.



Satu buah pompa aquarium buatan Resun tipe SP-3800 dengan kapasitas
2000 liter/jam.



Satu buah solenoid valve buatan SMC model VX2120.



Satu buah tangki dengan kapasitas 20 liter.

1.6

Sistematika Laporan
Penulisan tugas akhir ini bertujuan agar segala aktivitas yang dilakukan

dapat tersusun dalam bentuk laporan secara jelas, ringkas dan mudah dimengerti.
Sistematika penulisan laporan adalah sebagai berikut:
I. Bab I PENDAHULUAN
Bab ini membahas latar belakang, identifikasi masalah, tujuan, pembatasan
masalah, dan sistematika laporan pada tugas akhir ini.
II. Bab II TEORI PENUNJANG
Bab ini menjelaskan mengenai teori-teori dasar dari buku literatur yang
berhubungan dengan melaksanakan tugas akhir ini.
III. Bab III PERANCANGAN DAN REALISASI ALAT
Bab ini berisikan penjelasan cara-cara perancangan dan realisasi tugas
akhir ini.
IV. Bab IV UJI COBA DAN DATA PENGAMATAN
Bab ini berisikan data-data hasil pengujian dan pengamatan dari tugas
akhir.
V. Bab V KESIMPULAN DAN SARAN
Bab ini memaparkan kesimpulan yang didapat dari tugas akhir ini beserta
saran-saran untuk perbaikan dan pengembangan.

3

LAMPIRAN A
Tampilan Perangkat Keras

Gambar A.1 Foto Sistem secara keseluruhan

Gambar A.2 Foto Rangkaian

A-1

LAMPIRAN B
Source Perangkat Lunak

Lampiran B

;*******************************************************************
;Tugas Akhir : Penggunaan Layanan SMS Berbasis Mikrokontroler Untuk
;Deteksi Kebocoran Saluran Air Dan Monitor Ketinggian Air
;*******************************************************************

;P1.0
;P1.1
;P1.2
;P1.3

PORT
PORT
PORT
PORT

PENUNJUK HUB DGN HP
UTK POMPA1
UTK SV DI BLKNG POMPA2 UTK KEADAAN BOCOR
UTK SV DI DPN POMPA 2 UTK KONTROL ALIRAN

LJMP
NOP
RETI

START1

ORG
RETI

0BH

ORG
RETI

13H

ORG
RETI

1BH

ORG
RETI

23H

COMP:
LIST:
READ:
DELETE:
SEND:
SMSC:
SMSC_SENDER:
NO_SENDER:
DIKRM:

LAPORAN:

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

'A','T','+','C','P','M','S','?',0DH
'A','T','+','C','M','G','L','=','4',0DH
'A','T','+','C','M','G','R','='
'A','T','+','C','M','G','D','='
'A','T','+','C','M','G','S','='
'0','7','9','1','2','6','5','8','0','5','0','0'
'0','0','F','0'
'0','5','9','1','2','6','1','8','1','6','4','2'
'0','C','9','1','2','6','1','8','7','5','0','0'
'6','5','6','4'
'1','B','C','B','3','2','3','D','E','D','3','E'
'9','F','D','3','6','1','3','7'
'2','8','9','C','9','6','8','3','E','6','6','4'
'3','4','8','8','5','E','9','6'
'8','F','C','3','F','0','7','0','1','A'
'2','1','D','4','B','2','5','C','1','D','2','6'
'A','7','4','1','E','B','B','2'
'F','8','3','D','7','E','C','B','C','3','6','E'
'1','6','B','D','E','E','3','E'
'9','F','E','B','2','0','7','8','5','9','9','E'
'7','6','D','3','C','3','6','8'

B-1

Lampiran B

ISI_SMS1:

DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB

ISI_SMS2:
ISI_SMS3:
ISI_SMS4:
ISI_SMS5:
ISI_SMS6:
ISI_SMS7:
ISI_SMS8:

ISI_SMS9:

ISI_SMS10:

ISI_SMS11:

'0','9','C','9','7','9','1','A','0','4','2','F'
'B','B','E','B','6','8'
'0','7','C','9','7','9','1','A','2','4','7','B'
'C','D','0','0'
'0','7','C','9','7','9','1','A','1','4','7','B'
'C','9','0','0'
'0','7','C','2','F','A','3','A','0','C','9','A'
'5','A','0','1'
'0','8','D','4','3','A','B','D','0','E','0','7'
'4','D','A','D'
'0','B','C','2','F','A','3','A','0','C','0','A'
'B','3','D','3','F','2','B','0','1','B'
'0','C','D','4','3','A','B','D','0','E','0','7'
'8','5','D','9','6','9','7','9','D','8','0','D'
'0','E','5','3','2','B','6','8','4','E','4','6'
'8','3' 'E','8','6','5','B','9','B','8','B','E'
'0','E','0','3'
'0','F','5','3','2','B','6','8','4','E','4','6'
'8','3','E','8','6','5','3','9','B','D','4','E'
'A','F','C','3','0','1'
'2','6','D','4','B','0','F','B','B','C','4','E'
'8','3','D','6','E','F','F','9','D','B','7','D'
'6','6','8','5','D','9','6','9','7','9','D','8'
'0','D','0','A','A','7','E','5','A','0','3','9'
'1','9','0','D','2','2','A','7','D','B','6','1'
'7','A','7','A','1','D','7','6','0','3'
'0','5','D','2','F','2','B','C','4','C','0','7'

;*******************************************************************
;*
MAIN PROGRAM
;*******************************************************************
START1:

MOV
MOV
MOV
MOV

P2,#00H
P1,#00H
A,P2
B,A

START:

MOV
MOV
MOV
MOV
MOV
SETB
SETB
SETB
SETB

SCON,#40H
PCON,#80H
TMOD,#20H
TH1,#0FDH
TCON,#40H
P2.0
P2.1
P2.2
P2.3

B-2

Lampiran B

;*******************************************************************
;*
TDK ADA SMS,CEK KEBOCORAN
;*******************************************************************
CEK_AIR:

LCALL
CLR
MOV
ANL
CJNE
CPL
JMP

DELAY
A
A,P2
A,#00000001B
A,#00000001B,AIR_KSNG
P1.0
NO_SMS

AIR_KSNG:

CLR
SETB
LCALL
CLR
CLR
MOV
MOV
JMP

P1.3
P1.1
DELAY2
P1.1
A
A,P2
B,A
CEK_AIR

NO_SMS:

CLR
MOV
MOV
MOV
XRL
CJNE
JMP
JB
JMP

A
A,B
R0,#56H
@R0,P2
A,@R0
A,#00H,BOCOR
TUNGGU_PRNT
P1.3,TUNGGU_PRNT
KNDS_BCR

BOCOR:

;*******************************************************************
;*
BACA SEMUA SMS
;*******************************************************************
TUNGGU_PRNT:
CLR
MOV
MOV
LIST1:
MOV
MOVC
MOV
JNB
CLR
INC
CJNE
SETB
MOV

TI
R4,#00H
DPTR,#LIST
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
A,#0DH,LIST1
REN
R1,#80H

B-3

Lampiran B

;*******************************************************************
;
SMS DI INDEX & SIMPAN INDEX EEPROM
;*******************************************************************

EEWRT:

INDEX:

ORL
ORL
MOV
MOV

WMCON,#EEMEN
WMCON,#EEMWE
DPTR,#000H
R0,#80H

MOV
MOVX
LCALL
INC
DEC
INC

A,@R0
@DPTR,A
DELAY
DPTR
R1
R0

CJNE
XRL

R1,#80H,EEWRT
WMCON,#EEMWE

ORL
ORL
MOV

WMCON,#EEMEN
WMCON,#EEMWE
DPTR,#000H

MOVX
LCALL
INC
MOV
XRL
XRL

A,@DPTR
DELAY
DPTR
R3,A
WMCON,#EEMWE
WMCON,#EEMEN

JZ

CEK_AIR

B-4

Lampiran B

;*******************************************************************
;
BACA SMS SATU PERSATU
;*******************************************************************
BANDING1:

READ1:

LAGI4:

LAGI5:

CLR
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
CJNE
MOV
MOV
JNB
CLR
MOV
JNB
CLR

TI
R4,#00H
DPTR,#READ
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
A,#'=',READ1
A,R3
SBUF,A
TI,$
TI
SBUF,#13
TI,$
TI

SETB
MOV
MOV
JNB
MOV
CLR
CJNE
DEC
CJNE
JNB
MOV
CLR
MOV
INC
CJNE

REN
R0,#02H
R1,#5AH
RI,$
A,SBUF
RI
A,#0AH,LAGI4
R0
R0,#00H,LAGI4
RI,$
A,SBUF
RI
@R1,A
R1
A,#0DH,LAGI5

;*******************************************************************
;*
BANDINGKAN SMS CENTER PENGIRIM
;*******************************************************************

CSMSC1:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC

R5,#00H
R0,#59H
DPTR,#SMSC_SENDER
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5

B-5

Lampiran B

CSMSC2:

CJNE
SJMP
XRL
CJNE
SJMP

R5,#0DH,CSMSC2
NEXT1
A,@R0
A,#00H,LJT
CSMSC1

;*******************************************************************
;*
BANDINGKAN NO PENGIRIM
;*******************************************************************
NEXT1:

CNOS:

CNOS2:

LJT:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#67H
DPTR,#NO_SENDER
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#11H,CNOS2
NEXT2
A,@R0
A,#00H,LJT
CNOS

LCALL HAPUS
JMP
CEK_AIR

;*******************************************************************
;*
BANDINGKAN ISI SMS: ISI PENUH
;*******************************************************************
NEXT2:

CISI:

CISI1:

ISIPNH:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#89H
DPTR,#ISI_SMS1
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#13H,CISI1
ISIPNH
A,@R0
A,#00H,NEXT3
CISI

LCALL HAPUS
SETB P1.1
JB
P2.1,ISIPNH

B-6

Lampiran B

JB
P2.2,ISIPNH
JB
P2.3,ISIPNH
LCALL DELAY1
LCALL DELAY1
LCALL DELAY1
CLR
P1.1
MOV
B,#01H
LCALL DELAY2
;******************************************************
;
LAPORAN KETINGGIAN TERCAPAI
;******************************************************
LCALL KIRIM
LCALL SMS_SUM1
LCALL WAIT
LCALL SMSC_OP
LCALL TYPE
LCALL NOMOR
LCALL TIME
MOV
DPTR,#DIKRM
LCALL DTA1
MOV
SBUF,#26
JNB
TI,$
CLR
TI
JMP
CEK_AIR

;*******************************************************************
;*
BANDINGKAN ISI SMS: ISI 2/3
;*******************************************************************
NEXT3:

CISI2:

CISI3:

ISI2_3:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#89H
DPTR,#ISI_SMS2
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#11H,CISI3
ISI2_3
A,@R0
A,#00H,NEXT4
CISI2

LCALL
SETB
JB
JB
LCALL
LCALL
LCALL

HAPUS
P1.1
P2.1,ISI2_3
P2.2,ISI2_3
DELAY1
DELAY1
DELAY1

B-7

Lampiran B

CLR
P1.1
MOV
B,#09H
LCALL DELAY2
;******************************************************
;
LAPORAN KETINGGIAN TERCAPAI
;******************************************************
LCALL KIRIM
LCALL SMS_SUM1
LCALL WAIT
LCALL SMSC_OP
LCALL TYPE
LCALL NOMOR
LCALL TIME
MOV
DPTR,#DIKRM
LCALL DTA1
MOV
SBUF,#26
JNB
TI,$
CLR
TI
JMP
CEK_AIR

;*******************************************************************
;*
BANDINGKAN ISI SMS: ISI 1/2
;*******************************************************************
NEXT4:

CISI4:

CISI5:

ISI1_2:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#89H
DPTR,#ISI_SMS3
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#11H,CISI5
ISI1_2
A,@R0
A,#00H,NEXT5
CISI4

LCALL
SETB
JB
LCALL
LCALL
LCALL
CLR
MOV
LCALL

HAPUS
P1.1
P2.1,ISI1_2
DELAY1
DELAY1
DELAY1
P1.1
B,#0DH
DELAY2

B-8

Lampiran B

;******************************************************
;
LAPORAN KETINGGIAN TERCAPAI
;******************************************************
LCALL KIRIM
LCALL SMS_SUM1
LCALL WAIT
LCALL SMSC_OP
LCALL TYPE
LCALL NOMOR
LCALL TIME
MOV
DPTR,#DIKRM
LCALL DTA1
MOV
SBUF,#26
JNB
TI,$
CLR
TI
JMP
CEK_AIR

;*******************************************************************
;*
BANDINGKAN ISI SMS: BUKA ALIRAN
;*******************************************************************
NEXT5:

CISI6:

CISI7:

ISI_BKSV:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#89H
DPTR,#ISI_SMS6
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#17H,CISI7
ISI_BKSV
A,@R0
A,#00H,NEXT6
CISI6

LCALL HAPUS
SETB P1.3
JMP
CEK_AIR

;*******************************************************************
;*
BANDINGKAN ISI SMS: TUTUP ALIRAN
;*******************************************************************
NEXT6:

CISI8:

MOV
MOV
MOV
MOV
MOV
MOVC

R5,#00H
R0,#89H
DPTR,#ISI_SMS7
R4,#00H
A,R4
A,@A+DPTR

B-9

Lampiran B

INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R0
R4
R5
R5,#19H,CISI9
ISI_TTPSV
A,@R0
A,#00H,LJT1
CISI8

ISI_TTPSV:

LCALL
CLR
MOV
MOV
JMP

HAPUS
P1.3
A,P2
B,A
CEK_AIR

LJT1:

LCALL HAPUS
JMP
CEK_AIR

CISI9:

;*******************************************************************
;
SEND A SMS
;*******************************************************************
KIRIM:

CLR
CLR
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
CJNE
RET

RI
TI
R4,#00H
DPTR,#SEND
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
A,#'=',KRM1

SMS_SUM1:

MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'3'
TI,$
TI
SBUF,#'7'
TI,$
TI
SBUF,#0DH
TI,$
TI

SMS_SUM2:

MOV
JNB
CLR
MOV
JNB

SBUF,#'4'
TI,$
TI
SBUF,#'2'
TI,$

KRM1:

B-10

Lampiran B

CLR
MOV
JNB
CLR
RET

TI
SBUF,#0DH
TI,$
TI

SMS_SUM3:

MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'2'
TI,$
TI
SBUF,#'7'
TI,$
TI
SBUF,#0DH
TI,$
TI

SMS_SUM4:

MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'2'
TI,$
TI
SBUF,#'6'
TI,$
TI
SBUF,#0DH
TI,$
TI

SMS_SUM5:

MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'4'
TI,$
TI
SBUF,#'7'
TI,$
TI
SBUF,#0DH
TI,$
TI

SMS_SUM6:

MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'1'
TI,$
TI
SBUF,#'8'
TI,$
TI
SBUF,#0DH
TI,$
TI

WAIT:

CLR
SETB

RI
REN

B-11

Lampiran B

WT1:

JNB
MOV
CLR
CJNE
RET

RI,$
A,SBUF
RI
A,#0DH,WT1

SMSC_OP:

MOV
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET

R5,#00H
DPTR,#SMSC
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#10H,OP1

TYPE:

MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'0'
TI,$
TI
SBUF,#'1'
TI,$
TI
SBUF,#'0'
TI,$
TI
SBUF,#'0'
TI,$
TI

NOMOR:

MOV
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET

R5,#00H
DPTR,#NO_SENDER
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#10H,NM1

MOV
JNB
CLR
MOV
JNB
CLR

SBUF,#'0'
TI,$
TI
SBUF,#'0'
TI,$
TI

OP1:

NM1:

TIME:

B-12

Lampiran B

DTA1:
DT1:

DTA2:
DT2:

DTA3:
DT3:

DTA4:
DT4:

MOV
JNB
CLR
MOV
JNB
CLR
RET

SBUF,#'0'
TI,$
TI
SBUF,#'0'
TI,$
TI

MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET

R5,#00H
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#32H,DT1

MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET

R5,#00H
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#3CH,DT2

MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET

R5,#00H
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#1EH,DT3

MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC

R5,#00H
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4

B-13

Lampiran B

DTA5:
DT5:

DTA6:
DT6:

INC
CJNE
RET

R5
R5,#1CH,DT4

MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
INC
CJNE
RET

R5,#00H
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#46H,DT5
R5,#00H
R4,#00H
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
R5
R5,#0CH,DT6

;*******************************************************************
;*
HAPUS SMS
;*******************************************************************
HAPUS:

DEL1:

CLR
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
CJNE
MOV
MOV
JNB
CLR
MOV
JNB
CLR
LCALL
RET

TI
R4,#00H
DPTR,#DELETE
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
A,#'=',DEL1
A,R3
SBUF,A
TI,$
TI
SBUF,#13
TI,$
TI
DELAY

B-14

Lampiran B

;*******************************************************************
;*
DELAY
;*******************************************************************
DELAY:
ULANG2:
ULANG1:
ULANG:

MOV
MOV
MOV
INC
CJNE
INC
CJNE
INC
CJNE
RET

R7,#0
R6,#0
R5,#0
R5
R5,#15H,ULANG
R6
R6,#15H,ULANG1
R7
R7,#15H,ULANG2

DELAY1:
ULANG5:
ULANG4:
ULANG3:

MOV
MOV
MOV
INC
CJNE
INC
CJNE
INC
CJNE
RET

R7,#0
R6,#0
R5,#0
R5
R5,#40H,ULANG3
R6
R6,#40H,ULANG4
R7
R7,#40H,ULANG5

DELAY2:
ULANG8:
ULANG7:
ULANG6:

MOV
MOV
MOV
INC
CJNE
INC
CJNE
INC
CJNE
RET

R7,#0
R6,#0
R5,#0
R5
R5,#90H,ULANG6
R6
R6,#90H,ULANG7
R7
R7,#90H,ULANG8

;*******************************************************************
;*
JIKA KEBOCORAN TERJADI
;*******************************************************************
KNDS_BCR:
LCALL
LCALL
LCALL
LCALL
LCALL
LCALL
LCALL
MOV

KIRIM
SMS_SUM2
WAIT
SMSC_OP
TYPE
NOMOR
TIME
DPTR,#LAPORAN

B-15

Lampiran B

LCALL
MOV
JNB
CLR

DTA2
SBUF,#26
TI,$
TI

;*******************************************************************
;*
CEK SMS DATANG
;*******************************************************************
TUNGGU_PRNT2:
CLR
MOV
MOV
LIST4:
MOV
MOVC
MOV
JNB
CLR
INC
CJNE
SETB
MOV
LIST5:

LIST6:

EEWRT1:

TI
R4,#00H
DPTR,#LIST
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
A,#0DH,LIST4
REN
R1,#80H

JNB
MOV
CLR
CJNE
JNB
MOV
CLR
MOV
INC
CJNE
CLR
ORL
ORL
MOV
MOV
MOV
MOV
MOVX
LCALL
INC
DEC
INC
INC
CJNE
XRL
XRL

RI,$
A,SBUF
RI
A,#20H,LIST6
RI,$
A,SBUF
RI
@R1,A
R1
A,#4BH,LIST5
REN
WMCON,#EEMEN
WMCON,#EEMWE
DPTR,#000H
R0,#80H
R2,#00H
A,@R0
@DPTR,A
DELAY
DPTR
R1
R0
R2
R1,#80H,EEWRT1
WMCON,#EEMWE
WMCON,#EEMEN

ORL

WMCON,#EEMEN

B-16

Lampiran B

INDEX2:
INDEX3:

ORL
MOV
PUSH
PUSH
CJNE
JMP
POP
POP
MOVX
LCALL
INC
PUSH
PUSH
MOV
DEC
XRL
XRL

WMCON,#EEMWE
DPTR,#000H
DPL
DPH
R2,#00H,INDEX3
TUNGGU_PRNT2
DPH
DPL
A,@DPTR
DELAY
DPTR
DPL
DPH
R3,A
R2
WMCON,#EEMWE
WMCON,#EEMEN

;*******************************************************************
;
BACA SMS YG DATANG
;*******************************************************************
BANDING2:

READ2:

LAGI6:

LAGI7:

CLR
MOV
MOV
MOV
MOVC
MOV
JNB
CLR
INC
CJNE
MOV
MOV
JNB
CLR
MOV
JNB
CLR

TI
R4,#00H
DPTR,#READ
A,R4
A,@A+DPTR
SBUF,A
TI,$
TI
R4
A,#'=',READ2
A,R3
SBUF,A
TI,$
TI
SBUF,#13
TI,$
TI

SETB
MOV
MOV
JNB
MOV
CLR
CJNE
DEC
CJNE
JNB
MOV

REN
R0,#02H
R1,#5AH
RI,$
A,SBUF
RI
A,#0AH,LAGI6
R0
R0,#00H,LAGI6
RI,$
A,SBUF

B-17

Lampiran B

CLR
MOV
INC
CJNE

RI
@R1,A
R1
A,#0DH,LAGI7

;*******************************************************************
;*
BANDINGKAN SMS CENTER PENGIRIM
;*******************************************************************

CSMSC3:

CSMSC4:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#59H
DPTR,#SMSC_SENDER
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#0DH,CSMSC4
NEXT7
A,@R0
A,#00H,LJTA
CSMSC3

;*******************************************************************
;*
BANDINGKAN NO PENGIRIM
;*******************************************************************
NEXT7:

CNOS3:

CNOS4:

LJTA:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#67H
DPTR,#NO_SENDER
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#11H,CNOS4
NEXT8
A,@R0
A,#00H,LJTA
CNOS3

LCALL HAPUS
JMP
TUNGGU_PRNT2

B-18

Lampiran B

;*******************************************************************
;*
BANDINGKAN ISI SMS: BUKA SV
;*******************************************************************
NEXT8:

CISI10:

CISI11:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#89H
DPTR,#ISI_SMS4
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#11H,CISI11
TTPSV
A,@R0
A,#00H,NEXT9
CISI10

;*******************************************************************
;*
BANDINGKAN ISI SMS: TUTUP SV
;*******************************************************************
NEXT9:

CISI12:

CISI13:

MOV
MOV
MOV
MOV
MOV
MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

R5,#00H
R0,#89H
DPTR,#ISI_SMS5
R4,#00H
A,R4
A,@A+DPTR
R0
R4
R5
R5,#11H,CISI13
BUKASV
A,@R0
A,#00H,NEXT10
CISI12

;*******************************************************************
;*
BANDINGKAN ISI SMS: RESET
;*******************************************************************
NEXT10:

CISI14:

MOV
MOV
MOV
MOV
MOV

R5,#00H
R0,#89H
DPTR,#ISI_SMS11
R4,#00H
A,R4

B-19

Lampiran B

CISI15:

MOVC
INC
INC
INC
CJNE
SJMP
XRL
CJNE
SJMP

A,@A+DPTR
R0
R4
R5
R5,#0DH,CISI15
RST
A,@R0
A,#00H,LJTB
CISI14

BUKASV:

LCALL DELAY
LCALL HAPUS
CLR
P1.2
;******************************************************
;
LAPORAN KONDISI SV DITUTUP
;******************************************************
LCALL DELAY2
LCALL KIRIM
LCALL SMS_SUM3
LCALL WAIT
LCALL SMSC_OP
LCALL TYPE
LCALL NOMOR
LCALL TIME
MOV
DPTR,#ISI_SMS9
LCALL DTA3
MOV
SBUF,#26
JNB
TI,$
CLR
TI
JMP
TUNGGU_PRNT2

TTPSV:

LCALL DELAY
LCALL HAPUS
SETB P1.2
CLR
P1.2
SETB P1.2
;******************************************************
;
LAPORAN KONDISI SV DIBUKA
;******************************************************
LCALL DELAY2
LCALL KIRIM
LCALL SMS_SUM4
LCALL WAIT
LCALL SMSC_OP
LCALL TYPE
LCALL NOMOR
LCALL TIME
MOV
DPTR,#ISI_SMS8
LCALL DTA4
MOV
SBUF,#26
JNB
TI,$
CLR
TI

B-20

Lampiran B

JMP

TUNGGU_PRNT2

LJTB:

LCALL HAPUS
LCALL DELAY
JMP
TUNGGU_PRNT2

RST:

LCALL
SETB
MOV
MOV
JMP

DELAY
P1.2
A,P2
B,A
AWAL

;*******************************************************************
;*
AKHIR PROGRAM
;*******************************************************************
AKH:
NOP
SJMP
END;

AKH

B-21

LAMPIRAN C
Skema Rangkaian

Lampiran C

C-1

Lampiran C

C-2

LAMPIRAN D
Data Komponen

Features
• Compatible with MCS®51 Products
• 8K Bytes of In-System Reprogrammable Downloadable Flash Memory
















– SPI Serial Interface for Program Downloading
– Endurance: 1,000 Write/Erase Cycles
2K Bytes EEPROM
– Endurance: 100,000 Write/Erase Cycles
4V to 6V Operating Range
Fully Static Operation: 0 Hz to 24 MHz
Three-level Program Memory Lock
256 x 8-bit Internal RAM
32 Programmable I/O Lines
Three 16-bit Timer/Counters
Nine Interrupt Sources
Programmable UART Serial Channel
SPI Serial Interface
Low-power Idle and Power-down Modes
Interrupt Recovery from Power-down
Programmable Watchdog Timer
Dual Data Pointer
Power-off Flag

8-bit
Microcontroller
with 8K Bytes
Flash
AT89S8252

Description
The AT89S8252 is a low-power, high-performance CMOS 8-bit microcontroller with 8K
bytes of downloadable Flash programmable and erasable read-only memory and 2K
bytes of EEPROM. The device is manufactured using Atmel’s high-density nonvolatile
memory technology and is compatible with the industry-standard 80C51 instruction
set and pinout. The on-chip downloadable Flash allows the program memory to be
reprogrammed In-System through an SPI serial interface or by a conventional nonvolatile memory programmer. By combining a versatile 8-bit CPU with downloadable
Flash on a monolithic chip, the Atmel AT89S8252 is a powerful microcontroller, which
provides a highly-flexible and cost-effective solution to many embedded control
applications.
The AT89S8252 provides the following standard features: 8K bytes of downloadable
Flash, 2K bytes of EEPROM, 256 bytes of RAM, 32 I/O lines, programmable watchdog
timer, two data pointers, three 16-bit timer/counters, a six-vector two-level interrupt
architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition,
the AT89S8252 is designed with static logic for operation down to zero frequency and
supports two software selectable power saving modes. The Idle Mode stops the CPU
while allowing the RAM, timer/counters, serial port, and interrupt system to continue
functioning. The Power-down mode saves the RAM contents but freezes the oscillator,
disabling all other chip functions until the next external interrupt or hardware reset.
The downloadable Flash can be changed a single byte at a time and is accessible
through the SPI serial interface. Holding RESET active forces the SPI bus into a serial
programming interface and allows the program memory to be written to or read from
unless lock bits have been activated.

0401F–MICRO–11/03

1

Pin Configurations
TQFP
VCC
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)
P2.4 (A12)
P2.3 (A11)
P2.2 (A10)
P2.1 (A9)
P2.0 (A8)

44
43
42
41
40
39
38
37
36
35
34

40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21

(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
NC
(TXD) P3.1
(INT0) P3.2
(INT1) P3.3
(T0) P3.4
(T1) P3.5

33
32
31
30
29
28
27
26
25
24
23

1
2
3
4
5
6
7
8
9
10
11

P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
NC
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)

12
13
14
15
16
17
18
19
20
21
22

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

(WR) P3.6
(RD) P3.7
XTAL2
XTAL1
GND
GND
(A8) P2.0
(A9) P2.1
(A10) P2.2
(A11) P2.3
(A12) P2.4

(T2) P1.0
(T2 EX) P1.1
P1.2
P1.3
(SS) P1.4
(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
(TXD) P3.1
(INT0) P3.2
(INT1) P3.3
(T0) P3.4
(T1) P3.5
(WR) P3.6
(RD) P3.7
XTAL2
XTAL1
GND

P1.4 (SS)
P1.3
P1.2
P1.1 (T2 EX)
P1.0 (T2)
NC
VCC
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)

PDIP

39
38
37
36
35
34
33
32
31
30
29

18
19
20
21
22
23
24
25
26
27
28

7
8
9
10
11
12
13
14
15
16
17

P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
EA/VPP
NC
ALE/PROG
PSEN
P2.7 (A15)
P2.6 (A14)
P2.5 (A13)

(WR) P3.6
(RD) P3.7
XTAL2
XTAL1
GND
NC
(A8) P2.0
(A9) P2.1
(A10) P2.2
(A11) P2.3
(A12) P2.4

(MOSI) P1.5
(MISO) P1.6
(SCK) P1.7
RST
(RXD) P3.0
NC
(TXD) P3.1
(INT0) P3.2
(INT1) P3.3
(T0) P3.4
(T1) P3.5

6
5
4
3
2
1
44
43
42
41
40

P1.4 (SS)
P1.3
P1.2
P1.1 (T2 EX)
P1.0 (T2)
NC
VCC
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)

PLCC

Pin Description
VCC

Supply voltage.

GND

Ground.

Port 0

Port 0 is an 8-bit open drain bi-didirectional I/O port. As an output port, each pin can
sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as highimpedance inputs.
Port 0 can also be configured to be the multiplexed low-order address/data bus during
accesses to external program and data memory. In this mode, P0 has internal pull-ups.
Port 0 also receives the code bytes during Flash programming and outputs the code
bytes during program verification. External pull-ups are required during program
verification.

Port 1

2

Port 1 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 1 output buffers
can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high
by the internal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups.

AT89S8252
0401F–MICRO–11/03

AT89S8252
Block Diagram
P0.0 - P0.7

P2.0 - P2.7

PORT 0 DRIVERS

PORT 2 DRIVERS

VCC

GND

EEPROM

RAM ADDR.
REGISTER

B
REGISTER

PORT 0
LATCH

RAM

PORT 2
LATCH

FLASH

PROGRAM
ADDRESS
REGISTER

STACK
POINTER

ACC

BUFFER
TMP2

TMP1

PC
INCREMENTER

ALU
INTERRUPT, SERIAL PORT,
AND TIMER BLOCKS

PROGRAM
COUNTER

PSW

PSEN
ALE/PROG
EA / VPP

TIMING
AND
CONTROL

DUAL
DPTR

INSTRUCTION
REGISTER

RST
WATCH
DOG

PORT 3
LATCH

PORT 1
LATCH

SPI
PORT

PROGRAM
LOGIC

OSC
PORT 3 DRIVERS

P3.0 - P3.7

PORT 1 DRIVERS

P1.0 - P1.7

3
0401F–MICRO–11/03

Some Port 1 pins provide additional functions. P1.0 and P1.1 can be configured to be
the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger input
(P1.1/T2EX), respectively.
Furthermore, P1.4, P1.5, P1.6, and P1.7 can be configured as the SPI slave port select,
data input/output and shift clock input/output pins as shown in the following table.
Port Pin

Alternate Functions

P1.0

T2 (external count input to Timer/Counter 2), clock-out

P1.1

T2EX (Timer/Counter 2 capture/reload trigger and direction control)

P1.4

SS (Slave port select input)

P1.5

MOSI (Master data output, slave data input pin for SPI channel)

P1.6

MISO (Master data input, slave data output pin for SPI channel)

P1.7

SCK (Master clock output, slave clock input pin for SPI channel)

Port 1 also receives the low-order address bytes during Flash programming and
verification.

Port 2

Port 2 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 2 output buffers
can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high
by the internal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pull-ups.
Port 2 emits the high-order address byte during fetches from external program memory
and during accesses to external data memory that use 16-bit addresses (MOVX @
DPTR). In this application, Port 2 uses strong internal pull-ups when emitting 1s. During
accesses to external data memory that use 8-bit addresses (MOVX @ RI), Port 2 emits
the contents of the P2 Special Function Register.
Port 2 also receives the high-order address bits and some control signals during Flash
programming and verification.

Port 3

Port 3 is an 8-bit bi-directional I/O port with internal pull-ups. The Port 3 output buffers
can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high
by the internal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pull-ups.
Port 3 receives some control signals for Flash programming and verification.
Port 3 also serves the functions of various special features of the AT89S8252, as shown
in the following table.

4

AT89S8252
0401F–MICRO–11/03

AT89S8252
Port Pin

Alternate Functions

P3.0

RXD (serial input port)

P3.1

TXD (serial output port)

P3.2

INT0 (external interrupt 0)

P3.3

INT1 (external interrupt 1)

P3.4

T0 (timer 0 external input)

P3.5

T1 (timer 1 external input)

P3.6

WR (external data memory write strobe)

P3.7

RD (external data memory read strobe)

RST

Reset input. A high on this pin for two machine cycles while the oscillator is running
resets the device.

ALE/PROG

Address Latch Enable is an output pulse for latching the low byte of the address during
accesses to external memory. This pin is also the program pulse input (PROG) during
Flash programming.
In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and
may be used for external timing or clocking purposes. Note, however, that one ALE
pulse is skipped during each access to external data memory.
If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the
bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is
weakly pulled high. Setting the ALE-disable bit has no effect if the microcontroller is in
external execution mode.

PSEN

Program Store Enable is the read strobe to external program memory.
When the AT89S8252 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during
each access to external data memory.

EA/VPP

External Access Enable. EA must be strapped to GND in order to enable the device to
fetch code from external program memory locations starting at 0000H up to FFFFH.
Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset.
EA should be strapped to VCC for internal program executions. This pin also receives the
12-volt programming enable voltage (VPP) during Flash programming when 12-volt programming is selected.

XTAL1

Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2

Output from the inverting oscillator amplifier.

5
0401F–MICRO–11/03

19-4323; Rev 14; 8/04

+5V-Powered, Multichannel RS-232
Drivers/Receivers
The MAX220–MAX249 family of line drivers/receivers is
intended for all EIA/TIA-232E and V.28/V.24 communications interfaces, particularly applications where ±12V is
not available.
These parts are especially useful in battery-powered systems, since their low-power shutdown mode reduces
power dissipation to less than 5µW. The MAX225,
MAX233, MAX235, and MAX245/MAX246/MAX247 use
no external components and are recommended for applications where printed circuit board space is critical.

Next-Generation
Device Features
♦ For Low-Voltage, Integrated ESD Applications
MAX3222E/MAX3232E/MAX3237E/MAX3241E/
MAX3246E: +3.0V to +5.5V, Low-Power, Up to
1Mbps, True RS-232 Transceivers Using Four
0.1µF External Capacitors (MAX3246E Available
in a UCSP™ Package)
♦ For Low-Cost Applications
MAX221E: ±15kV ESD-Protected, +5V, 1µA,
Single RS-232 Transceiver with AutoShutdown™

________________________Applications

Ordering Information

Portable Computers

PART
MAX220CPE
MAX220CSE
MAX220CWE
MAX220C/D
MAX220EPE
MAX220ESE
MAX220EWE
MAX220EJE
MAX220MJE

Low-Power Modems
Interface Translation
Battery-Powered RS-232 Systems
Multidrop RS-232 Networks

AutoShutdown and UCSP are trademarks of Maxim Integrated
Products, Inc.

TEMP RANGE
0°C to +70°C
0°C to +70°C
0°C to +70°C
0°C to +70°C
-40°C to +85°C
-40°C to +85°C
-40°C to +85°C
-40°C to +85°C
-55°C to +125°C

PIN-PACKAGE
16 Plastic DIP
16 Narrow SO
16 Wide SO
Dice*
16 Plastic DIP
16 Narrow SO
16 Wide SO
16 CERDIP
16 CERDIP

Ordering Information continued at end of data sheet.
*Contact factory for dice specifications.

Selection Table
Part
Number
MAX220
MAX222
MAX223 (MAX213)
MAX225
MAX230 (MAX200)
MAX231 (MAX201)
MAX232 (MAX202)
MAX232A
MAX233 (MAX203)
MAX233A
MAX234 (MAX204)
MAX235 (MAX205)
MAX236 (MAX206)
MAX237 (MAX207)
MAX238 (MAX208)
MAX239 (MAX209)
MAX240
MAX241 (MAX211)
MAX242
MAX243
MAX244
MAX245
MAX246
MAX247
MAX248
MAX249

Power
Supply
(V)
+5
+5
+5
+5
+5
+5 and
+7.5 to +13.2
+5
+5
+5
+5
+5
+5
+5
+5
+5
+5 and
+7.5 to +13.2
+5
+5
+5
+5
+5
+5
+5
+5
+5
+5

No. of
RS-232
Drivers/Rx
2/2
2/2
4/5
5/5
5/0
2/2

No. of
Ext. Caps
4
4
4
0
4
2

Nominal
Cap. Value
(µF)
0.047/0.33
0.1
1.0 (0.1)

1.0 (0.1)
1.0 (0.1)

SHDN
& ThreeState
No
Yes
Yes
Yes
Yes
No

Rx
Active in
SHDN







Data Rate
(kbps)
120
200
120
120
120
120

2/2
2/2
2/2
2/2
4/0
5/5
4/3
5/3
4/4
3/5

4
4
0
0
4
0
4
4
4
2

1.0 (0.1)
0.1


1.0 (0.1)

1.0 (0.1)
1.0 (0.1)
1.0 (0.1)
1.0 (0.1)

No
No
No
No
No
Yes
Yes
No
No
No












120 (64)
200
120
200
120
120
120
120
120
120

5/5
4/5
2/2
2/2
8/10
8/10
8/10
8/9
8/8
6/10

4
4
4
4
4
0
0
0
4
4

1.0
1.0 (0.1)
0.1
0.1
1.0



1.0
1.0

Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
Yes












120
120
200
200
120
120
120
120
120
120

Features
Ultra-low-power, industry-standard pinout
Low-power shutdown
MAX241 and receivers active in shutdown
Available in SO
5 drivers with shutdown
Standard +5/+12V or battery supplies;
same functions as MAX232
Industry standard
Higher slew rate, small caps
No external caps
No external caps, high slew rate
Replaces 1488
No external caps
Shutdown, three state
Complements IBM PC serial port
Replaces 1488 and 1489
Standard +5/+12V or battery supplies;
single-package solution for IBM PC serial port
DIP or flatpack package
Complete IBM PC serial port
Separate shutdown and enable
Open-line detection simplifies cabling
High slew rate
High slew rate, int. caps, two shutdown modes
High slew rate, int. caps, three shutdown modes
High slew rate, int. caps, nine operating modes
High slew rate, selective half-chip enables
Available in quad flatpack package

________________________________________________________________ Maxim Integrated Products

For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at
1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com.

1

MAX220–MAX249

General Description

MAX220–MAX249

+5V-Powered, Multichannel RS-232
Drivers/Receivers
ABSOLUTE MAXIMUM RATINGS—MAX220/222/232A/233A/242/243
Supply Voltage (VCC) ...............................................-0.3V to +6V
V+ (Note 1) ..................................................(VCC - 0.3V) to +14V
V- (Note 1) .............................................................+0.3V to +14V
Input Voltages
TIN..............................................................-0.3V to (VCC - 0.3V)
RIN (Except MAX220) ........................................................±30V
RIN (MAX220).....................................................................±25V
TOUT (Except MAX220) (Note 2) .......................................±15V
TOUT (MAX220)...............................................................±13.2V
Output Voltages
TOUT ...................................................................................±15V
ROUT .........................................................-0.3V to (VCC + 0.3V)
Driver/Receiver Output Short Circuited to GND.........Continuous
Continuous Power Dissipation (TA = +70°C)
16-Pin Plastic DIP (derate 10.53mW/°C above +70°C)..842mW

18-Pin Plastic DIP (derate 11.11mW/°C above +70°C)..889mW
20-Pin Plastic DIP (derate 8.00mW/°C above +70°C) ..440mW
16-Pin Narrow SO (derate 8.70mW/°C above +70°C) ...696mW
16-Pin Wide SO (derate 9.52mW/°C above +70°C)......762mW
18-Pin Wide SO (derate 9.52mW/°C above +70°C)......762mW
20-Pin Wide SO (derate 10.00mW/°C above +70°C)....800mW
20-Pin SSOP (derate 8.00mW/°C above +70°C) ..........640mW
16-Pin CERDIP (derate 10.00mW/°C above +70°C).....800mW
18-Pin CERDIP (derate 10.53mW/°C above +70°C).....842mW
Operating Temperature Ranges
MAX2_ _AC_ _, MAX2_ _C_ _ .............................0°C to +70°C
MAX2_ _AE_ _, MAX2_ _E_ _ ..........................-40°C to +85°C
MAX2_ _AM_ _, MAX2_ _M_ _ .......................-55°C to +125°C
Storage Temperature Range .............................-65°C to +160°C
Lead Temperature (soldering, 10s) (Note 3) ...................+300°C

Note 1: For the MAX220, V+ and V- can have a maximum magnitude of 7V, but their absolute difference cannot exceed 13V.
Note 2: Input voltage measured with TOUT in high-impedance state, SHDN or VCC = 0V.
Note 3: Maximum reflow temperature for the MAX225_WI and MAX233A_WP is +220°C.
Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.

ELECTRICAL CHARACTERISTICS—MAX220/222/232A/233A/242/243
(VCC = +5V ±10%, C1–C4 = 0.1µF‚ MAX220, C1 = 0.047µF, C2–C4 = 0.33µF, TA = TMIN to TMAX‚ unless otherwise noted.)
PARAMETER

CONDITIONS

MIN

TYP

MAX

UNITS

RS-232 TRANSMITTERS
Output Voltage Swing

All transmitter outputs loaded with 3kΩ to GND

±5

Input Logic Threshold Low
Input Logic Threshold High

All devices except MAX220
MAX220: VCC = 5.0V

2

SHDN = 0V, MAX222/MAX242, shutdown,
MAX220

±0.01

±1

VCC = 5.5V, SHDN = 0V, VOUT = ±15V,
MAX222/MAX242

±0.01

±10

±0.01

±10

VOUT = ±15V
MAX220, VOUT = ±12V

µA

µA

±25

Data Rate

200
VCC = V+ = V- = 0V, VOUT = ±2V

300

10M

VOUT = 0V

±7

±22

VOUT = 0V

V
V

40

VCC = SHDN = 0V

Output Short-Circuit Current

1.4
5

Output Leakage Current

Transmitter Output Resistance

V
0.8

2.4

All except MAX220, normal operation
Logic Pullup/lnput Current

±8
1.4

116

kbps


MAX220

±60

MAX220

±30
±25

mA

RS-232 RECEIVERS
RS-232 Input Voltage Operating Range
RS-232 Input Threshold Low

VCC = 5V

RS-232 Input Threshold High

VCC = 5V

2

All except MAX243 R2IN

0.8

MAX243 R2 IN (Note 4)

-3

1.3

V

All except MAX243 R2IN

1.8

2.4

MAX243 R2 IN (Note 4)

-0.5

-0.1

_______________________________________________________________________________________

V

V

+5 V-Pow e re d, M ult ic ha nne l RS-2 3 2
Drive rs/Re c e ive rs
(VCC = +5V ±10%, C1–C4 = 0.1µF‚ MAX220, C1 = 0.047µF, C2–C4 = 0.33µF, TA = TMIN to TMAX‚ unless otherwise noted.)

PARAMETER

RS-232 Input Hysteresis

CONDITIONS
All except MAX220/MAX243, VCC = 5V, no
hysteresis in SHDN

MIN

TYP

MAX

0.2

0.5

1

MAX220

RS-232 Input Resistance
TTL/CMOS Output Voltage Low
TTL/CMOS Output Voltage High

1

TA = +25°C (MAX220)

3

5

7

3

5

7

0.2

0.4

IOUT = 3.2mA
IOUT = 1.6mA (MAX220)
IOUT = -1.0mA

0.4
3.5

VCC - 0.2

Sourcing VOUT = GND

-2

-10

10

30

EN Input Threshold Low

Shrinking VOUT = VCC
SHDN = VCC or EN = VCC (SHDN = 0V for
MAX222), 0V ≤ VOUT ≤ VCC
MAX242

EN Input Threshold High

MAX242

2.0

TTL/CMOS Output Short-Circuit Current
TTL/CMOS Output Leakage Current

Operating Supply Voltage

VCC Supply Current (SHDN = VCC),
figures 5, 6, 11, 19

Shutdown Supply Current

3kΩ load both
inputs

MAX222/
MAX242

±10

1.4

0.8

1.4
5.5

MAX222/MAX232A/MAX233A/
MAX242/MAX243

4

10

MAX220

12

MAX222/MAX232A/MAX233A/
MAX242/MAX243

15

TA = +25°C

0.1

V
V

µA

10

TA = 0°C to +70°C

2

50

TA = -40°C to +85°C

2

50

TA = -55°C to +125°C

35

100
±1

µA

1.4

0.8

V

MAX222/MAX242
MAX222/MAX242

SHDN Threshold High

MAX222/MAX242

Transition Slew Rate

CL = 50pF to
MAX222/MAX232A/MAX233/
2500pF, RL = 3kΩ MAX242/MAX243
to 7kΩ, VCC = 5V,
TA = +25°C,
MAX220
measured from
+3V to -3V or -3V
MAX222/MAX232A/MAX233/
MAX242/MAX243
MAX220
tPLHT

µA

V
2

SHDN Threshold Low

Transmitter Propagation Delay TLL to
RS-232 (Normal Operation), Figure 1

V

mA

0.5

SHDN Input Leakage Current

tPHLT

KΩ

V

±0.05

4.5
MAX220
No load

V

0.3

MAX243

UNITS

MAX222/MAX232A/MAX233/
MAX242/MAX243
MAX220

2.0

1.4

6

12

µA

V
30
V/µs

1.5

3

30

1.3

3.5

4

10

1.5

3.5

5

10

µs

Note 4: MAX243 R2OUT is guaranteed to be low when R2IN is ≥ 0V or is floating.
_______________________________________________________________________________________

3

M AX 2 2 0 –M AX 2 4 9

ELECTRICAL CHARACTERISTICS—MAX220/222/232A/233A/242/243 (continued)

ELECTRICAL CHARACTERISTICS—MAX220/222/232A/233A/242/243 (continued)
(VCC = +5V ±10%, C1–C4 = 0.1µF‚ MAX220, C1 = 0.047µF, C2–C4 = 0.33µF, TA = TMIN to TMAX‚ unless otherwise noted.)
PARAMETER

TYP

MAX

CONDITIONS
MAX222/MAX232A/MAX233/
MAX242/MAX243

0.5

1

MAX220

0.6

3

MAX222/MAX232A/MAX233/
MAX242/MAX243

0.6

1

MAX220

0.8

3

tPHLS

MAX242

0.5

10

tPHLS

MAX242

2.5

10

Receiver-Output Enable Time, Figure 3

tER

MAX242

125

500

ns

Receiver-Output Disable Time, Figure 3

tDR

MAX242

160

500

ns

Transmitter-Output Enable Time (SHDN
Goes High), Figure 4

tET

MAX222/MAX242, 0.1µF
caps (includes charge-pump
start-up)

250

µs

Transmitter-Output Disable Time (SHDN
Goes Low), Figure 4

tDT

MAX222/MAX242,
0.1µF caps

600

ns

MAX222/MAX232A/MAX233/
MAX242/MAX243

300

MAX220

2000

MAX222/MAX232A/MAX233/
MAX242/MAX243

100

MAX220

225

tPHLR
Receiver Propagation Delay RS-232 to
TLL (Normal Operation), Figure 2
tPLHR

Receiver Propagation Delay RS-232 to
TLL (Shutdown), Figure 2

MIN

UNITS

µs

µs

Transmitter + to - Propagation Delay
Difference (Normal Operat