Bahan Kuliah MIKROKONTROLER
JURUSAN TEKNIK ELEKTRO PROGRAM STUDI D4 TEKNIK LISTRIK TAHUN AJARAN 2015/2016
1
KATA PENGANTAR
Puji syukur kita haturkan kehadirat Allah SWT, kedamaian dan kesejahteraan dari-Nya semoga tercurah kepada baginda Rasulullah SAW. Sehingga pada kesempatan ini penulis dapat membuat LAPORAN LABORATORIUM MIKROKONTROLER ini dengan baik. Laporan ini bertujuan untuk meningkatkan kemampuan individu mahasiswa khususnya di bidang MIKROKONTROLER. Mudah-mudahan apa yang menjadi tujuan kami dalam melaksanakan praktek dapat terealisasikan sebagai mana mestinya. Atas partisipasi segenap pihak yang terkait, kami ucapkan banyak terima kasih.
Makassar, 12 Desember 2015
Team Work
DAFTAR ISI KATA PENGANTAR ................................................................................ ii DAFTAR ISI............................................................................................... iii
2
Running Led, Seven segment, dan Liquid Cristal Displays (LCDs) I.
TUJUAN ............................................................................................ 1
II.
TEORI DASAR ................................................................................ 1 2.1. Mikrokontroler ATMega 16 ..................................................... 1 2.1.1. Arsitektur TMega 16 .................................................. 3 2.1.2. Konfigurasi Pin ATMega 16 ...................................... 5 2.1.3. Timer/Counter Mikrokontroler ATMega16 ................ 8 2.2. LED .......................................................................................... 9 2.3. Seven Segment ......................................................................... 12 2.4. LCD .......................................................................................... 16 2.5. Software-Software yang Digunakan .......................................... 21
III.
IV.
2.5.1.
Proteus 8 Professional ................................................ 22
2.5.2.
CodeVisionAVR (CVAVR) ...................................... 28
Gambar Rangkaian .......................................................................... 30 4.1.
Running LED ......................................................................... 30
4.2.
Counter LED ........................................................................... 30
4.3.
Seven segment 1 digit ............................................................ 31
4.4.
Seven segment 2 digit dan LCD ............................................ 31
Analisa ............................................................................................... 33 4.5.
Running LED ......................................................................... 33
4.6.
Counter LED .......................................................................... 39
4.7.
Seven segment 1 digit ........................................................... 45
4.8.
Seven segment 2 digit dan LCD ........................................... 53
V.
Kesimpulan ....................................................................................... 56
VI.
Kritik dan Saran .............................................................................. 57
DAFTAR PUSTAKA ................................................................................ 58
3
Running Led, Seven segment, dan Liquid Cristal Displays (LCDs) I.
TUJUAN Setelah menyelesaikan praktikum, mahasiswa mampu: 1. Menjelaskan arsitektur umum dan keistimewaan mikrokontroler AVR ATMega 16 . 2. Mengakses perangkat digital I/O LED, Seven Segment dan Liquid Cristal Displays (LCDs). 3. Memprogram perangkat digital I/O dengan berbagai macam cara. 4. Mengaplikasikan fungsi dari digital I/O pada mikrokontroler AVR ATMega 16.
II.
TEORI DASAR 2.1. Mikrokontroler ATMega 16 Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa port masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital Converter), DAC (Digital to Analog Converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR.
AVR merupakan seri mikrokontroler CMOS
(Complementary Metal Oxide Semiconductor) 8-bit buatan Atmel berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi pada program dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interupsi internal dan eksternal, serial UART, programmable Watchdog 4
Timer, power saving mode, ADC dan PWM. AVR pun mempunyai InSystem Programmable (ISP) Flash on-chip yang mengijinkan memori program untuk diprogram ulang (read/write) dengan koneksi secara serial yang disebut Serial Peripheral Inteface (SPI). Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masingmasing kelas adalah memori, peripheral, dan fiturnya. AVR memilki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan
mikrokontroler
AVR
yaitu
memiliki
kecepatan
dalam
mengeksekusi program yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus clock (lebih cepat dibandingkan mikrokontroler keluarga MCS 51 yang memiliki arsitektur Complex Intrukstion Set Compute). Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengen prosesornya (in chip). ATMega16 mempunyai throughput mendekati 1 Millions Instruction Per Second (MIPS) per MHz, sehingga membuat konsumsi daya menjadi rendah terhadap kecepatan proses eksekusi perintah.
Gambar 2.1 Bentuk Fisik ATMega 16
5
2.1.1. Arsitektur ATMEGA16 Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent). Secara garis besar mikrokontroler ATMega16 terdiri dari : 1) Arsitektur
RISC
dengan
throughput
mencapai
16
MIPS pada frekuensi 16 Mhz. 2) Memiliki kapasitas Flash memori 16 Kbyte, EEPROM 512 Byte, dan SRAM 1 Kbyte. 3) Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D. 4) Mikrokontroler AVR 8 bit yang memiliki kemampuan tinggi dengan komsumsi daya rendah. 5) CPU yang terdiri dari 32 buah register. 6) User interupsi internal dan eksternal. 7) Port antarmuka SPI dan Port USART sebagai komunikasi serial 8) Fitur Peripheral • Tiga
buah
Timer/Counter
dengan
kemampuan
perbandingan (compare). − Dua buah Timer/Counter 8 bit dengan Prescaler terpisah dan Mode Compare − Satu buah Timer/Counter 16 bit dengan Prescaler terpisah, Mode Compare dan Mode Capture • Real Time Counter dengan Oscillator tersendiri. • Empat kanal PWM dan antarmuka komparator analog • 8 kanal ADC − 8 Single-ended Channel dengan keluaran hasil konversi 8 dan 10 resolusi (register ADCH dan ADCL)
6
− 7 Diferrential Channel hanya pada kemasan Thin Quad Flat Pack (TQFP) − 2 Differential Channel dengan Programmable Gain • Antarmuka Serial Peripheral Interface (SPI) Bus • Watchdog Timer dengan Oscillator Internal • On-chip Analog Comparator 9) Non-volatile program memory
Gambar 2.2 Blok Diagram ATMega 16
7
2.1.2
Konfigurasi Pin ATMega16 Konfigurasi pin mikrokontroler Atmega16 dengan kemasan 40-pin
dapat dilihat pada Gambar 2.3 dari gambar tersebut dapat terlihat ATMega16 memiliki 8 pin untuk masing-masing Port A, Port B, Port C, dan Port D.
Gambar 2. Pin ATMega 16
Berikut adalah penjelasan fungsi tiap kaki. A. Port A Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin 8
port A juga digunakan untuk masukan sinyal analog bagi A/D converter.
B. Port B Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut.
Port Pin Fungsi Khusus PB0
T0 = timer/counter 0 external counter input
PB1
T1 = timer/counter 0 external counter input
PB2
AIN0 = analog comparator positive input
PB3
AIN1 = analog comparator negative input
PB4
SS = SPI slave select input
PB5
MOSI = SPI bus master output / slave input
PB6
MISO = SPI bus master input / slave output
PB7
SCK = SPI bus serial clock C.Port C Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin
9
memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2.
C. Port D Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsifungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut. Port Pin Fungsi Khusus PD0
RDX (UART input line)
PD1
TDX (UART output line)
PD2
INT0 ( external interrupt 0 input )
PD3
INT1 ( external interrupt 1 input )
PD4
OC1B (Timer/Counter1 output compareB match output)
PD5
OC1A (Timer/Counter1 output compareA match output)
PD6
ICP (Timer/Counter1 input capture pin)
PD7
OC2 (Timer/Counter2 output compare match output)
D. RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.
10
E. XTAL1 XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit. F. XTAL2 XTAL2 adalah output dari inverting oscillator amplifier. G. AVcc Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. H. AREF AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. I. AGND AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.
2.1.3
Timer/Counter Mikrokontroler ATMega16
Mikrokontroler AVR ATMega16 memiliki tiga buah Timer/Counter, yaitu: Timer 0 (8 bit), Timer 1 (16 bit) dan Timer 2 (8 bit). Namun, pada sub bab ini hanya akan membahas mengenai Timer/Counter 1 saja. Timer/Counter 1 mempunyai keunggulan dibanding Timer/Counter 0 atau 2, namun cara mengatur Timer 0, 1, 2 sama saja, yaitu pada masing-masing registernya. Timer/Counter 1 dapat menghitung sampai dengan 65536 Timer/Counter 0 atau 2 hanya sampai dengan 256. Selain itu, Timer 1 ini memiliki mode operasi sebanyak 16 mode (Tabel 2.8). Register pada Timer ini dibagi menjadi beberapa register dengan fungsi khusus, yaitu: control register A, control register B dan interrupt mask.
11
2.2. LED LED atau singkatan dari Light Emitting Diode adalah salah satu komponen elektronik yang tidak asing lagi di kehidupan manusia saat ini. LED saat ini sudah banyak dipakai, seperti untuk penggunaan lampu permainan anak-anak, untuk rambu-rambu lalu lintas, lampu indikator peralatan elektronik hingga ke industri, untuk lampu emergency, untuk televisi, komputer, pengeras suara (speaker), hard disk eksternal, proyektor, LCD, dan berbagai perangkat elektronik lainnya sebagai indikator bahwa sistem sedang berada dalam proses kerja, dan biasanya berwarna merah atau kuning. LED ini banyak digunakan karena komsumsi daya yang dibutuhkan tidak terlalu besar dan beragam warna yang ada dapat memperjelas bentuk atau huruf yang akan ditampilkan dan banyak lagi. Pada dasarnya LED itu merupakan komponen elektronika yang terbuat dari bahan semi konduktor jenis dioda yang mampu memancarkan cahaya. LED merupakan produk temuan lain setelah dioda. Strukturnya juga sama dengan dioda, tetapi belakangan ditemukan bahwa elektron yang menerjang sambungan P-N. Untuk mendapatkna emisi cahaya pada semikonduktor, doping yang pakai adalah galium, arsenic dan phosporus. Jenis doping yang berbeda menghasilkan warna cahaya yang berbeda pula.
1.
Struktur Dasar LED Semikonduktor merupakan material yang dapat menghantarkan arus
listrik, meskipun tidak sebaik konduktor listrik. Semikonduktor umumnya dibuat dari konduktor lemah yang diberi ‘pengotor’ berupa material lain. Dalam LED digunakan konduktor dengan gabungan unsur logam aluminium-gallium-arsenit (AlGaAs). Konduktor AlGaAs murni tidak memiliki pasangan elektron bebas sehingga tidak dapat mengalirkan arus listrik. Oleh karena itu dilakukan proses doping dengan menambahkan elektron bebas untuk mengganggu keseimbangan konduktor tersebut, sehingga material yang ada menjadi semakin konduktif. LED merupakan dioda, sehingga memiliki kutub ( polar ). Arah arus konvensional hanya dapat mengalir dari anoda ke katoda. Perhatikan
12
bahwa 2 kawat ( kaki ) pada LED memiliki panjang yang berbeda. Kawat yang panjang adalah anoda sedangkan yang pendek adalah katoda.
Gambar
2.4
Cara
Menentukan
Polaritas
LED
Jika kita melihat kedalam lampu LED itu sendiri, kita dapat membedakan ke dua kutub tersebut. Perhatikanlah gambar berikut.
Gambar 2.5 Simbol dan Polaritas LED Resistor Resistor disini berfungsi sebagai pengatur kuat arus yang mengalir pada LED. Resistor dipasang seri dengan LED. Jika tidak ada pengatur kuat arus maka LED akan terbakar Arus menentukan seberapa terang sebuah LED. Lebih besar arus maka lebih terang pula LED itu. Arus pada LED seharusnya sekitar 10 – 20 mA. Ketika arus melewati sebuah LED, jatuh tegangan pada LED sekitar 1,6 V, sebenarnya tergantung pada arus juga. Jadi begitulah gunanya sebuah resistor.
13
Warna Beda Potensial − Infrared 1,6 V − Merah 1,8V – 2,1 V − Jingga 2,2 V − Kuning 2,4 V − Hijau 2,6 V − Biru 3,0 V – 3,5 V − Putih 3,0 V – 3,5 V − Ultraviolet 3,5 V 2.
Prinsip Kerja Lampu LED
Lampu LED berkerja berdasarkan prinsip polarisasi. Seperti halnya dioda, Chip LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati chip LED. Ini menyebabkan chip LED tidak akan mengeluarkan emisi cahaya. Chip LED pada umumnya mempunyai tegangan rusak yang relatif rendah. Bila diberikan tegangan beberapa volt ke arah terbalik, biasanya sifat isolator searah LED akan jebol menyebabkan arus dapat mengalir ke arah sebaliknya. Karakteristik chip LED pada umumnya adalah sama dengan karakteristik dioda yang hanya memerlukan tegangan tertentu untuk dapat beroperasi. Namun bila diberikan tegangan yang terlalu besar, LED akan rusak walaupun tegangan yang diberikan adalah tegangan maju. LED dioperasikan dengan arus searah (Direct Current) 12 Volt. Lampu LED juga dapat dioperasikan menggunakan arus bolak balik (Alternating Current) 100 - 240 Volt (listrik untuk rumah). Untuk itu lampu LED memiliki sirkuit internal (konverter) untuk mengubah AC menjadi DC. Dari konversi tersebut timbul panas, karena hal tersebut di lampu LED AC umumnya anda dapat melihat adanya sirip-sirip pendingin.
14
2.3
Seven Segment Seven Segment Display (7 Segment Display) dalam bahasa Indonesia
disebut dengan Layar Tujuh Segmen adalah komponen Elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital, Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga Panel Display Digital seperti pada Microwave Oven ataupun Pengatur Suhu Digital . Seven Segment Display pertama diperkenalkan dan dipatenkan pada tahun 1908 oleh Frank. W. Wood dan mulai dikenal luas pada tahun 1970-an setelah aplikasinya pada LED (Light Emitting Diode). Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka dari 0 (nol) sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat menampilkan Huruf Hexadecimal dari A sampai F. Segmen atau elemen-elemen pada Seven Segment Display diatur menjadi bentuk angka “8” yang agak miring ke kanan dengan tujuan untuk mempermudah pembacaannya. Pada beberapa jenis Seven Segment Display, terdapat juga penambahan “titik” yang menunjukan angka koma decimal. Terdapat beberapa jenis Seven Segment Display, diantaranya adalah Incandescent bulbs, Fluorescent lamps (FL), Liquid Crystal Display (LCD) dan Light Emitting Diode (LED). Salah satu jenis Seven Segment Display yang sering digunakan oleh para penghobi Elektronika adalah 7 Segmen yang menggunakan LED (Light Emitting Diode) sebagai penerangnya. LED 7 Segmen ini umumnya memiliki 7 Segmen atau elemen garis dan 1 segmen titik yang menandakan “koma” Desimal. Jadi Jumlah keseluruhan segmen atau elemen LED sebenarnya adalah 8. Cara kerjanya pun boleh dikatakan mudah, ketika segmen atau elemen tertentu diberikan arus listrik, maka Display akan menampilkan angka atau digit yang diinginkan sesuai dengan kombinasi yang diberikan.
15
Terdapat 2 Jenis LED 7 Segmen, diantaranya adalah “LED 7 Segmen common Cathode” dan “LED 7 Segmen common Anode”. 1.
Common Anoda merupakan pin yang terhubung dengan semua kaki anoda LED dalam seven segmen. Common anoda diberi tegangan VCC dan seven segmen dengan common anoda akan aktif pada saat diberi logika rendah (0) atau sering disebut aktif low. Kaki katoda dengan label a sampai h sebagai pin aktifasi yang menentukan nyala LED.
Gambar 2.10 Skematik Seven Segment Tipe Common Anoda Cara kerja dari seven segmen common anode akan aktif pada kondisi low "0" dan akan off pada kondisi high "1". Tabel 2.4 Pengaktifan Commom Anoda ANGKA
h
g
f
e
d
c
b
a
HEXA
0
1
1
0
0
0
0
0
0
C0H
1
1
1
1
1
1
0
0
1
F9H
2
1
0
1
0
0
1
0
0
A4H
3
1
0
1
1
0
0
0
0
B0H
4
1
0
0
1
1
0
0
1
99H
5
1
0
0
1
0
0
1
0
92H
6
1
0
0
0
0
0
1
0
12H
7
1
1
1
1
1
0
0
0
F8H
8
1
0
0
0
0
0
0
0
10H
9
1
0
0
1
0
0
0
0
90H
16
2. Common Katoda merupakan pin yang terhubung dengan semua kaki katoda LED dalam seven segmen dengan common katodak akan aktif apabila diberi logika tinggi (1) atau disebut aktif high. Kaki anoda dengan label a sampai h sebagai pin aktifasi yang menentukan nyala LED.
Gambar 2.11 Skematik Seven Segment Tipe Common Katoda Cara kerja dari seven segmen common katode akan aktif pada kondisi high "1" dan akan off pada kondisi low "0". Tabel 2.5 Pengaktifan Commom Katoda ANGKA
h
g
f
e
d
c
b
a
HEXA
0
0
0
1
1
1
1
1
1
C0H
1
0
0
0
0
0
1
1
0
F9H
2
0
1
0
1
1
0
1
1
A4H
3
0
1
0
0
1
1
1
1
B0H
4
0
1
1
0
0
1
1
0
99H
5
0
1
1
0
1
1
0
1
92H
6
0
1
1
1
1
1
0
1
12H
7
0
0
0
0
0
1
1
1
F8H
8
0
1
1
1
1
1
1
1
10H
1
1
0
1
1
1
1
90H
9
Berikut ini adalah Blok Diagram Dasar untuk mengendalikan LED 7 Segmen :
17
Blok Dekoder pada diagram diatas mengubah sinyal Input yang diberikan menjadi 8 jalur yaitu “a” sampai “g” dan poin decimal (koma) untuk mengON-kan segmen sehingga menghasilkan angka atau digit yang diinginkan. Contohnya, jika output dekoder adalah a, b, dan c, maka Segmen LED akan menyala menjadi angka “7”. Jika Sinyal Input adalah berbentuk Analog, maka diperlukan ADC (Analog to Digital Converter) untuk mengubah sinyal analog menjadi Digital sebelum masuk ke Input Dekoder. Jika Sinyal Input sudah merupakan Sinyal Digital, maka Dekoder akan menanganinya sendiri tanpa harus menggunakan ADC. Fungsi daripada Blok Driver adalah untuk memberikan arus listrik yang cukup kepada Segmen/Elemen LED untuk menyala. Pada Tipe Dekoder tertentu, Dekoder sendiri dapat mengeluarkan Tegangan dan Arus listrik yang cukup untuk menyalakan Segmen LED maka Blok Driver ini tidak diperlukan. Pada umumnya Driver untuk menyalakan 7 Segmen ini adalah terdiri dari 8 Transistor Switch pada masing-masing elemen LED.
18
2.3. LCD
Gambar 2.12 Bentuk Fisik LCD LCD atau Liquid Cystal Display adalah sebuah peralatan elektronik yang berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter). Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan
mudah
dengan
menggunakan
mikrokontroler
untuk
mengirimkan data melalui pin-pin input yang sudah tersedia. LCD yang ada dipasaran dikategorikan menurut jumlah baris yang dapat digunakan pada LCD yaitu 1 baris, 2 baris, dan 4 baris yang dapat digunakan hingga 80 karakter. Umumnya LCD yang digunakan adalah LCD dengan 1 controller yang memiliki 14 pin. 2.4. Bahasa Pemrograman Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Untuk mengetahui dasar bahasa C dapat dipelajari sebagai berikut. 1. Struktur penulisan program
19
#include < [library1.h] > // Opsional #include < [library2.h] > // Opsional #define [nama1] [nilai] ; // Opsional #define [nama2] [nilai] ; // Opsional [global variables] // Opsional [functions] // Opsional void main(void) // Program Utama { [Deklarasi local variable/constant] [Isi Program Utama] }
2. Tipe data •
char : 1 byte ( -128 s/d 127 )
•
unsigned char : 1 byte ( 0 s/d 255 )
•
int : 2 byte ( -32768 s/d 32767 )
•
unsigned int : 2 byte ( 0 s/d 65535 )
•
long : 4 byte ( -2147483648 s/d 2147483647 )
•
unsigned long : 4 byte ( 0 s/d 4294967295 )
•
float : bilangan desimal
•
array : kumpulan data-data yang sama tipenya.
3. Deklarasi Variabel dan Konstanta •
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Penulisan : [tipe data] [nama] = [nilai];
•
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah. Penulisan : const [nama] = [nilai];
•
Tambahan:
20
− Global variabel/konstanta yang dapat diakses di seluruh bagian program. − Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya. 4. Statement Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar. Contoh: suhu=adc/255*100; //contoh rumus perhitungan suhu.
5. Function Function adalah bagian program yang dapat dipanggil oleh program utama. Penulisan : [tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) { [statement] ; }
6. Conditional statement dan looping if else : digunakan untuk penyeleksian kondisi if ( [persyaratan] ) { [statement1]; [statement2]; } else
21
{ [statement3]; [statement4]; }
for : digunakan untuk looping dengan jumlah yang sudah diketahui for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) { [statement1]; [statement2]; }
while : digunakan untuk looping jika dan salama memenuhi syarat tertentu while ( [persyaratan] ) { [statement1]; [statement2]; }
do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali do { [statement1]; [statement2]; } while ( [persyaratan])
switch case : digunakan untuk seleksi dengan banyak kondisi switch ( [nama variabel] ) {
22
case [nilai1]: [statement]; break; case [nilai2]: [statement]; break; }
7. Operasi logika dan biner •
Logika − AND :&& − NOT : ! − OR : ||
•
Biner − AND : & − OR : | − XOR : ^ − Shift right: >> − Shift left : << − Komplemen : ~
8. Operasi relasional (perbandingan) •
Sama dengan : ==
•
Tidak sama dengan : !=
•
Lebih besar : >
•
Lebih besar sama dengan : >=
•
Lebih kecil : <
•
Lebih kecil sama dengan : <=
9. Operasi aritmatika •
+ , - , * , / : tambah, kurang, kali, bagi
•
+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator
23
•
% : sisa bagi
•
++ , -- : tambah satu (increment) , kurang satu (decrement)
• Contoh : a = 5 * 6 + 2 / 2 -1 ; maka nilai a adalah 30 a *= 5 ; jika nilai awal a adalah 30, maka nilai a = 30x5 = 150. a += 3 ; jika nilai awal a adalah 30, maka nilai a = 30+5 = 33. a++ ; jika nilai awal a adalah 5 maka nilai a = a+1 = 6. a-- ; jika nilai awal a adalah 5 maka nilai a = a-1 = 4.
2.5.
Code Vision AVR CodeVisionAVR
merupakan
sebuah
cross-compiler
C,
Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded. File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer didesain untuk bekerja dengan
Atmel
STK500/AVRISP/AVRProg,
Kanda
Systems
STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP,
24
Futurlec
JRAVR
dan
MicroTronics
ATCPU/Mega2000
programmers/development boards.
Menjalankan Codevision AVR 1. Jalankan aplikasi CodeVisionAVR dengan cara melakukan klik ganda pada shortcut
ikon CodeVisionAVR yang terbentuk
pada Desktop. Maka, pada desktop akan muncul tampilan seperti berikut.
Beberapa detik kemudian akan muncul tampilan :
Menu Bar
Code Template ToolBar
Code Navigator
Clipboard History Function Call Tree Area Editor
Code Information
Message
25
2. Pilih menu [File] [New] atau mengklik toolbar
kemudian
akan muncul kotak dialog lalu pilih project.
3. Kemudian muncul kotak dialog apakah akan menggunakan CodeWizard AVR untuk mempermudah membuat kerangka program, pilih YES.
4. Selanjutnya akan muncul kotak dialog seperti dibawah ini. Type chip yang dipilih yaitu AT90,ATtiny,ATmega,FpSLIC lalu klik OK.
5. Selanjutnya akan muncul tampilan sebagai berikut.
26
6. Pilih chip yang akan digunakan yakni ATMega16 dengan clock 12,000000 MHz, kemudian pilih tab Ports, lakukan setting untuk PORT yang ingin digunakan sebagai output, kemudian pilih File Generate, Save and Exit, simpan source file, project file dan codewizard project dengan nama file yang sama.
7. Tambahkan beberapa perintah ke dalam kerangka program. 8. Kemudian klik tab Project Compile , untuk memeriksa apakah ada kesalahan. Tampilan yang nampak adalah sebagai berikut : 27
9.
Kemudian tekan OK.
Cara mendowload program yang dibuat di code vision ke chip 1.
Klik tab Project Compile , untuk memeriksa apakah ada kesalahan. Tampilan yang nampak adalah sebagai berikut :
28
2.
Selanjutnya pilih menu [Setting] [Programmer] atau klik toolbar . Untuk tipe chip programmer pilih Atmel AVRISP MkII (USB) lalu pilih OK.
3.
Pilih menu [Project] [Configure] atau klik toolbar
. Memilih
tab After Build, memberi tanda centang pada Program the Chip. Akan muncul tampilan sebagai berikut. Pada kotak dialog Information pilih OK. Pada after build langsung saja pilih OK.
4.
Kemudian klik tab [Project][Build All] atau klik toolbar
.
Tampilan yang nampak adalah sebagai berikut :
29
5.
Setelah memastikan tidak terdapat error pada program selanjutnya menekan Program the Chip. Akan muncul tampilan seperti berikut, namun tidak diperhatikan. Hal ini karena program tidak terhubung dengan Downloader.
4.4.1.1.1
2.6
30
Gambar 14. Proteus
1. Untuk membuat project baru klik ISIS.
Gambar 15. Area kerja proteus
2. Akan muncul area kerja seperti pada gambar di atas. Garis biru merupakan batas area kerja. 3. Pilih ikon
untuk memilih komponen yang akan digunakan.
Akan tapil jendela seperti pada gambar dibawa ini.
31
Gambar 15. Memilih komponen pada proteus
4. Setelah memilih komponen klik OK. 5. Pilih ikon
untuk memilih Vcc, ground
32
III.
GAMBAR RANGKAIAN 3.1 Running LED
Gambar 3.1 : Desain Running LED Gambar diatas merupakan gambar desain untuk Running LED, pada gambar diatas kita menggunakan Chip Atmega16 PORTA sebagai ouput input, 8 LED dan ground. Pada percobaan kali ini kita akan mencoba membuat lampu LED menyala secara berurutan dari kiri dan kanan, dimulai dari LED D1 sampai pada LED D8 ataupun sebaliknya. 3.2 Counter LED
Gambar 3.2: Desain Counter LED
33
Pada gambar diatas menunjukkan desain counter LED pada proteus. Pada percobaan ini PORTA digunakan sebagai output input, Counter LED memiliki desain yang sama dengan Running LED namun akan berbeda saat di jalankan. Pada percobaan ini LED akan menyala sesuai dengan nilai yang telah di inputkan seperti 01, 02 dan seterusnya.
3.3 Counter Seven Segment
Gambar 3.3: Desain Conter Sevent Segment Gambar rangkaian diatas merupakan desain untuk conter sevent segment 1 digit, rangkain diatas menggunakan PORTD sebagai input outputnya. Prinsip kerjanya adalah saat program dijalankan maka seven segment akan mulai mengcounter dari angka 0 sampai 9 dan akan berhenti saat program distop.
3.4 Seven Segment 2 Digit dan LCD Pada gambar rangkaian di bawah terdapat dua buah seven segment dan satu buah LCD. Apabila program dijalankan maka kedua buah seven segment tersebut akan mengcounter dari 00-99. Setiap angka yang ditampilkan pada seven segment akan ditampilkan pula oleh LCD, pada percobaan ini untuk sevent segment kita menggunakan PORT D dan untuk LCD kita menggunakan PORTA.
34
Gambar 3.4: Desain seven segment dua digit dan L
35
Analisa 4.1 Running LED
Gambar3.1: Desain Proteus
Gambar di atas merupakan rangkaian untuk running LED. Pada percobaan ini, LED akan menyala secara bergantian dari kiri ke kanan atau mulai dari LED yang pertama (D1) sampai pada LED yang kedelapan (D8) begitu seterusnya. Setelah mendesain diproteus kemudian membuat coding pada CVR AVR
#Include <mega16.h> diatas memiliki arti berarti program yang digunakan menggunakan library yang disimpan dalam chip Atmega16. #include <delay.h> berarti menggunakan waktu delay. .h berarti .heather berarti penempatan kode tersebut di bagian atas. Pada fungsi main (place your code here) menyisipkan instruksi berikut.
36
Hal diatas menjelaskan bahwa PORT untuk out put input yang digunakan adalah PORTA dan menggunakan waktu delay selama 30 milisecond. 1.
PORTA= 0x00, pada keadaan ini semua lampu mati disebabkan input output yang diberikan bernilai 0.
2.
PORTA=0x01, pada keadaan ini lampu yang berada pada D1 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 20 sama dengan 1.
37
3.
PORTA=0x02, pada keadaan ini lampu yang berada pada D2 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 21 sama dengan 2.
4.
PORTA=0x04, pada keadaan ini lampu yang berada pada D3 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 22 sama dengan 4.
38
5.
PORTA=0x08, pada keadaan ini lampu yang berada pada D4 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 23 sama dengan 8.
6.
PORTA=0x10, pada keadaan ini lampu yang berada pada D5 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 20 sama dengan 1.
39
7.
PORTA=0x20, pada keadaan ini lampu yang berada pada D6 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 21 yang sama dengan 2.
8.
PORTA=0x40, pada keadaan ini lampu yang berada pada D7 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 22 yang sama dengan 4.
40
9.
PORTA=0x80, pada keadaan ini lampu yang berada pada D8 akan menyala hal ini disebabkan karena posisi lampu memiliki nilai 23 yang sama dengan 8.
LED
D1,D4
D2,D5
D3,D6
D4,D8
Nilai
1 atau (20)
2 atau (21)
4 atau (22)
8 atau (23)
41
4.2 Counter LED Design dari gambar di bawah sama saja dengan design pada percobaan running LED, hanya saja cara kerjanya yang berbeda. Pada percobaan ini LED akan menyala/bercounter dari 0-15 maupun sebaliknya tergantung pada code yang diinputkan.
Setelah mendesain diproteus kemudian membuat coding pada CVR AVR sebagai berikut.
#Include <mega16.h> diatas memiliki arti berarti program yang digunakan menggunakan library yang disimpan dalam chip Atmega16. #include <delay.h> berarti menggunakan waktu delay. .h berarti .heather berarti penempatan kode tersebut di bagian atas. Pada fungsi main (place your code here) menyisipkan instruksi berikut.
42
Code program diatas menjelaskan bahwa PORT untuk out put input yang digunakan adalah PORTA dan menggunakan waktu delay selama 300 milisecond atau 3 detik. a. PORTA=0x00; yang menjelaskan PORT A mengeluarkan logika (0) dengan code 0X00 hexa desimal pada LED dengan tidak ada teganagn pada LED
b. PORTA=0x01; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0X01 hexa desimal pada LED 1 yang ber nilai 1
43
c. PORTA=0x02; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x02 hexa desimal pada LED 2 yang ber nilai 2
d. PORTA=0x03yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x03 hexa desimal pada LED 1 dan 2 yang jika dijumlahkan bernilai 3.
44
e. PORTA=0x04; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x04 hexa desimal pada LED 3 yang bernilai 4
f. PORTA=0x05; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x05 hexa desimal pada LED 1 dan 3 yang jika dijumlahkan bernilai 5.
45
g. PORTA=0x06; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x06 hexa desimal pada LED 2 dan 3 yang jika dijumlahkan bernilai 6
h. PORTA=0x07; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x07 hexa desimal pada LED 1, 2 dan 3 yang jika dijumlahkan sama dengan 7.
46
i. PORTA=0x08; yang menjelaskan PORT A mengeluarkan logika (1/0) dengan code 0x08 hexa desimal pada LED 4 yang ber nilai 8
Untuk lebih jelasnya dapat dilihat dalam tabel sebagai berikut. LED
D1
D2
D3
D4
Nilai
1 atau (20)
2 atau (21)
4 atau (22)
8 atau (23)
47
LED yang Berfungsi Coding
Nilai D1
0x01
D2
1
2
3
4
5
6
7
0x04 0x05
0x06 0x07
D4
0x02 0x03
D3
0x08
8
4.3 Counter Sevent Segment.
Gambar rangkaian diatas merupakan desain untuk conter sevent segment 1 digit, rangkain diatas menggunakan PORTD sebagai input outputnya. Prinsip kerjanya adalah saat program dijalankan maka seven segment akan mulai mengcounter dari angka 0 sampai 9 dan akan berhenti saat program distop. Pada seven segment diatas kita menggubakan common cathode.
48
Setelah mendesain di proteus kemudian kita membuat coding program di AVR studio sebagai berikut.
#include <mega16.h> berarti library yang digunakan adalah ATMega 16. Dimana semua program disimpan dan .h menandakan bahwa ia terlatak pada header. #include <delay.h> adalah merupakan library tambahan sebagai fungsi delay atau menunda dan .h menandakan bahwa ia terlatak pada header. Kemudian menyisipkan code sebagai berikut:
Dari coding diatas dapat dilihat bahwa pada program ini kita menggunakan PORTD sebagai input output dan memiliki waktu delay selama 300 milisecond atau 3 detik. Masing masing coding memiliki penjelasan sebagai berikut: 1.
PORTD=0x3F; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 0 pada seven segments.
49
2.
PORTD=0x06; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 1 pada seven segments.
3.
PORTD=0x5B; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 2 pada seven segments.
50
4.
PORTD=0x4F; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 3 pada seven segments.
5
PORTD=0x66; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 0 pada seven segments.
51
6
PORTD=0x6D; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 5 pada seven segments, berdasarkan nilai bilangan hexa pada coding.
7
PORTD=0x7D; ; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 5 pada seven segments, berdasarkan nilai bilangan hexa pada coding
52
8
PORTD=0x07; ; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 7 pada seven segments, berdasarkan nilai bilangan hexa pada coding AVR.
9
PORTD=0x7F; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 8 pada seven segments, berdasarkan nilai bilangan hexa pada coding AVR
53
10 PORTD=0x6f; yang menjelaskan PORT D mengeluarkan logika (1/0) dan akan menampilkan angka 5 pada seven segments, berdasarkan nilai bilangan hexa pada coding AVR.
Setiap program di atas akan berubah atau akan mengcounter dengan waktu delay yang sama yaitu 300 ms atau 3 detik. Untuk lebih jelas dari program dapat dilihat pada tabel sebagai berikut :
54
COMMON CATHODE Angka
Bit 7 dot 23
Bit 6 g 22
Bit 5 f 21
Bit 4 e 20
Bit 3 d 23
Bit 2 c 22
Bit 1 B 21
Bit 0 a 20
0
0
0
1
1
1
1
1
1
Data (hexa)
0x3F 1
0
0
0
0
0
1
1
0 0x06
2
0
1
0
1
1
0
1
1 0x5B
3
0
1
0
0
1
1
1
1 0x4F
4
0
1
1
0
0
1
1
0 0x66
5
0
1
1
0
1
1
0
1 0x6D
6
0
1
1
1
1
1
0
1 0x7D
7
0
0
0
0
0
1
1
1 0x07
8
0
1
1
1
1
1
1
1 0x7F
9
0
1
1
0
1
1
1
1 0x6F
55
4.4 Sevent Segment 2 Digit dengan LCD
Pada gambar rangkaian di bawah terdapat dua buah seven segment dan satu buah LCD. Apabila program dijalankan maka kedua buah seven segment tersebut akan mengcounter dari 00-99. Setiap angka yang ditampilkan pada seven segment akan ditampilkan pula oleh LCD, pada percobaan ini untuk sevent segment kita menggunakan PORT D dan untuk LCD kita menggunakan PORTA. Pada salah satu input kaki sevent saegmen kita menghubungkannya ke transistor, transistor pada kondisi ini sebagai saklar dan penguat tegangan yang masuk pada seven segment. Setelah menggambar di proteus selanjutnya kita membuat code AVRnya yaitu sebagai berikut
#include <mega16.h> library yang digunakan adalah ATMega 16. Dimana semua program dalam chip Atmega16.
56
#include <stdio.h> // library yang digunakan adalah stdio yang sebagai standar input output operasi yang digunakan oleh bahasa C #include <delay.h>// merupakan library tambahan sebagai fungsi delay atau menunda . // Alphanumeric LCD functions #include
merupakan library tambahan sebagai LCD (liquid crystal display) dan menandakan bahwa program kali ini kita menggunakan tambahan komponen yaitu LCD. Dan .h menandakan bahwa ia adalah header file
angka[10]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F},buff1[33 ]; untuk menginisialisasi modul LCD int satuan,puluhan,max; // mendeklarasikan variable dengan tipe data integer
for(satuan=0;satuan<10;satuan++) {for(puluhan=0;puluhan<10;puluhan++)
Fungsi pengulangan perintah sampai mencapai keadaan <10 untuk puluhan dan satuan. <100 untuk max. “++” menyatakan proses d i bl 57
{for(max=0;max<100;max++) { PORTC.1=0; // port C dengan pin PC1 awalnya akan mengeluarkan output dengan nilai nol PORTC.0=1; // port C dengan pin PC0 awalnya akan mengeluarkan output dengan nilai satu PORTD=angka[satuan]; delay_ms(5); // waktu tunda selama 5 ms PORTC.1=1; PORTC.0=0; PORTD=angka[puluhan]; delay_ms(5); // waktu tunda selama 5 ms
lcd_gotoxy(3,0); // meletakan posisi karacter pada layar LCD yang bermula pada kolom ketiga baris pertama lcd_putsf("KELOMPOK 09"); //digunkan untuk menampilkan karacter "KELOMPOK 09" pada layar LCD lcd_gotoxy(7,1); // meletakan posisi karacter pada layar LCD yang bermula pada kolom ketujuh baris kedua sprintf(buff1,"%d %d",satuan,puluhan); lcd_puts(buff1); //menampilkan string yang disimpan pada SRAM pada LCD } } } }
naik(); pemanggilan fungsi.
58
V. KESIMPULAN Adapun kesimpulan yang didapatkan dari paktikum mikokontroler, yaiut: a. Runnimg Led: 1. ATMega 16 pada Runnimg Led berfungsi untuk menyimpan program yang telah dikerjakan untuk men ON dan OFF kan LED. 2. Proteus
berfungsi
membuat
desain
untuk
simulasi
sebelum
dihubungkan ke kotak Trainer. 3. CodeVisionAVR berfungsi membuat coding untuk menyalakan LED. 4. Program pada CodeVisionAVR dapat diatur sedemikian rupa untuk mengontrol LED mana yang akan on atau off. b. Counter LED Counter LED berfungsi menampilkan nilai bilangan biner melalui on dan offnya LED, jika on berarti bernilai 1 dan jika off maka bernilai 0. c. Counter Seven Segment 1 Digit 1. Seven Segment Display memiliki 7 Segmen dimana setiap segmen dikendalikan secara ON dan OFF untuk menampilkan angka/huruf yang diinginkan. 2. Seven Segmen 1 digit dapat menampilkan angka dari 0 (nol) sampai 9 (Sembilan) dengan menggunakan beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat menampilkan beberapa huruf alphabet. d. Counter Sevent Segment 2 Digit 1. Seven Segment dua digit merpakan kombinasi dari 1 sevent segment. 2. Seven Segment dua digit dapat menampilkan 2 digit angka desimal atau huruf, jika dalam bentuk bilangan decimal dapat menampilkan angka 00 sampai 99. 3. Transistor pada percobaan ini berfungsi sebagai saklar untuk mengatur on atau offnya seven segment.
59
VI.
KRITIK dan SARAN Adapun beberapa hal yang ingin disampaikan untuk menjadi masukkan yang bagi teknisi dan pembimbing. Agar nantinya dapat lebih baik lagi pada pertemuan yang selanjutnya. •
Praktikan mengharapkan alat dan bahan yang dipergunakan dalam praktek
memiliki
kualitas
memadai.
Sehingga
memperkecil
kemungkinan terjadinya kesalahan yang disebabkan oleh alat. •
Para pembimbing juga diharapkan dalam memberikan instruksi serta penjelasan untuk jauh lebih komunikatif lagi.
•
Pratikan mengharapkan dalam melakukan praktek agar memanfaatkan waktu dengan baik dan diharapkan agar semua mematuhi aturan yang berlaku.
60
DAFTAR PUSTAKA Ramli, Zulfikar Fajar Muhammad. 2011. “LED (Light Emiting Dioda)”. https://rasapas.wordpress.com/2011/03/04/8/ (diakses pada tanggal 23 November 2015). Anonim.
2015.
“Layar
Tujuh
Segmen”.
https://id.wikipedia.org/wiki/Layar_tujuh_ segmen (diakses pada tanggal 23 November 2015). Dewi. 2014. “Seven Segment”. http://www.slideshare.net/dewi012/prak-0(diakses pada tanggal 24 November 2015). Kho, Dickson. 2014.“Pengertian Seven Segment Display (Layar Tujuh Segmen). http://teknikelektronika.com/pengertian-seven-segment-display-layar-tujuhsegmen/(diakses pada tanggal 23 November 2015). Rizal, Syamsu. 2011. “Liquid Crystal Diode (LCD)”. https://www.scribd.com/doc/50403145/Liquid-Crystal-Diode-LCD (diakses pada tanggal 28 November 2015). Anonim. “Light Emitting Diode (LED)”. http://www.edukasielektronika.com/2013/03/light-emitting-diode-led.html (diakses pada tanggal 28 November 2015)
61