• Tidak ada hasil yang ditemukan

LANDASAN TEORI

Dalam dokumen JURUSAN TEKNIK INFORMATIKA (2). pdf (Halaman 27-80)

Dalam merencanakan dan merealisasikan perangkat ini dibutuhkan pemahaman tentang berbagai hal yang mendukung. Pemahaman ini akan bermanfaat untuk merealisasikan detektor ini. Pengetahuan yang mendukung perencanaan dan realisasi alat meliputi :

2.1Infrared dan Sinar (Cahaya)

! !" #

$ # %%

44. Allah mempergantikan malam dan siang. Sesungguhnya pada yang demikian itu terdapat pelajaran yang besar bagi orang-orang yang mempunyai penglihatan. (Q.S Annur : 44)

Pada ayat tersebut, Allah memberikan kekuatan kepada manusia sebuah pelajaran untuk mengeksploitasi pengelihatan baik dalam keadaan malam maupun siang, dimana sebuah pergerakan infrared yang nantinya memancarkan sinar untuk mendeteksi sepeda motor yang lewat. Karena keterbatasan penglihatan kecepatan manusia itulah, dipergunakannya infrared disini sebagai sinar pendeteksi yang sekiranya mampu untuk memantau kecepatan kendaraan.

Dalam optika, sinar adalah berkas sempit cahaya yang diidealkan. Sinar digunakan untuk memodelkan pemancaran cahaya melalui sebuah sistem optik, dengan membagi medan cahaya ke dalam sinar diskret (terpisah)

yang kemudian dapat disebarkan melalui sistem menggunakan teknik

pelacakan sinar. Ini memungkinkan sistem optik yang sangat rumit dianalisis

secara matematis atau disimulasikan oleh komputer. Sedangkan Inframerah (infrared) adalah radiasi elektromagnetik dari panjang gelombang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya berarti "bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari cahaya tampak dengan gelombang terpanjang. Radiasi inframerah memiliki jangkauan tiga "order" dan memiliki panjang gelombang antara 700nm dan 1 mm.

2.1.1 Infrared Transmitter

Infrared Transmitter merupakan suatu modul pengirim data melalui gelombang infra merah dengan frekuensi carrier sebesar 38 kHz. Modul ini dapat difungsikan sebagai output dalam aplikasi transmisi data nirkabel seperti robotik, sistem pengaman, datalogger, absensi, dan sebagainya.

Gambar 2.1 Infrared Transmitter Spesifikasi Hardware

1. Tegangan kerja: +5 VDC.

3. Panjang gelombang puncak 940 nm. 4. Sudut pancaran ±17o.

5. Jarak maksimum yang teruji pada sudut 0o: 16 m. Jarak maksimum sesuai datasheet: 35 m

6. Memiliki input yang kompatibel dengan level tegangan TTL, CMOS, dan RS-232.

7. Terdapat 2 mode output: non-inverting dan inverting.

8. Kompatibel penuh dengan DT-51™ Minimum Sistem (MinSys) ver 3.0, 51™ PetraFuz, BASIC Series, 51™ Low Cost Series, DT-AVR Low Cost Series, dan lain-lain.

2.1.2 Infrared Receiver (IRM 8510N)

Infra Red Receiver merupakan suatu modul penerima data melalui gelombang infra merah dengan frekuensi carrier sebesar 38 kHz. Modul ini dapat difungsikan sebagai input dalam aplikasi transmisi data nirkabel seperti robotik, sistem pengaman, datalogger, absensi, dan sebagainya. Modul ini merupakan jenis infrared penerima (infrared receiver) yang merupakan pengendali jarak yang dikembangkan dan dirancang dengan pemanfaatan tekhnologi hybrid.

Gambar 2.2 IRM 8510N dimension package. Sumber : Everlight electronic

Spesifikasi Hardware 1. Tegangan kerja: +5 VDC.

2. Frekuensi carrier penerima infra merah: 37,9 s.d 38 kHz. 3. Panjang gelombang puncak 940 nm s.d 950 nm.

4. Sudut penerimaan ±45o. Memiliki 2 output: non-inverting (OUT) dan inverting (OUT). Keduanya kompatibel dengan level tegangan TTL, CMOS, dan RS-232.

5. Kompatibel penuh dengan 51™ Minimum System (MinSys) ver 3.0, DT-51™ PetraFuz, DT-BASIC Series, DT-DT-51™ Low Cost Series, DT-AVR Low Cost Series, dan lain-lain.

IC ini didesain sedemikian rupa sehingga hanya memerlukan sedikit komponen luar untuk bekerja. Diantaranya yang utama adalah resistor dan kapasitor luar (eksternal). IC ini bekerja dengan memanfaatkan prinsip pengisian (charging) dan pengosongan (discharging) dari kapasitor melalui resistor luar tersebut. Untuk menjelaskan prinsip kerjanya, pada diagram gambar IC 555 dengan resistor dan kapasitor luar, dimana rangkaian ini tidak lain adalah sebuah rangkaian pewaktu (timer) monostable. Prinsipnya rangkaian ini akan menghasilkan pulsa tunggal dengan lama tertentu pada keluaran pin 3, jika pin 2 dari komponen ini dipicu. Dalam IC ini ada dua komparator yaitu Comp A dan Comp B. Dan dalam IC ini ada 3 resistor internal R yang besarnya sama. Dengan susunan seri yang demikian terhadap VCC dan GND, rangkaian resistor internal ini merupakan pembagi tegangan. Susunan ini memberikan tegangan referensi yang masing-masing besarnya 2/3 VCC pada input negatif komparator A dan 1/3 VCC pada input positif komparator B.

Gambar 2.3 Rangkaian IC 555

Pada keadaan tanpa input, keluaran pin 3 adalah 0 (ground atau normally low). Transistor Q1 yang ada di dalam IC ini selalu ON dan mencegah kapasitor eksternal C dari proses pengisisian (charging). Ketika ada sinyal trigger dari 1 ke 0 (VCC to GND) yang diumpankan ke pin 2 dan lebih kecil dari 1/3 VCC, maka serta merta komparator B men-set keluaran flip-flop. Ini pada gilirannya memicu transistor Q1 menjadi OFF. Jika transistor Q1 OFF akan membuka jalan bagi resistor eksternal R untuk mulai mengisi kapasitor C (charging). Pada saat yang sama output dari pin 3 menjadi high (VCC), dan terus high sampai satu saat tertentu yang diinginkan. Permisalan lamanya adalah t detik, yaitu waktu yang diperlukan untuk mengisi kapasitor C mencapai tegangan 2/3 VCC. Tegangan C ini disambungkan ke pin 6 yang tidak lain merupakan input positif comp A. Maka jika tegangan 2/3 VCC ini

tercapai, komparator A akan men-reset flip-flop dan serta merta transistor internal Q1 menjadi ON kembali. Pada saat yang sama keluaran pin 3 dari IC 555 tersebut kembali menjadi 0 (GND).

Berapa lama pulsa yang dihasilkan amat tergantung dari nilai resitor dan kapasitor eksternal yang pasangkan. Dari rumus ekponensial pengisian kapasitor diketahui bahwa :

Vt = VCC(1- e-t/RC) ….. (1)

Vt adalah tegangan pada saat waktu t. Jika t adalah waktu eksponensial yang diperlukan untuk mengisi kapasitor sampai Vt = 2/3 VCC, maka rumus (1) dapat disubstitusi dengan nilai ini menjadi :

2/3 = 1-e-t/RC

1/3 = e-t/RC

ln(1/3) = -t/RC dan seterusnya dapat diperoleh

t = (1.0986123)RC yang dibulatkan menjadi

t = 1.1 RC

Inilah rumusan untuk mengitung lamanya keluaran pulsa tunggal yang dapat dihasilkan dengan rangkaian monostable dari IC 555.

2.2Mikrokontroller

