Modul 4(jika keypad 8 ditekan maka tulisan lcd akan bergerak dari kanan ke kiri)
1. Tujuan[KEMBALI]
a. Mempelajari aplikasi output pada mikrokontroller PIC 16F877Ab. Mempelajari aplikasi input pada mikrokontroller PIC 16F877A
c. Mempelajari aplikasi I/O pada mikrokontroller PIC 16F877A
2. Alat dan Bahan[KEMBALI]
a. Module PIC 16F877Ab. LCD
c. Keypad
3. Teori Komponen[KEMBALI]
> Dasar Teori Mikrokontroler
Mikrokontroler PIC16F877A merupakan salah satu mikrokontroler dari keluarga PICmicro yang popular digunakan sekarang ini, mulai dari pemula hingga para profesional. Hal tersebut karena PIC16F877A sangat praktis dan menggunakan teknologi FLASH memori sehingga dapat di program-hapus hingga seribu kali. Keunggulan mikrokontroler jenis RISC ini dibanding dengan mikrokontroler 8-bit lain dikelasnya terutama terletak pada kecepatan dan kompresi kodenya. Selain itu, PIC116F877A juga tergolong praktis dan ringkas karena memiliki kemasan 40 pin dengan 33 jalur I/O.
Anggota keluarga PICmicro buatan Microchip Inc. cukup banyak. Ada yang menggunakan FLASH memori dan ada pula yang jenis OTP (One Time Programmable). Mikrontroler dari keluarga PICmicro yang popular, antara lain PIC2C08, PIC16C54, PIC16F84. Agar lebih mengenal PIC16F877A, berikut ini diberikan fitur-fitur penting yang terdapat pada PIC16F877A.
MIkrokontroller PIC16F877A
fitur fitur PIC
- RISC CPU yang mempunyai performance tinggi
- Hanya 35 jenis instruksi yang perlu dipelajari
- Semua instrujsi mempunyai siklus tunggal kecuali untuk instruksi percabangan.
- Kecepatan Instruksi: DC – 20 MHz clock input DC – 200 ns instruction cycle
- 8K x 14 words of FLASH Program Memory, 368 x 8 bytes of Data Memory (RAM) , 256 x 8 bytes of EEPROM Data Memory
- Pinout compatible dengan PIC16C73B/74B/76/77
- Interrupt (14 sumber interrupt)
- Delapan level hardware stack
- Direct, indirect dan relative addressing modes
- Power-on Reset (POR)
- Power-up Timer (PWRT) dan Oscillator Start-up Timer (OST)
- Watchdog Timer (WDT) dengan on-chip RC oscillator
- Programmable code protection dan Fully static design
- Power saving SLEEP mode
- Selectable oscillator options
- Low power, high speed CMOS FLASH/EEPROM technology
- In-Circuit Serial Programming (ICSP) hanya dengan dua pin
- Single 5V In-Circuit Serial Programming capability
- Processor read/write access to program memory
- Wide operating voltage range: 2.0V to 5.5V
- High Sink/Source Current: 25 mA
- Commercial, Industrial and Extended temperature ranges
Deskripsi pin pin
Organisasi Memori
Prosedur Percobaan
1. Pastikan semua supply dalam keadaan off
2. Hubungkan jumper seperti rangkaian dibawah
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip k78erja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
> Dasar Teori LCD
b. Mempunyai 192 karakter tersimpan.
c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
3. Buatlah listing program yang telah ada pada modul
4. periksakan rangkaian kepada asisten yang mengawas
5. Hidupkan semua supply
6. Upload program dari laptop ke modul
7. Tekan tombol Reset
8. Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
9. Jika sesuai, maka selesai dan demokan pada asisten yang mengawas
10.Jelaskan prinsip k78erja + program dan hubungan keduanya kepada asisten
11.Demokan ke pembimbing praktikum
12.Matikan supply
> Dasar Teori LCD
LCD (Liquid Crystal Display)
adalah suatu jenis media tampil yang menggunakan kristal cair sebagai
penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal–alat
elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada
bab ini aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah
karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya
akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang
disajikan dalam LCD ini adalah :
a. Terdiri dari 16 karakter dan 2 baris.b. Mempunyai 192 karakter tersimpan.
c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
Gambar LCD 2*16
| Pin | Deskripsi |
| 1 | Ground |
| 2 | Vcc |
| 3 | Pengatur kontras |
| 4 | “RS” Instruction/Register Select |
| 5 | “R/W” Read/Write LCD Registers |
| 6 | “EN” Enable |
| 7-14 | Data I/O Pins |
| 15 | Vcc |
| 16 | Ground |
Cara kerja LCD 2*16 secara umum
Pada aplikasi umumnya RW diberi logika
rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data
4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana
terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus,
dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan
penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang
8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode
4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat
sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa
clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk
memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk
mengirim data ke LCD program harus menset EN ke kondisi high “1” dan
kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga
mengirimkan data ke jalur data bus.
Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung pada datasheet
LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam
kondisi low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah
perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor
dll). Ketika RS dalam kondisi high atau “1”, data yang
dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk
menampilkan huruf “A” pada layar maka RS harus diset ke “1”. Jalur
kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high “1”, maka program akan melakukan query
(pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get
LCD status (membaca status LCD), lainnya merupakan instruksi penulisan.
Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke
“0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang
dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim
data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting.
>Dasar Teori Rangkaian Clock
Rangakaian clock berfungsi untuk pembentuk/membangkitkan pulsa/gelombang kotak secara terus-menerus dan rangkaian ini tidak mempunyai kondisi stabil/setimbang. Rangkaian clock termasuk golongan Astabil Multivibrator dengan IC 555. Output rangkaian clock digunakan untuk input rangkaian-rangkaian logika yang sekuensial (berhubungan dengan waktu). Yang termasuk rangkaian logika sekuensial contohnya: Flip-Flop, Shift Register, dan Counter. Adapun fungsi rangkaian clock yaitu, untuk mengatur jalannya data dalam penggeseran ke kanan atau ke kiri, maupun dalam perhitungan/pencacahan bilangan biner. Yang dimaksud rangkaian Astabil Multivribator Adalah multivribator yang tidak stabil tegangan output-nya (tegangan pengeluarannya berubah-ubah) tanpa adanya sinyal masukan yang diberikan. Rangakaian clock dengan IC 555 besrta pulsa-pulsa pada pin 3dan pin 6 ditunjukkan pada gambar ini
Pada gambar rangkaian
clock diatas akan dijabarkan
mengenai cara kerja dari sistem rangkaian tersebut. Pada simbol C akan naik
melebihi kira-kira 2/3 Vcc jika ada tegangan yang masuk ke dalam rangkaian
tersebut. Dan ada penggunaan rumus tersendiri jika Kapasitor C mulai
dikosongkan dengan menggunakan komponen Rb . Rumus yang terjadi adalah :
T : Rb x C
Keluaran atau output akan naik dan juga tinggi jika
tegangan di Kapasitor (C) mulai turun hingga mencapai rumus ( Vcc/3). Komponen
IC 555 memiliki besar tegangan yang akan naik dan turun secara eksponensial.
Gelombang segi empat menjadi bentuk dari keluaran atau output komponan IC 555
ini. Bentuk keluaran yang tidak simetri ini disebabkan waktu yang dibutuhkan
untuk pengisian lebih lama dibandingkan dengan waktu untuk pengosongan komponen
ini. Dan keadaan keluaran yang rendah lebih cepat dibandingkan dengan kadar
keluaran yang lebih tinggi. Dan perhitungan untuk menentukan asimetris dari
keluaran atau output rangkaian clock menggunakan rumus :
W : 0.693 (RA + Rb) * C
T : 0.693 * Rb * C
T : W + t
Dan W adalah lebar pulsa sementara t adalah waktu atau
lama periode dengan besarnya frekuensi dihitung F : 1/T.
>Dasar Teori Keypad
Keypad adalah bagian penting dari suatu perangkat
elektronika yang membutuhkan interaksi manusia. Keypad berfungsi sebagai
interface antara perangkat (mesin) elektronik dengan manusia
atau dikenal
dengan istilah HMI (Human Machine Interface). Matrix keypad 4×4 merupakan salah
satu contoh keypad yang dapat digunakan untuk berkomunikasi antara manusia
dengan mikrokontroler. Konfigurasi keypad dengan susunan bentuk matrix ini
bertujuan untuk penghematan port mikrokontroler karena jumlah key (tombol) yang
dibutuhkan banyak pada suatu sistem dengan mikrokontroler. Konstruksi matrix
keypad 4×4 untuk mikrokontroler dapat dibuat seperti pada gambar berikut:

Proses scaning untuk membaca penekanan tombol
pada matrix keypad 4×4 untuk mikrokontroler diatas dilakukan secara bertahap
kolom demi kolom dari kolom pertama sampai kolom ke 4 dan baris pertama hingga
baris ke 4. Misal kita asumsikan keypad aktif LOW (semua line kolom dan baris
dipasang resistor pull-up) dan dihubungkan ke port mikrokontrolr dengan jalur
kolom adalah jalur input dan jalur baris adalah jalur output maka proses
scaning matrix keypad 4×4 diatas dapat dituliskan sebagai berikut.
·
Mengirimkan
logika Low untuk kolom 1 (Col1) dan logika HIGH untuk kolom yang lain kemudian
membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1)
akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan
tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011,
atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13
yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada
kolom pertama yang di tekan maka data pembacaan baris akan 1111.
·
Mengirimkan
logika Low untuk kolom 2 (Col2) dan logika HIGH untuk kolom yang lain kemudian
membaca data baris, misal tombol SW1 ditekan maka data baris pertama (Row1)
akan LOW sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan
tombol SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011,
atau tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13
yang ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada
kolom pertama yang di tekan maka data pembacaan baris akan 1111.
·
Mengirimkan logika
Low untuk kolom 3 (Col3) dan logika HIGH untuk kolom yang lain kemudian membaca
data baris, misal tombol SW1 ditekan maka data baris pertama (Row1) akan LOW
sehingga data baris yang dibaca adalah 0111, atau tombol yang ditekan tombol
SW5 maka data pada baris ke 2 akan LOW sehingga data yang terbaca 1011, atau
tombol SW9 yang ditekan sehingga data yang terbaca 1101, atau tombol SW13 yang
ditekan maka data yang dibaca adalah 1110 dan atau tidak ada tombol pada kolom
pertama yang di tekan maka data pembacaan baris akan 1111.
Mengirimkan logika Low untuk kolom 4 (Col4) dan logika HIGH untuk kolom
yang lain kemudian membaca data baris, misal tombol SW1 ditekan maka data baris
pertama (Row1) akan LOW sehingga data baris yang dibaca adalah 0111, atau
tombol yang ditekan tombol SW5 maka data pada baris ke 2 akan LOW sehingga data
yang terbaca 1011, atau tombol SW9 yang ditekan sehingga data yang terbaca
1101, atau tombol SW13 yang ditekan maka data yang dibaca adalah 1110 dan atau
tidak ada tombol pada kolom pertama yang di tekan maka data pembacaan baris
akan 1111.4. Rankaian Simulasi[KEMBALI]
5. Flowchart[KEMBALI]
6. Listing Program[KEMBALI]
7. Video[KEMBALI]
8. Link Download[KEMBALI]
File programFile video
File proteus
File html



0 comments: