• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. 2.1.Hardware Mikrokontroler AT89S51

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. 2.1.Hardware Mikrokontroler AT89S51"

Copied!
26
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1.Hardware

2.1.1 Mikrokontroler AT89S51

Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih serta dalam bidang pendidikan.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Microcontroller hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artiROM-nya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada Microcontroller yang bersangkutan.

Microcontroller AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis Microcontroller ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan. Pada prinsipnya program

(2)

pada Microcontroller dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh microcontroller AT89S51 adalah sebagai berikut :  Sebuah Central Processing Unit 8 bit

 Osilatc : internal dan rangkaian pewaktu  RAM internal 128 byte

 Flash memori 4 Kbyte

 Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)

 Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O

 Sebuah port serial dengan kontrol serial full duplex UART  Kemampuan untuk melaksanakan operasi aritmatika dan oper

 Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.

2.1.2 Kontruksi AT89S51

Microcontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89S51 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum

24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja Microcontroller.

Memori merupakan bagian yang sangat penting pada Microcontroller. Microkontroller memiliki dua macam memori yang sifatnya berbeda.

(3)

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program.

Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk Microcontroller dengan program yang sudah baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC Microcontroller dicetak dipabrik IC. Untuk keperluan tertentu Microcontroller menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program untuk mengendalikan Microcontroller diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer.Memori data yang disediakan dalam chip AT*(S51 sebesar 128 kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai.

(4)

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).

2.1.3. Pin-Pin pada Microcontroller AT89S51

Deskripsi pin-pin pada Microcontroller AT89S51 :

Gambar 2.1. IC Mikrokontroler AT89S51

VCC (Pin 40)

Suplai tegangan

GND (Pin 20)

(5)

Port 0 (Pin 39-Pin 32)Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex

address/data ataupun penerima kode byte pada saat flash progamming Pada fungsi

sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai internal pull up.terutama pada saat verifikasi program.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2

special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input

dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Tabel 2.1. Pin-Pin pada Microcontroller AT89S51

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 eksternal) P3.3 (pin 13) INT1 (interrupt 1 eksternal) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle.

(6)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam Flash.

PSEN (pin 29)

Progam store enable digunakan untuk mengakses memori progam eksternal.

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal.

XTAL2 (pin 18)

Output dari osilator .

2.1.4. Relay

Relay adalah suatu rangkaian switch magnetik yang bekerja bila mendapat catu dan suatu rangkaian trigger. Relay memiliki tegangan dan arus nominal yang harus dipenuhi output rangkaian pendriver atau pengemudinya. Arus yang digunakan pada rangkaian adalah arus DC.

Konstruksi dalam suatu relay terdiri dari lilitan kawat (coil) yang dililitkan pada inti besi lunak. Jika lilitan kawat mendapatkan aliran arus, inti besi lunak kontak menghasilkan medan magnet dan menarik switch kontak. Switch kontak mengalami gaya listrik magnet sehingga berpidah posisi ke kutub lain atau terlepas dari kutub asalnya. Keadaan ini akan bertahan selama arus mengalir pada kumparan relay. Dan relay akan kembali keposisi semula yaitu normaly ON atau Normaly OFF, bila tidak ada lagi arus yang mengalir padanya, posisi normal relay tergantung pada jenis relay yang digunakan. Dan pemakaian jenis relay tergantung pada kadaan yang diinginkan dalam suatu rangkaian.

(7)

Menurut kerjanya relay dapat dibedakan menjadi :

a. Normaly Open (NO), saklar akan tertutup bila dialiri arus b. Normaly Close (OFF), saklar akan tertutup bila dialiri arus

c. Change Over (CO), relay ini mempunyai saklar tunggal yang nomally tertutup yang lama, bila kumparan 1 dialiri arus maka saklar akan terhubung ke terminal A, sebaliknya bila kumparan 2 dialiri arus maka saklar akan terhubung keterminal B. Analogi rangkaian relay yang digunakan pada tugas akhir ini adalah saat basis transistor ini dialiri arus, maka transistor dalam keadaan tertutup yang dapat menghubungkan arus dari kolektor ke emiter yang mengakibatkan relay terhubung. Sedangkan fungsi dioda disini adalah untuk melindungi transistor dari tegangan induksi berlebih, dimana tegangan ini dapat merusak transistor.Jika transistor pada basis tidak ada arus maju, transistor terbuka sehingga arus tidak mengalir dari kolektor ke emiter, relay tidak bekerja karena tidak ada arus yang mengalir pada gulungan kawat.

Bentuk relay yang digunakan ada bentuk relay dengan rangkaian driver dapat dilihat pada gambar2.1.4.

Gambar 2.2. Simbol Relay dan Rangkaian Driver

2.1.5. RS 232

Vcc

Tr VB

Dioda

(8)

Standar RS232 ditetapkan oleh Electronic Industry Association and

Telecomunication Industry Association pada tahun 1962. Nama lengkapnya adalah EIA/TIA-232 Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange. Meskipun namanya cukup

panjang tetapi standar ini hanya menyangkut komunikasi data antara komputer dengan alat-alat pelengkap komputer. Ada dua hal pokok yang diatur standar RS232, antara lain adalah :

• Bentuk sinyal dan level tegangan yang dipakai.

RS232 dibuat pada tahun 1962, jauh sebelum IC TTL populer, oleh karena itu level tegangan yang ditentukan untuk RS232 tidak ada hubungannya dengan level tegangan TTL, bahkan dapat dikatakan jauh berbeda. Berikut perbedaan antara level tegangan RS232 dan TTL :

Gambar 2.3. Perbedaan antara level tegangan RS232 dan TTL

Penentuan • jenis sinyal dan konektor yang dipakai, serta susunan sinyal pada kaki- kaki di konektor. Beberapa parameter yang ditetapkan EIA (Electronics Industry

Association) antara lain:

(9)

• Sebuah ‘tanda’ (logika 1) antara tegangan -3 s/d -25 volt • Daerah tegangan antara +3 s/d -3 volt tidak didefenisikan

• Tegangan rangkaian terbuka tidak boleh lebih dari 25 volt (dengan acuan ground)

• Arus hubung singkat rangkaian tidak boleh lebih dari 500 mA.

Sebuah penggerak (driver) harus mampu menangani arus ini tanpa mengalami kerusakan. Selain mendeskripsikan level tegangan seperti yang dibahas di atas, standard RS232 menentukan pula jenis-jenis sinyal yang dipakai mengatur pertukaran informasi antara DTE dan DCE, semuanya terdapat 24 jenis sinyal tapi yang umum dipakai hanyalah 9 jenis sinyal. Konektor yang dipakai pun ditentukan dalam standard RS232, untuk sinyal yang lengkap dipakai konektor DB25, sedangkan konektor DB9 hanya bisa dipakai untuk 9 sinyal yang umum dipakai.

Gambar 2.4. Konektor DB9

(10)

(11)

Sinyal-sinyal tersebut ada yang menuju ke DCE ada pula yang berasal dari DCE. Bagi sinyal yang menuju ke DCE artinya DTE berfungsi sebagai output dan DCE berfungsi sebagai input, misalnya sinyal TD, pada sisi DTE kaki TD adalah output, dan kaki ini dihubungkan ke kaki TD pada DCE yang berfungsi sebagai input. Kebalikan sinyal TD adalah RD, sinyal ini berasal dari DCE dan dihubungkan ke kaki RD pada DTE yang berfungsi sebagai output.

2.1.6 Konfigurasi Null Modem

Konfigurasi Null Modem digunakan untuk menghubungkan dua DTE dengan diagram pengkabelan yang dapat dilihat pada gambar dibawah. Dalam hal ini hanya dibutuhkan tiga kabel antar DTE, yakni untuk TxD, RxD dan Gnd. Cara kerjanya adalah

(12)

bagaimana membuat komputer agar berpikir bahwa computer berkomunikasi dengan modem (DCE) bukan dengan komputer lainnya.

Gambar 2.5. Konfigurasi Null Modem

Pada gambar diatas terlihat bahwa kaki DTR (Data Terminal Ready) dihubungkan ke DSR (Data Set Ready) dan juga ke CD (Carrier Detect) pada masing masing komputer, sehingga pada saat sinyal DTR diaktifkan maka sinyal DSR dan CD juga ikut aktif (konsep Modem Semu atau Virtual Modem). Karena computer dalam hal ini melakukan pengiriman data dengan kecepatan yang sama, maka kontrol aliran (flow

control) belum dibutuhkan sehingga RTS (Request To Send) dan CTS (Clear to Send)

pada masing masing komputer saling dihubungkan.

2.1.7 Transmisi Data Pada RS232