Dalam sejarahnya mikrokontroler MCS-51 merupakan jenis mikrokontroler yang termasuk tua, keluarga mikrokontroler MCS-51 adalah mikrokontroler yang paling populer saat ini. Keluarga mikro-kontroler MCS-51, diawali oleh Intel yang mengenalkan IC mikrokontroler type 8051 pada awal tahun 1980-an. Sampai kini sudah lebih 100 macam mikrokon-troler turunan 8051, sehingga terbentuk-lah keluarga besar mikrokontroler dan biasa disebut sebagai MC-S-51. Pada perkembangannya pabrik IC (Integra-ted Circuit) Atmel ikut menambah anggota keluarga MCS-51. Produksi mikrokontro-ler M-CS-51 Atmel dibagi dua macam, yang pertama yaitu mikrokontroler dengan jumlah pin 40 setara dengan 80-51 yang asli, dan yang kedua adalah mikrokontroler dengan jumlah pin 2 MC-S-51 yang disederhanakan. Perbedaan diantara keduanya adalah dalam kapasitas Flash PEROM (Programmable and Erasable Read Only Memory) dari tipe, AT89C51 mempunyai Flash PEROM dengan ka-pasitas 4K byte, AT89C52 dengan kapa-sitas 8K byte, AT89C53 dengan kapasi-tas 12K byte, AT89C55 dengan kapasi-tas 20K byte dan AT89C8252 berisikan 8K byte Flash PE-ROM dan 2K byte EEPPE-ROM (Electrical Erasa-ble and Programable PE-ROM), penyederhanaan daripada mikrokontroler ukuran kecil ini, dengan cara mengurangi jalur untuk I/O paralel, kemampuan lain sama sekali tidak mengalami pengurangan, penye-derhanaan ini dimaksudkan untuk

mem-bentuk mikrokontroler yang mem-bentuk fisik-nya sekecil mungkin tetapi mempu-nyai kemampuan yang sama.

ATMEL sendiri memproduksi 3 buah mikrokontroler mini, masing-masing adalah AT89C1051 dengan kapa-sitas Flash PEROM sebesar 1K byte, AT89C2051 kapasitas 2K byte dan AT-89C4051 dengan kapasitas 4K byte. AT89C51 adalah mikrokontroler 8 bit keluaran ATMEL dengan 4K byte Flash PEROM (Programmable and Era-sablRead Only Memory) merupakan memori dengan teknologi high density nonvolatile memory dan kompatibel de-ngan mikrokontroler standard industri MCS51, isi memori tersebut dapat diisi ulang ataupun dihapus sampai batas 1000 kali, mikrokontroler ini merupakan high performance teknologi CMOS (Complementary Metal Oxide Semicon-ductor) dan dikemas dalam paket 40 pin dengan catu daya tunggal. Dia-gram susunan kaki mikrokontroler AT89-C51 dalam bentuk PDIP (Plastic Dual Inline Package)

Mikrokontrontroler adalah suatu chip (rangkaian terintegrasi – IC) VLSI (Very Large Scale IC) mikroprosesor yang dikhususkan untuk instrumentasi dan kendali dan bersifat reprogrammable. Mikrokontroler memiliki unit memory sendiri (meskipun sangat terbatas), unit I/O (Input/Output) yang bisa dikoneksikan langsung dengan sensor atau aktuator. Program disimpan dalam memori yang tidak hilang bila catu daya padam, biasanya dalam bentuk ROM, PROM atau EPROM diluar mikrokontroler,

atau beberapa seri atau varian memiliki ROM didalam mikrokontroler itu sendiri. Cara mengisi program dengan suatu alat pemrogram, yang biasanya berhubungan dengan PC.

2.2.1 Arsitektur Mikrokontroler AT89S51

Mikrokontroler AT89S51 merupakan mikrokomputer CMOS 8 bit dengan 4KB Flash Programmable dan Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51, baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah.

AT89S51 mempunyai memori yang terdiri dari RAM internal sebesar 128 byte dengan alamat 00H-7FH dapat diakses menggunakan RAM address register. RAM Internal ini terdiri dari Register Banks dengan 8 buah register (R0-R7). Memori lain yaitu 21 buah Special Function Register dimulai dari alamat 80H-FFH. RAM ini beda lokasi dengan Flash PEROM dengan alamat 000H -7FFH.

Gambar 2.4 Blok Diagram MK-AT89S51

2.2.2 Susunan PIN MCS AT89S51

Pin AT89S51 dibedakan menjadi pin sumber tegangan, pin osilator, pin I/O, dan pin untuk proses intrupsi luar. 89S51 mempunyai 4 port bidirectional (Port 0- Port 3), yang masing-masing terdiri dari 8-bit. Setiap port terdiri dari sebuah latch (Special Function Registers P0 sampai P3), sebuah output driver, dan sebuah input buffer.

Gambar 2.5 Pin Diagram AT89S51 Sumber : www.atmel.com

Output driver Port 0 dan Port 2, serta input buffer Port 0 digunakan untuk mengakses memori eksternal. Untuk aplikasi yang menggunakan memori eksternal, maka Port 0 mengeluarkan 'low order byte' alamat memori eksternal (A0-A7), yang dimultipleks dengan data (1 byte) yang dibaca atau ditulis. Port 2 mengeluarkan 'high order byte' alamat memori eksternal (A8-A15) bila alamat yang diperlukan sebanyak 16 bit. Bila alamat yang diperlukan hanya A0-A7 maka output Port 2 sama dengan isi SFR (Special Function Registers). Adapun lebih jelasnya fungsi-fungsi pin tersebut adalah sebagai berikut :

Pin 40 adalah pi Vcc, yaitu pin positif sumber tegangan 5 volt DC

Pin 20 adalah pin Vss, yaitu grounding sumber tegangan. Pin 32-39 adalah pin port 0, merupakan port I/O 8 bit full

duplex. Port ini dapat digunakan sebagai gabungan antara alamat dan data selama ada pengambilan dan penyimpanan data dengan eksternal ROM dan Ram.

Pin 1-8 adalah pin port 1, merupakan pirt I/O 8 bit full duplex. Setiap pin dapat digunakan sebagai masukan atau keluaran tanpa tergantung dari pin yang lain.

pin 21-28 adalah pin port 2. Sama seperti port 0, port ini hanya digunakan sebagai addres bus tinggi, selama ada pengambilan dan penyimpangan data eksternal ROM dan RAM.

Pin 10-17 adalah pin port 3, sama seperti port 1, tetapi port ini memiliki keistimewaan seperti pada table berikut :

Tabel 2.1 Fungsi Alternatif Port 3

Sumber : www.atmel .com/ datasheet AT89S51 Kaki Port Fungsi alternative

P3.0 RXD (masukan penerima data serial)

P3.2 INT 0( interupsi ekternal 0)

P3.3 INT 1 ( interupsi eksternal 1)

P3.4 T0 (masukan eksternal pewaktu / pencacah 0)

P3.5 T1 (masukan eksternal pewaktu/ pencacah 1)

P3.6 WR (strobe penulisan memori data eksternal)

P3.7 RD (strobe pembacaan memori data eksternal)

Pin 9 adalah RST/VPD yang berfungsi untuk me-reset sistem AT89S51. Kondisi High (logika ‘1’) dari pin ini selama dua siklus clock (siklus mesin) me-reset mikrokontroler yang bersangkutan.

Pin 30 adalah pin ALE/PROG yang berfungsi untuk mengunci low addres (alamat rendah) pada saat akses memori program selama operasi normal.

Pin 29 adalah pin PSEN, Program Strobe Enable merupaka strobe output yang digunakan untuk membaca eksternal program memori PSEN aktif setiap siklus mesin.

Pin 31 adalah pin EA/VPP, External Accsess Enable secara eksternal haus disambung ke logika ‘0’, jika diinginkan MCS51 menjadi enable untuk mengakses kode mesin dari

program memori eksternal. Namun jika EA dihubungkan ke logika ‘1’ maka device akan mengambil kode mesin dari internal program memori, kecuali jika program counter berisi lebih besar dari 0 FFFh.

Pin 18 adalah pin XTAL1, pin ini merupakan input ke inverting amplifier osilator. Pin ini dihubungkan dengan kristal atau sumber osilator dari luar.

