Pewaktu Timer 555 Port I O Serial

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