Komunikasi pada RS-232 dengan PC adalah komunikasi asinkron. Dimana sinyal clocknya tidak dikirim bersamaan dengan data. Masing-masing data disinkronkan menggunakan clock internal pada tiap-tiap sisinya. Gambar 2.6 Format transmisi satu byte pada RS232 Data yang ditransmisikan pada format diatas adalah 8 bit, sebelum data tersebut ditransmisikan maka akan diawali oleh start bit dengan logik 0 (0 Volt), kemudian 8 bit data dan diakhiri oleh satu stop bit dengan logik 1 (5 Volt).

(13)

Antar muka komunikasi serial menawarkan beberapa kelebihan dibandingkan dengan komunikasi pararel, diantaranya:

• Kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan pararel. Datadata dalam komunikasi serial dikirimkan untuk logika ‘1’ sebagai tegangan -3 s/d -25 volt dan untuk logika ‘0’ sebagai tegangan +-3 s/d +25 volt, dengan demikian tegangan dalam komunikasi serial memiliki ayunan tegangan maksimum 50 volt, sedangkan pada komunikasi pararel hanya 5 volt. Hal ini menyebabkan gangguan pada kabel-kabel panjang lebih mudah diatasi dibanding dengan pararel.

• Jumlah kabel serial lebih sedikit.

Dua perangkat komputer yang berjauhan dengan hanya tiga kabel untuk konfigurasi null modem, yakni TxD (saluran kirim), RxD (saluran terima) dan Ground, akan tetapi jika menggunakan komunikasi pararel akan terdapat dua puluh hingga dua puluh lima kabel.

• Komunikasi serial dapat menggunakan udara bebas sebagai media transmisi. Pada komunikasi serial hanya satu bit yang ditransmisikan pada satu waktu sehingga apabila transmisi menggunakan media udara bebas (free space) maka dibagian penerima tidak akan muncul kesulitan untuk menyusun kembali bit bit yang ditransmisikan.

• Komunikasi serial dapat diterapkan untuk berkomunikasi dengan mikrokontroler. Hanya dibutuhkan dua pin utama TxD dan RxD (diluar acuan ground)

2.1.9 Port serial

Serial Port atau biasa disebut dalam bahasa Indonesia adalah port seri merupakan sebuah port pada personal computer yang berfungsi untuk mentransmisikan satu bit

(14)

memungkinkan untuk melakukan secara banyak sekalius. Hal ini disebabkan karena dalam melakukan pemindahan data, biasanya serial port bekerja seri, misalnya COM 1 dan COM 2. Untuk penggunaan port serial sekarang ini sudah berkurang. Penggunaan port serial telah tergantikan dengan port USB dan Firewire. Sedangkan untuk jaringan (networking) fungsinya sudah tergantikan dengan port Ethernet. Berikut beberapa fungsi serial port yaitu menghubungkan antara peripheral (alat) computer lain dengan

motherboard, penghubung antara mouse dengan motherboard, penghubung antara modem dengan motherboard, dan mentransmisikan informasi-informasi berupa bit-bit dari

mainboard ke perangkat lainnya.

2.1.10 Operasi Serial Port

mikrokontroller 89C51 mempunyai On Chip Serial Port yang dapat digunakan untuk komunikasi data serial secara Full Duplex sehingga Port Serial ini masih dapat menerima data pada saat proses pengiriman data terjadi. Untuk menampung data yang diterima atau data yang akan dikirimkan, 89C51 mempunyai sebuah register yaitu SBUF yang terletak pada alamat 99H di mana register ini berfungsi sebagai buffer sehingga pada saat mikrokontroler ini membaca data yang pertama dan data kedua belum diterima secara penuh, maka data ini tidak akan hilang. Pada kenyataannya register SBUF terdiri dari dua buah register yang memang

(15)

SBUF Receive Buffer Register

(read only)

SHIFT REGISTER

SBUF Transmit Buffer Register

(write only) Bus Internal 89s51 D Clk RXD (P3.0) TXD (P3.1)

Baud rate clok (receive) Baud rate clok

(transmit)

Gambar 2.6. Diagram blok port serial

menempati alamat yang sama yaitu 99H. Register tersebut adalah Transmit Buffer

Register yang bersifat write only (hanya dapat ditulis) dan Receive Buffer Register yang

bersifat read only (hanya dapat dibaca). Pada proses penerimaan data dari Port Serial, data yang masuk ke dalam Port Serial akan ditampung pada Receive Buffer Register terlebih dahulu dan diteruskan ke jalur bus internal pada saat pembacaan register SBUF sedangkan pada proses pengiriman data ke Port Serial, data yang dituliskan dari bus internal akan ditampung pada Transmit Buffer Register terlebih dahulu sebelum dikirim ke Port Serial