Pin 19 adalah pin XTAL 2, yang merupakan output dari inverting amplifier osilator. Pin ini dihubungkan dengan Kristal atau ground jika menggunakan sumber Kristal internal. 2.2.3 Rangkaian Osilator

Jantung dari mikrokontroler AT89S51 terletak pada rangakaian yang membangkitkan pulsa clock. Pin XTAL1 dan XTAL2 disediakan untuk disambungkan dengan jaringan resonan untuk membentuk sebuah osilator. AT89S51 dirancang untuk running pada frekuensi 3 MHz sampai 24 Mhz.

Gambar 2.6 Rangkaian Osilator AT89S51 Sumber : www.atmel.com/ datasheetAT89S51 2.2.4 Memori Data Ekternal

Mengakses memori eksternal ada 2 macam yakni akses Program Memory eksternal dan akses Data Memory eksternal. Mengakses Program Memory eksternal menggunakan sinyal PSEN (Program Store Enable) sebagai sinyal baca. Sedangkan untuk mengakses Data Memory eksternal digunakan RD dan WR (fungsi alternatif P3.7 dan P3.6) untuk membaca dan menulis ke memori. Membaca Program Memory eksternal selalu menggunakan alamat 16 bit. Sedangkan untuk mengakses Data Memory eksternal dapat menggunakan alamat 16 bit (MOVX @DPTR) atau alamat 8 bit (MOVX @Ri). Pada saat alamat 16 bit digunakan, high byte dari jalur alamat dihasilkan oleh Port 2, yang dipertahankan selama siklus pembacaan atau penulisan. Perhatikan bahwa Port 2 mempunyai pull-up yang kuat selama mengeluarkan bit alamat '1' (pada saat eksekusi instruksi MOVX @DPTR). Pada saat ini latch Port 2 (SFR) tidak selalu berisi '1', dan isi SFR Port 2 tidak berubah. Bila siklus memori eksternal tidak segera diikuti siklus memori eksternal yang lain maka isi SFR Port 2 yang tidak berubah tersebut akan muncul kembali pada siklus berikutnya. Bila menggunakan alamat 8 bit (MOVX @Ri), isi

SFR Port 2 tetap sama dengan pin Port 2 selama siklus memori eksternal. Karakteristik ini memberikan kemampuan paging memori. Low byte dari alamat bersifat timemultiplexed dengan data byte Port 0, artinya data dan alamat dihasilkan oleh pin yang sama secara bergantian dengan selang waktu tertentu. Sinyal alamat / data mengaktifkan kedua FET pada output buffer Port 0 (lihat gambar 4A). Jadi dalam aplikasi ini pin-pin Port 0 tidak bersifat sebagai output opendrain, dan tidak memerlukan pull-up eksternal.Sinyal ALE (Address Latch Enable) digunakan untuk menyimpan address byte ke sebuah latch eksternal. Address byte valid pada saat transisi negatif ALE. Pada siklus penulisan, data yang akan dituliskan muncul pada Port 0 tepat sebelum WR aktif, dan data ini tetap ada sampai WR dinonaktifkan. Pada siklus pembacaan, data byte diterima oleh Port 0 sesaat sebelum sinyal RD dinonaktifkan.

Ada 2 kondisi untuk mengakses Program Memory eksternal : 1. Pada saat sinyal EA aktif, atau

2. Pada saat Program Counter (PC) berisi nilai lebih besar dari 0FFFH (1FFFH untuk 89S52).

2.2.5 SFR (Special Fungtion Register)

Gambar 8 menunjukkan pemetaan dari daerah memori yang disebut dengan Special Function Registers (SFR). SFR yang ditandai dengan (…)

hanya terdapat pada 89C52, tetapi tidak terdapat pada 89C51. Tidak semua alamat ditempati, alamat yang kosong tidak diimplementasikan pada chip. Melakukan pembacaan pada alamat yang kosong, akan menghasilkan data random, sedangkan penulisan tidak berpengaruh. Fungsi dari masing-masing register dijelaskan pada bagian berikut :

a. Akumulator

