Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
•
RST pin 9
Reset akan aktif dengan memberikan input high selama 2 cycle. •
ALEPROG pin 30
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program
PROG selama memprogram Flash. •
PSEN pin 29
Program store enable digunakan untuk mengakses memori program eksternal.
•
EA pin 31
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem di-
reset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat
tegangan 12 Volt. •
XTAL1 pin 19
Input untuk clock internal. •
XTAL2 pin 18
Output dari osilator.
2.1.2 Pewaktu Timer 555
IC 555 merupakan pewaktu timer yang sangat serbaguna sehingga dapat dipakai untuk berbagai penerapan. Dengan menambahkan beberapa resistor dan
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
kapasitor, IC ini dapat berfungsi sebagai multivibrator, picu scimit, untuk modulasi lebar pulsa dan penundaan waktu time delay pulsa.
2.1.2. a Gambar Diagram blok pewaktu timer 555
Multivibrator astabil dapat menghasilkan aliran aliran pulsa yang kotiniu, berbentuk segi empat yang dapat berada pada dua keadaan. Akan tetapi keadaan
kedua pulsa-pulsa yang dihasilkan tidak berada pada keadaan stabil. Kapasitor C mengisi muatan melalui tahanan R1 dan R2, sedangkan pengosongan muatan
hanya melalui tahanan R2. Dalam mode ini, tegangan kapasitor dalam melakukan pengisian dan pengosongan berada diantara 13 dan 23 Vcc.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Gambar 2.1.2 b Rangkaian Multivibrator Astabil
2.1.3 Port I O Serial
Port I O serial yang dimiliki oleh MCS – 51 memiliki Karakteristik full duplexdapat memulai penerimaan data yang kedua sebelum data yang pertama
dibaca dari register pembacaan.
Port Serial dapat bekerja dalam 4 mode :
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Mode 0 :
Pada mode ini data serial diterima dan dikirim lewat pin RXD,sedangkan pin TXD berfungsi untuk mengirimkan shift clock.Data yang diterima dan
dikirim adalah selebar 8 bit dengan bit terendah dikirimkan diterima pertama kali.Kecepatan pengiriman baud rate adalah tetap sebesar 112
frekuensi osilator.
Mode 1 :
Pada mode ini data bit dikirim diterima dengan 2 bit tambahan,dengan urutan:
a. start bit logika 0 ,
b. 8 bit data dengan bit terendah di depan ,
c. 1 stop bit logika 1 .
Pada saat penerimaan,stop bit masuk pada bit RB8 pada register SCON salah satu special function register .Baud rate pada mode ini
adalah variabel.
Mode 2 :
Pada mode ini data 8 bit dikirimditerima dengan 3 bit tambahan dengan urutan :
start bit logika 0 ,
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
8 bit data dengan bit terendah di depan
1 stop bit logika 1 .
Pada saat pengiriman,bit yang dapat deprogram adalah bit yang terdapat pada bit TB8 pada register SCON.Pada saat penerimaan,bit yang dapat
deprogram masuk pada bit RB8 pada register SCON salah satu special function register .Baud rate pada mode ini adalah 132 atau 164 frekuensi
osilator.
Mode 3 :
Pada mode ini data 8 bit dikirimditerima dengan 3 bit tambahan dengan urutan :
Start bit logika 0 ,
8 bit data dengan bit terendah didepan ,
1 bit tambahan yang dapat diprogram,
1 stop bit logika 1 .
Mode ini persis sama dengan mode 2 kecuali baud rate-nya yang variabel.
Pembacaan dan Penulisan Port Serial
Pengiriman data pada port serial dapat dilakukan dengan cara menuliskan data tersebut keregister SBUF salah satu special function
register SFR . Penerimaan data serial adalah melalui pembacaan register SBUF.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Pengaturan Baud Rate
Baud rate adalah kecepatan data transmisi serial,berupa banyaknya transisis logika pada saluran data serial tiap detik.Semakin
besar nilai baud rate,maka semakin cepat proses pengirimanpenerimaan data serial.
Pada mode 0, baud rate adalah tetap sebesar 112 frekuensi osilator.Bit SMOD pada register PCON menentukan baud rate pada Mode
2. Untuk SMOD = 1 baud rate adalah 164 frekuensi osilator,dan jika SMOD = 0 maka baud ratenya adalah 164 frekuensi osilator.Baud rate
untuk mode 1 dan 3 ditentukan oleh kecepatan overflow pada Timer 1 dan Timer 2 satu timer untuk pengiriman dan satu lagi untuk
peneriman.Dengan demikian dimungkinkan penerimaan dan pengiriman data dengan kecepatan yang berbeda. Namun perlu diingat bahwa fasilitas
ini hanya dipunyai oleh type 8052 karena type 8051 tidak memiliki Timer 2.
Baud rate untuk mode 1 dan 3 ditentukan oleh persamaan : Baud rate = 2
SMOD
x Timer 1 overflow rate 32
Konfigurasi timer 1 yang diperlukan untuk menjalankan fungsi di atas adalah :
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
• timer dijalankan pada operasi “ timer “ atau “counter”,dengan mode
1,2 atau 3.
• Timer 1 interrupt dinuat tidak bekerja disabled .
Kombinasi baud rate yang mungkin adalah sebagaimana pada tabel berikut :
Tabel 2.1.2 Kombinasi Pemilihan Baud Rate Baud
Rate f
OSC SMOD
Timer1
C-T Mode
Reload
Mode 0 Max:1Mhz
12Mhz X
X X
X
Mode 2 Max:375K
12Mhz 1
2 X
Mode1,3:62,5K 12Mhz
1 2
FFh 19,2k
11.059Mhz 1
2 FDh
9,6k 11.059Mhz
2 FDh
4,8k 11.059Mhz
2 FAh
2,4k 11.059Mhz
2 F4h
1,2k 11.059Mhz
2 E8h
137,5k 11.968Mhz
2 1Dh
110k 6Mhz
2 72h
110k 12Mhz
1 FEEBh
Konfigurasi Timer 2 yang berfungsi sebagai baud rate generator adalah : •
Bit TCLK dan atau RCLK pada register T2CON diset.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Jika RCLK = 1 maka serial port menggunakan pulsa Timer 2 overflow untuk baud rate penerimaan data.Sebaliknya jika RCLK = 0 maka
serial port menggunakan pulsa Timer 1 overflow. Jika TCLK = 1 maka serial Pot menggunakan pulsa timer 2 overflow
untuk baud rate pengiriman data. Sebaliknya jika TC:LK = 0 maka seial pot menggunakan pulsa timer 1 overflow
• Mode untuk baud rate generator seperti pada mode pada auto – reload,
yaitu adanya overflow pada register timer TH2 menyebabkan dimuadnya kembali data 16 bit yang ada register RCAP 2 H dan RCAP 2L ke TH2
dan TL2 baud ret yang dihasilkan mengikuti persamaan : Baud rate = 1 x Timer 2 overflow rate
16
• Timer 2 interrupt tidak perlu dinon aktifkan.
Komunikasi dengan banyak prosessor
Serial pot yang dimiliki oleh mikrokontroler MCS-51 memungkinkan dijalankannya komunikasi dengan lebih dari 2 mikrokontroler pada jalur kabel
komunikasi yang sama multiprocessor comunication. Fasilitas yanng unik ini dimungkinkan oleh adanya bit ke – 9 pada komunikasi serial pot dengan mode 2
dan 3 yang dapat diprogram lewat bit TB8 bit yang terkirim RB8 bit yang diterima pada register SCON. Mikrokontroler MCS51 dapat dikonfigurasikan
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
agar mengaktifkan sinyal interupsi jika bit ke-9 ini bit RB8 adalah’ 1’. Hal ini diperoleh dengan cara memberikan nilai ‘1’ pada bit SM2 diregister scon. Cara
kierja komunikasi dengan banyak prosesor ini adalah sebagai berikut.
• Sebuah mikrokontroler pusat dapat mengirimkan dara atau adress ke
mikrokontroler-mikrokontroler lainnya pada jalur data serial pot. Untuk memberdakan anatara data dengan adress, maka pada bit ke -9 ditentukan
‘0’ untuk data dan ‘1; untuk adress.
• Andaikan ada 5 buah mikrokontroler dengan adres masing-masing 1,2,3,4
dan 5. mikrokonreoler pusatnya adalah yang beradress 1. jika mikrokontroler pusat ingin berkomunikasi dengan mikrokontroler laian,
dia cukup mengawalinya dengan mengirimkan 8 bit adress mikrokontroler yang dingin dihubungi dan bit ke-9 di set’1’.
• Dengan adanya bit ke-9 yang berharga ‘1’ dan karena SM2 pada masing –
masing SCON-nya diset ‘1’, maka pada semua mikrokontroler bawahan akan terbang kesinyal interup.
• Program pelayanan interup dibuat sedemikian rupa untuk mengecek data
adress yang masuk apkah menunjuk pada mikrokontroler yang bersangkutan. Jika demikian maka mikrokontroler tersebut akan diaktifkan
oleh mikrokontroler pusat, selanjutnya menunggu pengiriman data selanjutnya dan menjalankan proses sesuai dengan perintah dari
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
mikrokontroler pusat jika adressnya bukan menunjukkan mikrokontroler yang bersangkutan, maka pengiriman data selanjutnya diabaikan dan
program pelayanan interup selesai. Instruksi program :
MOV Mov Immediate Data to Inderect Adress
Operand : Rr Register 0= r =1
: data -256 = data = +255 format
: MOV Rr, data operasi
: Rr - data keterangan : instruklsi ini akan memindahkan data 8 bit secara
langsung kelokasi yang ditunjukkan oleh isi register r. Contoh
: MOV R 1 , 01 H.
JB jump If Bit Is Set
Operand : Alamat Bit 0= alamat bit = 255
: alamat kode format
: JB alamat bit, alamat kode operasi
: PC - PC +3 : Jika alamat bit = 1, maka PC - PC +
Offset relative.
Keterangan : Intruksi ini akan menguji suatu alamat bit. Jika
berisi 1,ekesekusi akan menuju alamat kode, jika
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
tidak, intruksi selanjutnya akan dieksekusi. Pencacah program akan dinaikkan pada intruksi
selanjutnya. Jika pengujian berhasil, offset relatif akan ditambahkan kepencacah program yang telah
dinaikkan dan intruksi pada alamat ini akan dieksekusi.
JZ Jump If Akumulator is Zero
Operand : alamat kode
format : JZ alamat kode
operasi : PC - PC +2
: Jika A = 0, maka PC - PC + Offset relatif Keterangan
: intruksi ini akan menguji isi akumulator . jika = 0, eksekusi akan menuju ke alamat kode. Juka tidak
= 0, intruksi selanjutnya yang akan dieksekusi.
CJNE compare indirect adress to inmediate data
Jump if not equal Operand : Rr
Register 0= r =1 : data -256 = data = +255
: alamat kode format
: CJNE Rr, data, alamat kode operasi
: PC - PC +3 : Jika Rr data, maka PC-PC+ offset relatif
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
: Jika Rr data, maka C - 1, : Lainnya C -0
Keterangan : Instruksi ini akan membandingkan data langsung dengan lokasi memori yang dialamati oleh register r. apabila
tidak sama, intruksi selanjutnya yang akan dijalankan. Jika data langsung lebih besar dari isi alamat data tertentu,
Carry flag akan di-set menjadi 1 Contoh
: CJNE R1, 01 H, 0009 H
DJNZ Decrement Register And Jump If Not Zero
Operand : Rr
Register 0= r =7 : alamat kode
format : DJNZ Rr, alamat kode
operasi : PC - PC +2
: Rr -Rr-1 : Jika Rr 0, maka PC -PC+ offset relatif
Keterangan : Instruksi ini mengurangi register r dengan 1 dan
menempatkan hasilnya pada register tertentu. Jika hasilnya sudah 0, instruksi selanjutnya yang akan
dieksekusi. Jika belum 0, eksekusi akan menuju ke alamat kode.
SETB set bit
Operand : alamat bit 0= alamat bit = 255
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
format : SETB alamat bit
operasi : alamat bit -1
Keterangan: Instruksi ini akan men – set isi suatu alamat bit menjadi 1 Contoh
: SETB 41 . 5
CLR Clear Bit
Operand : alamat bit 0= alamat bit = 255
format : CLR alamat bit
operasi : alamat bit -0
Keterangan: Instruksi ini akan men – set isi suatu alamat bit menjadi 00H
Contoh : CLR 40.5
2.1.4. Gerbang NAND