Port Serial 89C51 dapat digunakan untuk komunikasi data secara sinkron maupun asinkron Komunikasi data serial secara sinkron adalah merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk sinkronisasi di mana sinyal clock tersebut akan tersulut pada setiap bit pengiriman data sedangkan komunikasi asinkron tidak

(16)

89C51 dilakukan mulai dari bit yang paling rendah (LSB) hingga bit yang paling tinggi (MSB).

Gambar 2.7. Komunikasi Sinkron dan Komunikasi Asinkron

2.1.11 Baud Rate Serial

Baud rate clok berkaitan erat dengan frekuensi kristal yang digunakan dan pada mode 1,2 dan 3 juga di tentukan oleh bit SMOD pada PCON register. Baud rate clok tiap mode ditentukan sebagia berikut

• Mode 0 adalah 1/12 frekuensi kristal

• Mode 2, untuk SMOD = 0 adalah 1/64 frekuensi kristal • Mode 2, untuk SMOD =1 adalah 1/32 frekuensi kristal

• Mode 1 dan 3 untuk SMOD = 0 adalah 1/32 dari timer overflow • Mode 1 dan 3 untuk SMOD = 1 adalah 1/16 dari timer overflow

PCON tidak dapat di akses secara bit, sehingga pengaturan bit SMOD dapat dilakukan dengan perintah dibawah ini, dalam hal ini SMOD di clearkan MOV A, PCON ; ambil nilai PCON

CLR Acc.7 ; clear bit 7

(17)

Baud rate dari Port Serial 89C51 dapat diatur pada Mode 1 dan Mode 3, namun pada Mode 0 dan Mode 2, baud rate tersebut mempunyai kecepatan yang permanen yaitu untuk Mode 0 adalah 1/12 frekwensi osilator dan Mode 2 adalah 1/64 frekwensi osilator.

Dengan mengubah bit SMOD yang terletak pada Register PCON menjadi set (kondisi awal pada saat sistem reset adalah clear) maka baud rate pada Mode 1, 2 dan 3 akan berubah menjadi dua kali lipat.

Pada Mode 1 dan 3 baud rate dapat diatur dengan menggunakan Timer1. Cara yang biasa digunakan adalah Timer Mode 2 (8 bit auto reload) yang hanya menggunakan register TH1 saja. Pengiriman setiap bit data terjadi setiap Timer 1 overflow sebanyak 32 kali sehingga dapat disimpulkan bahwa:

Lama pengiriman setiap bit data = Timer 1 Overflow X 32 ... Baud rate (jumlah bit data yang terkirim tiap detik) =

Apabila diinginkan baud rate 9600 bps maka timer 1 harus diatur agar overflow setiap

Timer 1 overflow setiap kali TH1 mencapai nilai limpahan (overflow) dengan frekwensi sebesar fosc/12 atau periode 12/fosc. Dari sini akan ditemukan formula

sebagai berikut:

Dengan frekwensi osilator sebesar 11,0592 MHz maka TH1 adalah 253 atau 0FDH. Selain variabel-variabel di atas, masih terdapat sebuah variabel lagi yang menjadi pengatur baud rate serial yaitu Bit SMOD pada Register PCON. Apabila bit ini set maka faktor pengali 32 pada formula 3.1 akan berubah menjadi 16. Oleh karena itu dapat disimpulkan formula untuk baud rate serial untuk Mode 1 dan Mode 3 adalah:

(18)

Table 2.3. Mode Serial vs baud rate

Mode Baud rate

0 1/12 fosc

1 SMOD = 0 SMOD = 1

2 1/32 fosc 1/32 fosc

3

Tabel 2.1.11.2. memberikan bermacam nilai pada TH 1 pada pembangkit baud reat komunikasi data serial melalui port serial pada metode 1 dan 3, penggunaan kristal 12 MHz hanya di perbolehkan hingga kecepatan 4800 bps saja. Penggunaan kecepatan 4800 untuk komunikasi dengan computer, baik suntuk programming atau untuk emulator.

(19)

BPS Kristal SMOD TH1 reload REAL BPS ERROR 4800 12 1 -13(F3h) 4807 0.16% 2400 12 0 -13(F3h) 2404 0.16% 2400 12 1 -26(E6h) 2404 0.16% 1200 12 1 -26(E6h) 1202 0.16% 1200 12 1 -56(CCh) 1202 0.16% 19200 11.059 1 -3(FDh) 19200 0% 9600 11.059 0 -3(FDh) 9600 0%