ACC merupakan register akumulator. Pada program ditulis dengan A. ACC menempati lokasi E0h digunakan sebagai register untuk menyimpan data sementara.

b. Register B

Register B (lokasi F0h) digunakan pada operasi perkalian dan pembagian. Pada instruksi-instruksi yang lain berfungsi seperti register umumnya. c. Program Status Word

PSW(lokasi D0h) berisi informasi status program, d. Stock Pointer (SP)

Register SP (lokasi 81h) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan dan ambil dari/ke stack. Nilainya akan dinaikkan sebelum data disimpan menggunakan instruksi PUSH dan CALL. Walau Stack bisa menempati lokasi dimana saja dalam Ram, register SP akan selalu diinialisasikan ke 07h setelah adanya reset, hal ini menyebabkan stack berawal di lokasi 08h.

e. Data Pointer (DPTR) Register DPTR untuk byte tinggi DPH dan byte rendah DPL yang masing-masing berada di lokasi 83h dan 82h, bersama-sama membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi sebagai register 16-bit atau sebagai register 8-bit yang terpisah.

f. Port 0, Port 1, Port 2 dan Port 3, masing-masing menempati lokasi 80h, 90h, A0h dan B0h merupakan pengunci-pengunci (latches), yang digunakan untuk menyimpan data yang akan dibaca atau ditulis dari/ke port untuk masing-masing port.

g. Serial Data Buffer SBUF (lokasi 99h) sebenarnya terdiri dari dua register yang terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima(receive buffer). Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin SBUF, maka sebenarnya data tersebut dari penyangga penerima.

h. Timer Register. Pasangan register (TH0, TL0) di lokasi 8Ch dan 8Ah, (TH1, TL1) di lokasi 8Dh dan 8Bh serta (TH2, TL2) di lokasi CDh dan CCh merupakan register-register pencacah 16-bit untuk masing-masing Timer 0, Timer 1 dan Timer 2.

i. Control Register Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit control dan status untuk sistem interupsi.

Gambar 2.7 Peta Register Fungsi Khusus- SFR Konfigurasi I/O

Gambar 2.8 Bit Latch dan I/O Buffer 89S51 Sumber : www.atmel.com

Gambar diatas menunjukkan diagram latch dan I/O buffer tiap bit dari Port 0 - Port 3. Port 1,2, dan 3 mempunyai pull-up internal. Sedangkan Port 0,

konfigurasi outputnya adalah open drain. Setiap bit I/O ini berdiri sendiri, jadi dapat berfungsi sebagai input atau output tanpa tergantung satu sama lain. Port 0 dan 2 tidak dapat dipakai sebagai I/O bila digunakan sebagai jalur alamat / data. Bila port-port tersebut ingin difungsikan sebagai input, maka bit latch harus berisi '1', yang akan mematikan output driver FET. Sehingga pin-pin Port 1,2, dan 3 akan 'ditarik' ke high oleh pull-up internal, tetapi bila diinginkan dapat juga 'ditarik' ke low dengan sumber eksternal. Port 0 agak berbeda, karena tidak menggunakan pull-up internal. FET pull-up pada output driver P0 (lihat gambar 4A) hanya digunakan pada saat Port mengeluarkan '1' selama akses memori eksternal, selain keadaan ini FET pull-up tidak aktif. Akibatnya bila bit-bit P0 berfungsi sebagai output maka bersifat open drain. Penulisan logika '1' ke bit latch menyebabkan kedua FET tidak bekerja, sehingga pin dalam keadaan mengambang (floating). Pada kondisi ini pin dapat berfungsi sebagai high impedance input. Port 1,2, dan 3 sering disebut dengan 'quasibidirectional' karena mempunyai pull-up internal. Saat berfungsi sebagai input maka mereka akan 'ditarik' ke high dan akan bersifat sebagai sumber arus bila 'ditarik' ke low secara eksternal. Port 0 sering disebut sebagai 'true-bidirectional', karena bila dikonfigurasikan sebagai input maka pinpinnya akan mengambang. Pada saat reset semua port latch akan berlogika '1'.