BPS Kristal SMOD TH1 reload REAL BPS ERROR

9600 11.059 1 -6(Fah) 9600 0% 4800 11.059 0 -6(Fah) 4800 0% 4800 11.059 1 -12(F4h) 4800 0% 2400 11.059 0 -12(F4h) 2400 0% 2400 11.059 1 -24(E8h) 2400 0% 1200 11.059 0 -24(E8h) 1200 0% 1200 11.059 1 -48(D0h) 1200 0%

(20)

2.2 Software

2.2.1. Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Instruksi –instruksi tersebut antara lain :

 Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h ...

... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

 Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h Loop: ...

(21)

...

DJNZ R0,Loop ...

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

 Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

... ACALL TUNDA ... TUNDA: ...  Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA ... TUNDA: ... RET  Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

...

 Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

Loop: JNP Loop

 Instruksi JB (Jump if bit)

(22)

Loop:

JB P1.0,Loop ... JNB P1.0,Loop ...

 Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop ...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..

 Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h ...

DEC R0 R0 = R0 – 1 ...

 Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h ...

INC R0 R0 = R0 + 1 ...

(23)

2.2.2. Pengenalan Visual Basic 6.0

Visual basic meruapakn salah satu bahasa pemrograman yang paling banyak digunakan pada saat ini, karena fasilitas yang dimiliki sangat handal untuk membangun berbagai bentuk aplikasi dan mudah dipelajari sendiri. Menurut suryo (2000 : 1), Visual basic merupakan event-driven programming (pemrograman terkendali kejadian). Artinya program menuggu sampai respondari pemakai berupa event atau kejadian.

Apabila dibandingkan dengan bahasa pemrograman yang lain, misalnya pascal yang harus penulisan kode program untuk segala sesuatu yang akan diinginkan dalam kejadian (event) maka visual basic memberikan berbagai macam kemudahan dan fasilitas yang disediakan menjadi sangat praktis meskipun untuk pemula, program ini mudah untuk dipelajari dengan bermacam jenis buku yang telah diterbitkan mengenai bahasa pemrograman dengan visual basic6.0

2.2.3. Aplikasi visual basic 6.0

Struktur yang ada didalam visual basicterdiri dari;

A. From adalah windos atau jendela kerja (worksheet) yang digunakan untuk tampilan yang diinginkan.

B. Control

Adapun secara garis besar fungsi dari masing –masing control adalah segabai berikut;

(24)

• Pointer bukan merupakan suatu control: icon ini dingukan ketika anda ingin memilih kontrol yang sudah ada di from.

• PictureBox adalah kontrol yang digunakan untuk menampilkan mage format: BMP,DIB(bitmat), CUR(cursor), WMF(metafeli), EMF(enhanced metafile),GIF,dan JPG.

• Label adalah kontrol yang dingunakan untuk menampilkan text yang tidak dapat di perbaiki oleh pemakai.

• Textbox adalah kontrol yang mengandung string yang dapat dieprbaiki oleh pemakai, dapat berupa satu baris tunggal, atau banyak baris. • Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol

lainnya.

• CommangBotton merupakan kontrol yang hampir sering ditemukan pada setiap from,dan digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan klik disana.

• Checkbox digunakan untuk pilihan yang isinya bernilai yes/no,true/false. • Optionbutton sering digunakan untuk pilhan yang hanya satu pilihan dari

beberapa option.

• Listbox mengandung sejumlah item dan userdapat memilih lebih dari satu (bergantung pada property multiselect).

• Combobox merupakan kombinasi dari textbox dan suatu listbox dimana pemasukan data dapat dilakukan dengan pengetikan dan pemilihan.

• HScrollbar dan Vscrollbar digunakan untuk membentuk scrollbar berdiri sendiri .

• Timer digunakan untuk proses backgraondyang diaktifkan berdasarkan interval waktu tertentu yang merukan kontrol nonvisual.

• Drivelistbox , Dirlistbox dan Felilistbox sering digunakan untuk membentuk dialog box yang berkaitan dengan file

• Shape dan line digunakan untuk menampilkan bentuk seperti garis, persegi, lingakaran dan sebagiainya

(25)

• Image berpungsi seperti imagebox tetapi tidak dapat digunakan sebagi kontainer bagi kontrol lain.

• Data digunakan untuk data binding.

• Ole dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Exel,Word dan sebagianya.