Output buffer Port 1,2, dan 3 dapat dibebani 4 input LS TTL. Bila port berfungsi sebagai input, maka dapat menerima output opencollector atau open-drain, tetapi transisi '0' ke '1' tidak dapat berlangsung dengan cepat. Output buffer Port 0 dapat dibebani dengan 8 input LS TTL. Bila Port 0 berfungsi sebagai port, maka diperlukan pull-up eksternal, kalau digunakan sebagai jalur alamat / data pull-up tidak diperlukan.

Overlapping Lokasi Program dan Data Memory Eksternal

Pada DT51 program user didownload dari PC dan disimpan pada memori eksternal yaitu EEPROM 28C64B yang sekaligus berfungsi pula sebagai Data Memory. Overlapping ini dapat diatasi dengan meng-AND-kan PSEN dan RD. Karena siklus PSEN lebih cepat dari siklus RD maka memori eksternal yang dipakai harus cukup cepat.

Timer / Counter

89S51 mempunyai 2 buah register timer / counter 16 bit : Timer 0 dan Timer 1. Keduanya dapat beroperasi sebagai timer atau counter. Pada fungsi 'timer', isi register ditambah satu setiap siklus mesin. Jadi, seperti menghitung siklus mesin. Karena satu siklus mesin terdiri dari 12 periode osilator, maka kecepatannya i= 1/12 frekuensi osilator. Pada fungsi 'counter', isi register ditambah satu setiap terjadi transisi 1 ke 0 pada pin input eksternal yang bersesuaian T0 atau T1. Untuk mengenali transisi 1 ke 0 ini dibutuhkan 2 siklus mesin (24 periode osilator), maka input maksimum ialah 1/24 frekuensi

osilator. Tidak ada batasan untuk duty cycle sinyal input. Timer 0 dan Timer 1 mempunyai 4 mode operasi yang bisa dipilih.

Timer 0 dan Timer 1

Fungsi timer dan counter dipilih dengan bit kontrol C/T pada SFR TMOD. Kedua timer / counter ini mempunyai 4 mode operasi yang dipilih dengan sepasang bit M1 dan M0

Mode 0

Kedua timer pada mode ini berfungsi sebagai counter 8 bit dengan divided-by-32 prescaler. Gambar 2.8 menunjukkan operasi mode 0 pada timer 1, sehingga konfigurasi register timer menjadi 13 bit. Ketika perhitungan berubah dari nilai maksimum (semua bit = 1) menjadi 0 maka flag interupt timer TF1 akan aktif. Input akan dihitung oleh timer bila TR1=1 dan salah satu GATE=0 atau INT1=1. Bila GATE diset = 1 maka timer dikontrol oleh input eksternal INT1, dan dapat digunakan untuk mengukur lebar pulsa. TR1 adalah bit kontrol pada SFR TCON, sedangkan GATE ada pada TMOD. Men-set TR1 Register 13 bit terdiri dari 8 bit TH1 dan 5 bit TL1. 3 bit TL1 bagian atas dapat diabaikan. Men-set TR1 tidak menghapus isi register. Mode 0 untuk Timer 0 sama seperti Timer 1. Substitusi TR1, TF1 dan INT1 pada gambar 12 dengan TR0, TF0, dan INT0. Ada 2 bit GATE yang berbeda yaitu TMOD.7 / TMOD bit ke 7 untuk Timer 1 dan TMOD.3 / TMOD bit ke 3 untuk Timer 0.

Gambar 2.9 Timer / Counter 1 Mode 0 : Counter 13 bit Mode 1

Mode 1 sama dengan mode 0, kecuali register timer berjalan dengan 16 bit. Jadi semua bit pada TH1/TL1 (Timer 1) atau TH0/TL0 (Timer 0) berfungsi. Mode 2

Pada mode ini register timer berfungsi sebagai counter 8 bit (TL1) dengan isi ulang otomatis. Overflow dari TL1 tidak hanya men-set TF1, tetapi juga mengisi ulang TL1 dengan isi TH1, yang ditentukan dengan software. Proses

Dalam dokumen JURUSAN TEKNIK INFORMATIKA (2). pdf (Halaman 27-80)

Dokumen terkait