C. Properti adalah nilai atau karakteristik yang dimiliki visul basic

D. Metode adalah serangkaian perintah yang sudah tersedia pada suatu objek yang dapat diminta untuk mengerjakan tugas khusus

E. Prosedur kejadian merupakan kode yang berhubungan dengan suatu objek F. Prosedur umum meruapakan kode yang tidak berhubungan suatu objek G. Modul dapat disejajarkan dengan from, tetapi tidak terdapat objek

2.2.3. Pengaksesan port serial pada visual basic

Untuk pengaksesan port serial kita dapat mengaksesnya secara langsung melalui register USART atau menggunakan kontrol MSComm yang telah disediakan visual basic. Pengaksesan secara langsung melalui register USART

Saluran yang digunakan USART untuk komunikasi baik untuk pengiriman maupun penerimaan data adalah saluran RxD dan saluran TxD serta saluran-saluran untuk kontrol yaitu saluran DCD, DSR, RTS,CTS, DTR dan RI. Saluran-saluarn ini ada yang sebagai output dan ada yang sebagai input. Kecuali saluran RxD, saluaran-saluarn ini dapat di akses secara langsung melalui register USART. Beriku adalah tabel alamat dan lokasi bit saluarn tersebut pada register USART.

Tabel 2.5. Alamat dan lokasi bit pada register USART

Nama pin Nomor pin pada DB-9 COM 1 COM 2 Bit Arah

TxD 3 3FBh 2FBh 6 output

(26)

RTS 7 3FEh 2FCh 1 output

CTS 8 3FEh 2FEh 4 input

DSR 6 3FEh 2FEh 5 input

RI 9 3FEh 2FEh 6 input

DCD 1 3FEh 2FEh 7 input

Untuk dapat mengaksesnya, kita dapat menggunakan fungsi port_Out dan port_In yang terdapat pada port_IO.DLL dan untuk menset atau mengclearkan bit-bit tertentu kata dapa menggunakan prosedur set_bit atau prosedur clear_bit

Berikutnya adalah contoh penggunaan dengan menset bit DTR yaitu membuat saluran DTR berlogika low yang dalam port serial IBM PC kompatibel bertegangan +12 V. alamat register pengontrol DTR adalah 3FCh untuk COM 1 pada bit 0. perintahnya adalah sebagai berikut;

Set_bit (&H3FC, 0)

Untuk mengclearkannya yaitu membuat saluran DTR berlogika high yang dalam port serial IBM PC kompatibel bertegangan -12V dan menggunakan perintah ;

Gambar

Tabel 2.1. Pin-Pin pada Microcontroller AT89S51
Gambar 2.3. Perbedaan antara level tegangan RS232 dan TTL
Tabel 2.2. Pin-Pin pada DB9 dan DB25
Tabel 2.2. Pin-Pin pada DB9 dan DB25 ( Sambungan )
+6

Referensi

Dokumen terkait

Secara umum, tujuan dari skripsi ini adalah untuk melakukan evaluasi pola operasi pada Waduk Jatiluhur dan evaluasi pemenuhan kebutuhan saat terjadi peningkatan

DAFTAR PENYESUAIAN NAMA JABATAN DI LINGKUNGAN POLITEKNIK NEGERI SEMARANG.. No NAMA NIP GOL JABATAN LAMA

Pemberian sediaan uji dilakukan pada hari ke-6 sampai pada hari ke-15 kehamilan, karena pada masa ini mencit sangat rentan terhadap senyawa yang bersifat teratogen,

Kriteria 1.1 Perusahaan harus secara sahterdaftar dan memiliki izin sebagai usaha dan disetujui untuk melakukan kegiatan usaha yang ditetapkan dengan pihak berwenang yang

Berdasarkan identifikasi kebutuhan yang dilakukan dapat ditarik kesimpulan bahwa Toko Florida Butik Pontianak sangat memerlukan sebuah perangkat lunak sistem

Pada pembuatan brownies kukus bahan- bahan utama yang digunakan terdiri dari tepung gandum, telur, mentega, gula, dan cokelat batang serta cokelat bubuk.. Bahan

Rules 5 : JIKA area tidak memiliki lereng DAN tidak memiliki area yang bertumpang tindih dengan substrat DAN 0.01% - 30.16% area memiliki landuse pemukiman MAKA area

(4) Menginterprestasikan atau menafsirkan sesuatu persetujuan ataupun menguraikan sesuatu tulisan. Semua hal tersebut merupakan situasi-situasi informatif karena masing-masing