KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan,...

63
BUKU MODUL PRAKTIKUM MIKROKONTROLLER Dibuat Oleh: Iswanto, S.T, M.Eng TEKNIK ELEKTRO MEDIK PROGRAM VOKASI UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

Transcript of KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan,...

Page 1: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

BUKU MODUL PRAKTIKUM MIKROKONTROLLER

Dibuat Oleh:

Iswanto, S.T, M.Eng

TEKNIK ELEKTRO MEDIK

PROGRAM VOKASI

UNIVERSITAS MUHAMMADIYAH YOGYAKARTA

2015

Page 2: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

KATA PENGANTAR

Assalamu’alaikum wr wb

Puji syukur kehadirat Allah SWT, penulis sampaikan atas kenikmatan yang tiada tara yang selalu

dilimpahkan oleh-Nya sehingga penulisan modul praktikum Sistem Mikrokontroller ini selesai.

Sholawat dan salam semoga selalu tercurah kepada nabi Muhammad SAW.

Salah satu jenis pendidikan yang dilaksanakan di-universitas yaitu mata kuliah praktikum.

Diantara praktikum yang ada di Teknik Elektro Universitas Muhammadiyah Yogyakarta adalah

praktikum Sistem Mikrokontroller. Telah diketahui bersama bahwa sistem mikrokontroller pada

akhir-akhir periode ini memegang peranan penting dalam kehidupan. Dimulai dari alat

komunikasi, alat-alat rumah tangga, alat keamanan, dan lain sebagainya berbasis teknologi

mikroprosesor. Dalam rangka memberi bekal ilmu tersebut, maka disusunlah modul Praktikum

Sistem Mikrokontroller dibawah Laboratorium Teknik Elektro UMY.

Akhirnya, penulis ucapkan terima kasih kepada semua pihak yang telah membantu dan

membaca, serta mempraktikkan modul ini. Semoga bermanfaat.

Wassalamu’alaikum wr wb.

Agustus 2012

Penulis

Iswanto, ST, M.Eng

Page 3: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

TATA TERTIBTata Tertib Laboratorium:

1. Berlaku sopan, santun dan menjunjung etika akademik dalam laboratorium. 2. Menjunjung tinggi dan menghargai staf laboratorium dan sesama pengguna laboratorium. 3. Menjaga kebersihan dan kenyamanan ruang laboratorium. 4. Peserta praktikum (praktikan) yang mengenakan pakaian/kaos oblong tidak boleh

memasuki laboratorium dan/atau tidak boleh mengikuti praktikum. 5. Praktikan makan dan minum, membuat kericuhan selama kegiatan praktikum dan di

dalam ruang laboratorium. 6. Dilarang memindahkan, mengganti dan menggunakan peralatan di laboratorium yang

tidak sesuai dengan acara praktikum matakuliah yang diambil. 7. Praktikan yang telah menghilangkan, merusak atau memecahkan peralatan praktikum

harus mengganti sesuai dengan spesifikasi alat yang dimaksud, dengan kesepakatan antara laboran, pembimbing praktikum dan kepala laboratorium. Persentase pengantian alat yang hilang, rusak atau pecah disesuaikan dengan jenis alat atau tingkat kerusakan dari alat.

8. Apabila praktikan tidak sanggup mengganti alat yang hilang, rusak atau pecah dikarenakan harga alat mahal atau alat tidak ada dipasaran, maka nilai penggantian ditetapkan atas kesepakatan antara ketua jurusan, pembimbing praktikum dan peserta praktikum.

9. Membaca, memahami dan mengikuti prosedur operasional untuk setiap peralatan dan kegiatan selama praktikum dan di ruang laboratorium.

Hal yang perlu diperhatikan oleh praktikan sebelum meninggalkan ruangan laboratorium: 1. Pastikan komputer telah di-shutdown (dimatikan). 2. Matikan modul hardware praktikum. 3. Cabutlah kabel power komputer dari stop kontak. 4. Cabutlah kabel power modul hardware dari stop kontak. 5. Cabutlah semua kabel aplikasi pada masing-masing port mikrokontroler. 6. Rapikan kabel modul hardware dengan cara menggulung dan mengikatnya. 7. Letakkan modul hardware dan kabel-kabel aplikasi pada meja dengan rapi. 8. Rapikan laci keyboard, mouse, dan pad mouse. 9. Rapikan kursi dengan cara mendekatkannya dengan meja komputer. 10. Jangan meninggalkan sampah apapun di dalam ruang praktikum (kertas, sobekan kertas, plastik, bungkus permen, dll). 11. Periksa barang-barang anda agar tidak ada yang ketinggalan (flashdisk, buku, pulpen, handphone).

Page 4: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

12. Kehilangan barang-barang setelah meninggalkan tempat menjadi tanggung jawab praktikan sendiri.

Page 5: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

DAFTAR ISI

KATA PENGANTAR 2

TATA TERTIB 3

DAFTAR ISI 4

DAFTAR GAMBAR 8

APLIKASI PORT KELUARAN DIGITAL MIKROKONTROLLER 9

TUJUAN 9

DASAR TEORI 9

RANGKAIAN LAMPU LED 10

PEMROGRAMAN LED BERKEDIP 10

LATIHAN PEMROGRAMAN LED 11

APLIKASI PORT MASUKAN DIGITAL MIKROKONTROLLER 12

TUJUAN 12

DASAR TEORI 12

RANGKAIAN PEMBACAAN 8 TOMBOL 13

PEMROGRAMAN PEMBACAAN TOMBOL 13

LATIHAN PEMROGRAMAN SAKLAR 14

APLIKASI SEVEN SEGMENT 15

TUJUAN 15

DASAR TEORI 15

RANGKAIAN SEVEN SEGMENT 16

PEMROGRAMAN SEVENT SEGMENT 16

LATIHAN PEMROGRAMAN SEVEN SEGMENT 17

APLIKASI LCD 19

TUJUAN 19

DASAR TEORI 19

RANGKAIAN LCD 21

PEMROGRAMAN LCD 21

LATIHAN PEMROGRAMAN LCD 22

APLIKASI KEYPAD 23

Page 6: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

TUJUAN 23

DASAR TEORI 23

RANGKAIAN PEMBACAAN KEYPAD DENGAN LCD 25

PEMROGRAMAN PEMBACAAN KEYPAD 25

LATIHAN PEMROGRAMAN KEYPAD 27

APLIKASI COUNTER 29

TUJUAN 29

DASAR TEORI 29

RANGKAIAN MENCACAH COUNTER T0 30

PEMROGRAMAN MENCACAH COUNTER T0 30

RANGKAIAN MENCACAH COUNTER T1 31

PEMROGRAMAN MENCACAH COUNTER T1 31

LATIHAN PEMROGRAMAN COUNTER 32

APLIKASI TIMER 33

TUJUAN 33

DASAR TEORI 33

RANGKAIAN MENCACAH TIMER T0 34

PEMROGRAMAN MENCACAH TIMER T0 34

RANGKAIAN MENCACAH TIMER T1 35

PEMROGRAMAN MENCACAH TIMER T1 36

LATIHAN PEMROGRAMAN TIMER 37

APLIKASI ADC 38

TUJUAN 38

DASAR TEORI 38

RANGKAIAN ADC ATMEGA DENGAN LED 39

PEMROGRAMAN ADC ATMEGA16 39

LATIHAN PEMROGRAMAN ADC 40

APLIKASI INTERUPSI 41

TUJUAN 41

DASAR TEORI 41

RANGKAIAN INTERUPSI EKTERNAL 42

Page 7: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

PEMROGRAMAN INTERUPSI EKTERNAL INT0 42

LATIHAN PEMROGRAMAN INTRUPSI 43

APLIKASI PWM 44

TUJUAN 44

DASAR TEORI 44

RANGKAIAN PWM 45

PEMROGRAMAN PWM 46

LATIHAN PWM 47

APLIKASI SERIAL PORT 48

TUJUAN 48

DASAR TEORI 48

RANGKAIAN SERIAL PORT 49

PEMROGRAMAN PWM 50

LATIHAN SERIAL PORT 51

Page 8: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

DAFTAR GAMBAR

Page 9: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI PORT KELUARAN DIGITAL MIKROKONTROLLER

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja port untuk keluaran digital pada mikrokontroller

3. Mahasiswa dapat membuat program port untuk keluaran digital pada mikrokontroller

DASAR TEORI

ATmega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD.

Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port

mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama

huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address

DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address

PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin.

Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila PORTxn diset 1 pada saat

pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0

pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah

kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1,

PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0,

PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0).

Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan

impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan

sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1

untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pullup

ke kondisi output low juga menimbulkan masalah yang sama. Kita harus menggunakan kondisi

tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi

transisi.

Page 10: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

RANGKAIAN LAMPU LED

Rangkaian minimum untuk menghidupkan 8 LED melalui Port B ditunjukan pada

Gambar 3.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode

(CA) artinya untuk menghidupkan LED pada Port B, port B harus dikirim atau diberi logika ‘0’.

S W 1

12

C 3 1 0 0 n F

V C C

V C C

R 1

X1

C 1 2 2 p F

V C C

V C C

U 1

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (IN T2 / A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K /T0 )

P B 3 (O C 0 /A IN 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

R S T

C 2 2 2 p F

Hasil pemasangan komponen rangkaian lampu led

PEMROGRAMAN LED BERKEDIP

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>void main(void){ char a; char b; a=0x000; b=0x0FF; DDRB=0xFF; while(1) { PORTB= a; delay_ms(500); PORTB= b; delay_ms(500); }}

Page 11: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

LATIHAN PEMROGRAMAN LED

1. Jelaskan program diatas

2. Buatlah dan Jelaskan Program LED Flip-Flop

3. Buatlah dan Jelaskan Program LED Berjalan Kekanan

4. Buatlah dan Jelaskan Program LED Berjalan kekiri

Page 12: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI PORT MASUKAN DIGITAL MIKROKONTROLLER

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja port untuk keluaran digital pada mikrokontroller

3. Mahasiswa dapat membuat program port untuk keluaran digital pada mikrokontroller

DASAR TEORI

ATmega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD.

Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port

mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama

huruf dari port sedangkan huruf ‘n’ mewakili nomor bit. Bit DDxn terdapat pada I/O address

DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address

PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin.

Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat

pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan

resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah

tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin

output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi

sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-

state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada

kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output

low (DDxn=1, PORTxn=0).

Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan

impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan

sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1

untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pullup

ke kondisi output low juga menimbulkan masalah yang sama. Kita harus menggunakan kondisi

tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi

transisi.

Page 13: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Bit 2 – PUD : Pull-up Disable. Bila bit diset bernilai 1 maka pull-up pada port I/O akan

dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up

(DDxn=0, PORTxn=1).

RANGKAIAN PEMBACAAN 8 TOMBOL

Rangkaian pembacaan 8 buah tombol adalah rangkaian untuk membaca penekanan tombol

yang terhubung pada port keluaran mikrokontroller yang hasilnya tertampil pada led .

P O R TC . 6U 1

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (IN T2 / A IN 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

P O R TC . 1

P O R TC . 4

P O R TC . 5

V C C

C 2 2 2 p F

C 1 2 2 p F

V C C

V C C

P O R TC . 0

R S T

P O R TC . 6

P O R TC . 1

V C C

P O R TC . 4

P O R TC . 7

C 3 1 0 0 n F

J P 3

R -P A C K

123456789

P O R TC . 2

R 1

P O R TC . 7

P O R TC . 5

P O R TC . 3

V C C

S W 1

12

P O R TC . 0

P O R TC . 3

X1

P O R TC . 2

Rangkaian aplikasi pembacaan 8 buah tombol

PEMROGRAMAN PEMBACAAN TOMBOL

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>

void jalankiri(){char i;volatile unsigned char dataLED=0x80;DDRB=0xFF;PORTB = 0;for(i=0; i<8;i++) { dataLED= ((dataLED<<1) | (dataLED >>7)); PORTB=dataLED;

Page 14: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

delay_ms(100); }}

void jalankanan(){char i;volatile unsigned char dataLED=0x01;DDRB=0xFF;PORTB = 0;for(i=0; i<8;i++) { dataLED= ((dataLED<<7) | (dataLED >>1)); PORTB=dataLED; delay_ms(100); }}

void main(void){DDRC=0x00;while(1) { if (PINC.0==1) { jalankanan(); } else { jalankiri(); } }}

LATIHAN PEMROGRAMAN SAKLAR

1. Jelaskan program diatas

2. Buatlah dan Jelaskan Program jika tombol 0 ditekan maka led akan berkedip

3. Buatlah dan Jelaskan Program jika tombol 3 ditekan maka LED Berjalan Kekanan

4. Buatlah dan Jelaskan Program jika tombol 0 ditekan maka LED akan flip flop.

Page 15: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI SEVEN SEGMENT

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara segment

3. Mahasiswa dapat membuat program untuk segment

DASAR TEORI

Peralatan keluaran yang sering digunakan dalam menampilkan bilangan adalah penampil

seven segmen yang ditunjukkan pada gambar 4.1 (a). tujuh segmen tersebut dilabelkan dengan

huruf a sampai g.

a

f b

g

e c

d

(a) (b)

Tabel 11.1 (a) Tampilan Fisik LED, (b)

Skema dalam LED

Peraga seven segmen dapat dibuat dalam berbagai cara. Tiap tujuh segmen tersebut dapat

berupa filamen tipis yang berpijar. Jenis peraga ini disebut peraga pijar (meandescent display),

dan sama dengan bola lampu biasa. Peraga jenis lain adalah LCD (liquid crystal display), peraga

cairan, yang ,menghasilkan angka – angka berwarna kelabu atau puth perak. Dioda pemancar

cahaya (LED, Light Emiting Dioda) menghasilkan cahaya kemerah – merahan. Pada peraga

LED, LED membutuhkan arus khusus sebesar 20 mA. Karena berupa dioda, LED sensitif

terhadap polaritas. Katoda (K) harus dihubung ke negatif (GND) dari catu daya dan Anoda (A)

dihubung ke positif dari catu daya. Seven segmen ini mempunyai 2 tipe yaitu common anoda dan

common katoda. Gambar 4.1(b) memperlihatkan catu daya yang dihubungkan ke seven segmen

common anoda.

Page 16: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

RANGKAIAN SEVEN SEGMENT

Rangkaian seven segment tunggal adalah rangkaian untuk menggerakkan penampil 7

segment secara langsung dari port keluaran mikrokontroller. Penampil seven segment yang

digunakan common anoda. Data yang digunakan untuk menghasilkan angka atau huruf tertentu

didapatkan dengan cara seperti pada Tabel 4.1

10985421

6

3

P 2

P D 5

P 6

P 7

P D 2

P 4

P 1

P D 3

P D 4

P D 0

P D 1

V C C

R 1

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 /A IN 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [S C K )P B 6 [M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 /A IN 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

P 6

P D 5

P D 4

C 1 2 2 p F

V C C

P D 7

P D 6

C 3 1 0 0 n F 1

P 5

P 5

S W 2

12

P 3

P D 0

V C C

R S T

P D 7

P 0

P D 3

J I S P

H E A D E R 5

12345

C 2 2 2 p F

P D 6

R S TP 7

X1

V C C

P D 2

G N D

P D 1

Rangkaian aplikasi penggerak seven segmen tunggal

PEMROGRAMAN SEVENT SEGMENT

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>

void bin7seg(unsigned char data1){ switch(data1) { case 0 : PORTD = 0xc0; break; case 1 : PORTD = 0xf9;

Page 17: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

break; case 2 : PORTD = 0xa4; break; case 3 : PORTD = 0xb0; break; case 4 : PORTD = 0x99; break; case 5 : PORTD = 0x92; break; case 6 : PORTD = 0x82; break; case 7 : PORTD = 0xf8; break; case 8 : PORTD = 0x80; break; case 9 : PORTD = 0x90; break; }}

void main(void){DDRD=0xFF;while(1) { bin7seg(0); delay_ms(100); bin7seg(2); delay_ms(100); }}

LATIHAN PEMROGRAMAN SEVEN SEGMENT

1. Jelaskan program diatas

2. Buatlah dan Jelaskan Program jika tombol 0 ditekan maka seven segment menampilkan

angka 0

Page 18: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

3. Buatlah dan Jelaskan Program jika tombol 3 ditekan maka seven segment menampilkan

angka 3

4. Buatlah dan Jelaskan Program jika tombol 8 ditekan maka seven segment menampilkan

angka 8

Page 19: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI LCD

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja LCD pada mikrokontroller

3. Mahasiswa dapat membuat program port untuk LCD pada mikrokontroller

DASAR TEORI

Kemampuan dari LCD untuk menampilkan tidak hanya angka-angka, tetapi juga huruf-huruf,

kata-kata dan semua sarana simbol, lebih bagus dan serbaguna daripada penampil-penampil

menggunakan 7-segment LED (Light Emiting Diode) yang sudah umum. Modul LCD

mempunyai basic interface yang cukup baik, yang mana sesuai dengan minimum system 8031.

Sesuai juga dengan keluarga mikrokontroler yang lain. Bentuk dan ukuran modul-modul

berbasis karakter banyak ragamnya, salah satu variasi bentuk dan ukuran yang tersedia dan

dipergunakan pada peralatan ini adalah 16x 2 karakter (panjang 16, baris 2, karakter 32) dan 16

pin.

Ketika power dinyalakan, display menampilkan sederet persegi gelap, mungkin hanya

pada sebagian display. Sel-sel karakter ini sebenarnya merupakan bagian yang mati. Modul

display mereset sendiri pada bagian awal ketika power dinyalakan, yang mana layar jadi kosong

sehingga karakter-karakter tidak dapat terlihat. Dengan demikian perlu untuk memberikan

perintah pada poin ini, untuk menyalakan display.

Penulisan data ke Register Perintah dilakukan dengan tujuan mengatur tampilan LCD,

inisialisasi dan mengatur Address Counter maupun Address Data. Gambar 5 menunjukkan

proses penulisan data ke register perintah dengan menggunakan mode 4 bit interface. Kondisi RS

berlogika 0 menunjukkan akses data ke Register Perintah. RW berlogika 0 yang menunjukkan

proses penulisan data akan dilakukan. Nibble tinggi (bit 7 sampai bit 4) terlebih dahulu

dikirimkan dengan diawali pulsa logika 1 pada E Clock. Kemudian Nibble rendah (bit 3 sampai

bit 0) dikirimkan dengan diawali pulsa logika 1 pada E Clock lagi. Untuk mode 8 bit interface,

proses penulisan dapat langsung dilakukan secara 8 bit (bit 7 … bit 0) dan diawali sebuah pulsa

logika 1 pada E Clock.

Page 20: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Timing diagram penulisan data ke register mode 4 bit interface

Proses pembacaan data pada register perintah biasa digunakan untuk melihat status busy

dari LCD atau membaca Address Counter. RS diatur pada logika 0 untuk akses ke Register

Perintah, R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. 4 bit nibble tinggi

dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit nibble rendah dibaca

dengan diawali pulsa logika 1 pada E Clock. Untuk Mode 8 bit interface, pembacaan 8 bit

(nibble tinggi dan rendah) dilakukan sekaligus dengan diawali sebuah pulsa logika 1 pada E

Clock

Timing Diagram Pembacaan Register Perintah Mode 4 bit Interface

Page 21: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

RANGKAIAN LCD

A D C 4

V C C

p in b . 7

D 3

1 N 4 0 0 2

AC

V C C

A D C 5

p in b . 5

V C C

p in b . 7

X1

R re s e t

p in b . 6A D C 7

p in b . 6

C 1 2 2p F

R S _ L C DR S T

J 5

H E A D E R 5

12345

p in b . 7

A D C 5

V C C

C 2 2 2p F

V C C

R S _ L C D

R S T

J 1 6 .

H E A D E R 1 6

123456789

1 01 11 21 31 41 51 6

p in b . 7

A D C 6

p in b . 6p in b . 6

C 3 1 00 nFS W 1

12

V C C

E _ L C D

p in b . 5

A D C 4A D C 6

A D C 7

U 1

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 / A I N 0 )

XTA L2XTA L1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L)

E _ L C DR 9

5 k

Gambar 8.1. Rangkaian LCD mikrokontroller

PEMROGRAMAN LCD

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>#include <stdio.h>

#asm.equ __lcd_port=0x18;PORTB#endasm

#include <lcd.h>

void main(void){lcd_init(16);lcd_gotoxy(0,0);lcd_putsf("Halo Iswanto");delay_ms(100);lcd_gotoxy(0,1);lcd_putsf("D3 T.ELEKTRO");delay_ms(100);lcd_gotoxy(5,0);

Page 22: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

lcd_putsf("UGM ");delay_ms(100);while (1);}

LATIHAN PEMROGRAMAN LCD

1. Jelaskan program diatas

2. Buatlah dan Jelaskan Program Menampilkan nama sendiri dan nim

Page 23: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI KEYPAD

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja keypad pada mikrokontroller

3. Mahasiswa dapat membuat program keypad pada mikrokontroller

DASAR TEORI

Keypad 4x3 di sini adalah sebuah keypad matrix dengan susunan empat baris dan tiga

kolom dengan sebuah common.

Gambar 12.1 Konstruksi keypad 4x3 dengan common

Seperti terlihat dalam gambar di atas, apabila saklar ‘1’ ditekan, maka baris 1 dan kolom

1 akan terhubung ke common. Apabila saklar ‘2’ ditekan, maka baris 1 dan kolom 2 akan

terhubung ke common dan seterusnya.

Page 24: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Gambar 12.2 Gambar interface keypad 4x3

Agar keypad tersebut dapat memberian input pada B51PEB, maka terlebih dahulu keypad

ini harus disusun dalam sebuah rangkaian di mana terdapat perbedaan kondisi pada pin-pinnya

antara kondisi tidak ada penekanan tombol, penekanan tombol 1, 2, 3 dan seterusnya.

Kondisi tidak adanya penekanan tombol diatur dengan adanya kondisi logika high

dengan menghubungkan semua pin keypad (kecuali common) ke VCC melalui resistor pull up.

Pada saat tombol tidak ditekan, maka arus akan mengalir dari VCC melalui resistor menuju ke

port seperti tampak pada gambar berikut.

Gambar 12.3 Aliran arus saat tombol tidak ditekan

Page 25: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Sedangkan saat tombol ditekan, maka baris dan kolom akan terhubung ke ground sehingga

kondisi pada baris dan kolom tersebut akan menjadi low. Apabila tombol ‘1’ ditekan, maka baris

1 dan kolom 1 akan terhubung ke ground sehingga kondisi baris dan kolom tersebut akan

berubah menjadi low, demikian pula pada tombol ‘2’ dan seterusnya sehingga terbentuk tabel

berikut.

RANGKAIAN PEMBACAAN KEYPAD DENGAN LCD

S 8

S W

S 11

S W

P D 2

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (IN T2 / A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M IS O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K /T0 )

P B 3 (O C 0 /A IN 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2)

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

J 5

H E A D E R 5

12345

p in b .6

P D 0X1

P D 5

S 1 7

S W

P D 1

C 3 1 0 0 n F 1

p in b . 0

S W 2

12

D 3

1 N 4 0 0 2A

C

S 5

S W

p inb . 6

V C C

S 9

S W

P D 7

p inb . 7

p in b .0

J 1 6.

H E A D E R 1 6

123456789

1 01 11 21 31 41 51 6

P D 1

p inb . 6

P D 6

C 2 2 2 p F

P D 4S 1 5

S W

P D 6

p inb . 6

S 1 2

S W

p inb . 5

S 1 8

S W

P D 5

S 1 6

S W

R S T

P D 2

p in b . 1

P D 7

S 6

S W

p in b .7

p inb . 7

p in b .2

S 1 3

S W

C 1 2 2 p F

P D 3

p inb . 7

P D 0

S 10

S W

V C C

p inb . 6

p inb . 7

S 1 9

S W

p in b .5

R 1

P D 3

V C C

V C C

p in b .1

R 95 k

V C C

V C C

S 4

S W

S 7

S W

S 1 4

S W

p in b . 2

p in b .4

P D 4

p in b . 5

Rangkaian aplikasi tombol keypad dengan lcd

PEMROGRAMAN PEMBACAAN KEYPAD

Program sebagai berikut ini

#include <lcd.h>#include <stdio.h>

Page 26: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

#include <mega16.h>#include <delay.h>

#asm.equ __lcd_port=0x18;PORTB#endasm

unsigned char dt, dtkey;char buf[33];

void inkey(void);

void main(){ PORTD = 0XFF; DDRD=0xF0; lcd_init(16); lcd_gotoxy(0,1); lcd_putsf("Hello world"); while(1) { inkey(); lcd_gotoxy(0,1); sprintf(buf,"hex %x ",dtkey); lcd_puts(buf); }}

void inkey(void){PORTD.4 = 0;dt = (~PIND & 0x0F);switch (dt){case 1:dtkey = 0x01; break;case 2:dtkey = 0x05; break;case 4:dtkey = 0x09; break;case 8:dtkey = 0x13; break;}

PORTD.4 = 1;PORTD.5 = 0;dt = (~PIND & 0x0F);

Page 27: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

switch (dt){case 1:dtkey = 0x02; break;case 2:dtkey = 0x06; break;case 4:dtkey = 0x10; break;case 8:dtkey = 0x14; break;}

PORTD.5 = 1;PORTD.6 = 0;dt = (~PIND & 0x0F);switch (dt){case 1:dtkey = 0x03; break;case 2:dtkey = 0x07; break;case 4:dtkey = 0x11; break;case 8:dtkey = 0x15; break;}

PORTD.6 = 1;PORTD.7 = 0;dt = (~PIND & 0x0F);switch (dt){case 1:dtkey = 0x04; break;case 2:dtkey = 0x08; break;case 4:dtkey = 0x12; break;case 8:dtkey = 0x16; break;}PORTD.7 = 1;}

LATIHAN PEMROGRAMAN KEYPAD

1. Jelaskan program diatas

Page 28: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana
Page 29: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI COUNTER

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja counter pada mikrokontroller

3. Mahasiswa dapat membuat program counter pada mikrokontroller

DASAR TEORI

Timer dan Counter merupakan sarana input yang kurang dapat perhatian pemakai

mikrokontroler, dengan sarana input ini mikrokontroler dengan mudah bisa dipakai untuk

mengukur lebar pulsa, membangkitkan pulsa dengan lebar yang pasti. AVR ATMEGA16

memiliki tiga buah timer, yaitu Timer/Counter0 (8 bit), Timer/Counter1 (16 bit), dan

Timer/Counter3 (16 bit).

Timer/couter adalah tujuan umum single channel, module 8 bit timer/counter. Beberapa

fasilitas chanel dari timer counter antara lain:

Counter channel tunggal

Pengosongan data timer sesuai dengan data pembanding

Bebas -glitch, tahap yang tepat Pulse Width Modulator (PWM)

Pembangkit frekuensi

Event counter external

Blok diagram timer counter

Page 30: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Gambar diagram block timer/counter 8 bit ditunjukan pada gambar di bawah ini. Untuk

penempatan pin I/O telah di jelaskan Ibit hal 67 pada bagian I/O di atas. CPU dapat diakses

register I/O, termasuk dalam pinpin I/O dan bit I/O. Device khusus register I/O dan lokasi bit

terdaftar pada deskripsi timer/counter 8 bit pada gambar 1.13

RANGKAIAN MENCACAH COUNTER T0

V C C

P 6

P 2

P 7

P 5

P 3

P 1

R 1

L 11 2

P 0

C 3 1 0 0 nF 1

V C C

P 5

P 4

R S T

V C C

1 2

V C C

P 6

U 4

A TM E G A 1 6

3

1213

2

16171819

1110

876

3635343332

37

1

45

9

1415

20 21

403938

31302928272625242322

P B 2 (I N T2 / A IN 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (IN T0)P D 3 (IN T1)P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (IC P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

C 2 2 2 p F

S W 2

12

P 7R S T

J I S P

H E A D E R 5

12345

X1

1 21 2

1 2

G N D

1 2

1 2

C 1 2 2 p F

1 2

Hasil pemasangan komponen-komponen mencacah counter T0

PEMROGRAMAN MENCACAH COUNTER T0

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>#include <stdio.h>

unsigned char led,a;

void InisialisasiTIMER ();

void main (void){ DDRD = 0xff; led=0x00; InisialisasiTIMER();

Page 31: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

while(1) { a = TCNT0; if (a == 0x06) { led = PIND; PORTD=~led; TCNT0=0x00; } }}

void InisialisasiTIMER (){ TCNT0=0x00; TCCR0=0x07;}

RANGKAIAN MENCACAH COUNTER T1

P 3

P 6V C C

L 11 2

1 2

P 7R 1

1 2

P 0

G N D

P 5P 4

1 2

P 1

C 1 2 2 p F

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (IN T2 / A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M IS O )P B 5 (M O S I )

P A 4(A D C 4 )P A 5(A D C 5 )P A 6(A D C 6 )P A 7(A D C 7 )

A R E F

P A 3(A D C 3 )

P B 0 (XC K /T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0(A D C 0 )P A 1(A D C 1 )P A 2(A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

V C C

R S T

1 2

V C C V C C

1 2

1 2

P 5

P 7

C 2 2 2 p F

C 3 1 0 0 n F 1

R S T

X1

1 2

S W 2

12

P 6

P 2

J I S P

H E A D E R 5

12345

Gambar 6.1. Hasil pemasangan komponen-komponen mencacah counter T1

PEMROGRAMAN MENCACAH COUNTER T1

Program sebagai berikut ini

#include <mega16.h>

Page 32: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

#include <delay.h>#include <stdio.h>

unsigned char led,a;

void InisialisasiTIMER ();

void main (void){ DDRD = 0xff; led=0x00; InisialisasiTIMER(); while(1) { a = TCNT1L + TCNT1H; if (a == 0x06) { led = PIND; PORTD=~led; TCNT1L=0x00; TCNT1H=0x00; } }}

void InisialisasiTIMER (){ TCNT1L=0x00; TCNT1H=0x00; TCCR1A=0x00; TCCR1B=0x07;}

LATIHAN PEMROGRAMAN COUNTER

1. Jelaskan program diatas

Page 33: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI TIMER

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja timer pada mikrokontroller

3. Mahasiswa dapat membuat program timer pada mikrokontroller

DASAR TEORI

Timer dan Counter merupakan sarana input yang kurang dapat perhatian pemakai

mikrokontroler, dengan sarana input ini mikrokontroler dengan mudah bisa dipakai untuk

mengukur lebar pulsa, membangkitkan pulsa dengan lebar yang pasti. AVR ATMEGA16

memiliki tiga buah timer, yaitu Timer/Counter0 (8 bit), Timer/Counter1 (16 bit), dan

Timer/Counter3 (16 bit).

Timer/couter adalah tujuan umum single channel, module 8 bit timer/counter. Beberapa

fasilitas chanel dari timer counter antara lain:

Counter channel tunggal

Pengosongan data timer sesuai dengan data pembanding

Bebas -glitch, tahap yang tepat Pulse Width Modulator (PWM)

Pembangkit frekuensi

Event counter external

Blok diagram timer counter

Page 34: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Gambar diagram block timer/counter 8 bit ditunjukan pada gambar di bawah ini. Untuk

penempatan pin I/O telah di jelaskan Ibit hal 67 pada bagian I/O di atas. CPU dapat diakses

register I/O, termasuk dalam pinpin I/O dan bit I/O. Device khusus register I/O dan lokasi bit

terdaftar pada deskripsi timer/counter 8 bit pada gambar 1.13

RANGKAIAN MENCACAH TIMER T0

V C C

P 6

P 2

P 7

P 5

P 3

P 1

R 1

L 11 2

P 0

C 3 1 0 0 n F 1

V C C

P 5

P 4

R S T

V C C

1 2

V C C

P 6

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 / A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

C 2 2 2 p F

S W 2

12

P 7R S T

J I S P

H E A D E R 5

12345

X1

1 21 2

1 2

G N D

1 2

1 2

C 1 2 2 p F

1 2

Hasil pemasangan komponen-komponen mencacah counter T0

PEMROGRAMAN MENCACAH TIMER T0

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>#include <stdio.h>

unsigned char led=0;char a;

void InisialisasiTIMER ();

void main (void){ DDRB=0x00;

DDRD=0xFF; PORTD=led; InisialisasiTIMER();

Page 35: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

led = 0x01; while(1) { if (led == 0x80) { led = 0x01; } a = TCNT0; if (a == 0xFE) { PORTD=led; TCNT0=0x00; led=led <<1; } }}

void InisialisasiTIMER (){ TCNT0=0x00; TCCR0=0x05;}

RANGKAIAN MENCACAH TIMER T1

P 3

P 6V C C

L 11 2

1 2

P 7R 1

1 2

P 0

G N D

P 5P 4

1 2

P 1

C 1 2 2p F

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 / A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1)P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

V C C

R S T

1 2

V C C V C C

1 2

1 2

P 5

P 7

C 2 2 2p F

C 3 1 0 0 nF 1

R S T

X1

1 2

S W 2

12

P 6

P 2

J I S P

H E A D E R 5

12345

Hasil pemasangan komponen-komponen mencacah counter T1

Page 36: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

PEMROGRAMAN MENCACAH TIMER T1

Program sebagai berikut ini

#include <mega16.h>#include <delay.h>#include <stdio.h>

unsigned char led=0;char a;

void InisialisasiTIMER ();

void main (void){ DDRB=0x00;

DDRD=0xFF; PORTD=led; InisialisasiTIMER(); led = 0x01; while(1) { if (led == 0x80) { led = 0x01; } a = TCNT1L + TCNT1H; if (a == 0xFE) { PORTD=led; TCNT1L=0x00; TCNT1H=0x00; led=led <<1; } }}

void InisialisasiTIMER (){ TCNT1L=0x00; TCNT1H=0x00; TCCR1A=0x00; TCCR1B=0x05;}

Page 37: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

LATIHAN PEMROGRAMAN TIMER

1. Jelaskan program diatas

Page 38: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI ADC

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja port ADC pada mikrokontroller

3. Mahasiswa dapat membuat program port ADC pada mikrokontroller

DASAR TEORI

ATmega16 mempunyai ADC (Analog to Digital Converter) internal dengan fitur sebagai

berikut (untuk lebih detil dapat mengacu pada datasheet) :

� 10-bit Resolution

� 65 - 260 μs Conversion Time

� 8 Multiplexed Single Ended Input Channels

� Optional Left Adjustment for ADC Result Readout

� 0 - VCC ADC Input Voltage Range

� Selectable 2.56V ADC Reference Voltage

� Free Running or Single Conversion Mode ~ ADC Start Conversion by Auto Triggering

on Interrupt 9Ibit ha l 49 Sources

� Interrupt on ADC Conversion Complete

� Sleep Mode Noise Canceler

Dibawah ini gambar timing diagram untuk mode single convertion maksudnya hanya satu input

chanel saja yang dikonversi.

�� Gambar 4. 1 Timing diagram mode single conversion

Page 39: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

RANGKAIAN ADC ATMEGA DENGAN LED

Rangkaian minimum untuk membaca ADC dengan tempilan LED ditunjukan pada Gambar 9.7

yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu Common Anode (CA) artinya

untuk menghidupkan LED pada Port D, port D harus dikirim atau diberi logika ‘0’.

P 7

G N D

C 1 2 2 pF

S W 2

12

P 7

C 2 2 2 pF

P 3

V C C

R S T

V C C

J I S P

H E A D E R 5

12345

1 2

P 6

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 / A I N 0)

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

1 21 2

R 1

R S T

C 3 1 0 0 n F 1

P 1

P 5

V C C

P 2

1 2

V C C

L11 2

1 2

X1

P 6

1 2

1 2

P 4

R 2

P O T

13

2

P 0

P 5

Hasil pemasangan komponen ADC LED

PEMROGRAMAN ADC ATMEGA16

Program sebagai berikut ini

#include <mega16.h>#include <stdio.h>#include <delay.h>

unsigned int data_adc;int suhu;

#define ADC_VREF_TYPE 0x60

unsigned char read_adc(unsigned char adc_input){ADMUX=adc_input|ADC_VREF_TYPE;ADCSRA|=0x40;while ((ADCSRA & 0x10)==0);ADCSRA|=0x10;return ADCH;}

Page 40: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

void main(void){DDRD = 0xFF;ADMUX=ADC_VREF_TYPE;ADCSRA=0x87;SFIOR&=0xEF;while (1) { data_adc=read_adc(0); suhu=~data_adc; PORTD = suhu; }}

LATIHAN PEMROGRAMAN ADC

1. Jelaskan program diatas

Page 41: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI INTERUPSI

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja interupsi pada mikrokontroller

3. Mahasiswa dapat membuat program interupsi pada mikrokontroller

DASAR TEORI

Interupsi adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler

berhenti sejenak untuk melayani interupsi tersebut. Program yang dijalankan pada saat melayani

interupsi disebut Interrupt Service Routine. Pada sistem mikrokontroler yang sedang

menjalankan programnya, saat terjadi interupsi , program akan berhenti sesaat, melayani

interupsi tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh

vektor dari interupsi yang terjadi hingga selesai dan kembali meneruskan program yang terhenti

oleh interupsi tadi.

Tabel 1. 1Interrupt vektor

Page 42: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Meskipun memerlukan pengertian yang lebih mendalam, pengetahuan mengenai

interupsi sangat membantu mengatasi masalah pemrograman mikroprosesor / mikrokontroler

dalam hal menangani banyak peralatan input/output. Pengetahuan mengenai interupsi tidak

cukup hanya dibahas secara teori saja, diperlukan contoh program yang konkrit untuk

memahami. ATMEGA16 memiliki 21 buah sumber interupsi. Interupsi tersebut bekerja jika bit I

pada Register status atau Status Register (SREG) dan bit pada masing-masing register bernilai 1.

RANGKAIAN INTERUPSI EKTERNAL

Rangkaian berikut digunakan untuk interupsi ekternal mikrokontroller. Rangkaian

tersebut menggunakan interupsi eksternal 0, 1, dan 2 yang menggunakan tampilan LED yang

dihubungkan pada Port A.

12

P 6

P 3

12

INT2U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 /A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

R S T

C 2 2 2 p F

12

V C C

P 7

R S T

S W 2

12

L 112

J I S P

H E A D E R 5

12345

X1

V C C

P 5

V C C

12R 1

C 3 1 0 0 n F 1

P 5

P 4

P 2

V C C

G N D

INT1

12

V C C

P 6

P 7

C 1 2 2 p F V C C

P 112

P 0

INT0

12

V C C

Rangkaian interupsi ekternal mikrokontroller

PEMROGRAMAN INTERUPSI EKTERNAL INT0

Program sebagai berikut ini

Page 43: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

#include <mega16.h>#include <delay.h>#include <stdio.h>

unsigned char dt=0x01;

void InisialisasiINT0();

void main (void){

DDRA=0xff; InisialisasiINT0();#asm ("sei");

while(1) { PORTA=dt; delay_ms(100); dt=dt<<1; if (dt==0) {dt=0x01;} }}

interrupt [EXT_INT0] void ext_int0_isr(void){unsigned char rr=0;while (rr<5) { PORTA=0x0f; delay_ms(5); PORTA=0xf0; delay_ms(5); ++rr; }}void InisialisasiINT0 (){ GICR|=0x80; MCUCR=0x0C; MCUCSR=0x00; GIFR=0x80;}

LATIHAN PEMROGRAMAN INTRUPSI

1. Jelaskan program diatas

Page 44: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI PWM

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja pwm pada mikrokontroller

3. Mahasiswa dapat membuat program pwm pada mikrokontroller

DASAR TEORI

PWM (Pulse Width Modulation) dapat digunakan untuk mengatur kecepatan motor, yaitu

dengan cara mengatur lebar pulsa (waktu ON) dari tegangan sumbernya (tegangan DC).

Perbandingan antara waktu ON dan waktu OFF disebut duty cycle (siklus kerja). Semakin besar

siklus kerjanya, akan semakin besar pula keluaran yang dihasilkan, sehingga kecepatan motor

akan semakin besar. Pembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa

keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi

sederhana.

Mikrokontroler AVR ATMEGA16 dapat digunakan sebagai pembangkit gelombang

PWM. Mikrokontroler AVR ATMEGA16 mempunyai PWM yang telah terintegrasi dalam chip.

Keluaran dari PWM tersebut terdapat pada pin 15 (OC1). Untuk menjalankan program PWM,

diperlukan 3 unit register timer, yaitu:

a. Timer/Counter Control Register (TCCR), untuk menentukan mode PWM.

b. Timer/Counter Register (TCNT), digunakan untuk menentukan modulasi frekuensinya.

c. Output Compare Register (OCR), untuk menentukan nilai siklus kerjanya.

nilai counter nilai OCR TOP

Keluaran

Gambar 8.1 Prinsip Kerja Mode Fast PWM

Page 45: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

Dalam mikrokontroler ATMEGA16, terdapat beberapa mode PWM. Mode PWM yang

akan dibahas adalah mode Fast PWM, karena dalam perancangan sistem robot ini menggunakan

mode Fast PWM. Pada mode Fast PWM, semakin besar nilai OCR, maka akan semakin besar

pula siklus kerja yang dihasilkan. Keluaran PWM akan berlogika tinggi setelah nilai TOP

tercapai sampai nilai OCR tercapai dan kemudian akan berlogika rendah sampai nilai TOP

tercapai kembali. Prinsip kerja dari Fast PWM dapat dilihat pada Gambar 10.1.

RANGKAIAN PWM

Rangkaian minimum untuk pwm melalui Port D.4 dan Port D.5 ditunjukan pada Gambar

10.2. Rangkaian tersebut menggunakan diver motor dc yaitu transistor. Rangkaian driver tersebut

akan di hubungkan dengan pin D.4 dan pin D.5.

U 1

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2(I N T2 /A I N 0 )

XTA L 2XTA L 1

P B 1(T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5(M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0(XC K / T0 )

P B 3(O C 0 / A I N 1 )P B 4(S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2)

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

p in b . 7

1 2 V 2M G 2

M O TO R D C

12

R S T

4 7 0

Q 2TI 9 0 1 3

C 3 1 0 0 nF 1

p in b . 6

C 2 22 p F

5 V

TI 9 0 1 3

E N 2

4 7 0

E N 2E N 2

5 V

M G 2

M O TO R D C

12

p in b . 5

S W 2

12

E N 2

TIP 3 05 5

D 2

D IO D E

E N 2

E N 2

D 1

D IO D E

C 1 22 p F

R S T

E N 2

1 2 V 2

X1

E N 2

TIP 3 05 5

E N 2

J I S P

12345

E N 2

R 1

5 V

p in b .6p in b .7

p in b .5

Gambar 8.2 Hasil pemasangan komponen rangkaian minimum untuk pwm

Page 46: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

PEMROGRAMAN PWM

Program sebagai berikut ini

//-------------------------------------------------------// Program PWM// DEKLARASI HEADER//-------------------------------------------------------#include <stdio.h>#include <mega16.h>#include <delay.h>//------------------------------------------------------//DEKLARASI SUB RUTIN//------------------------------------------------------void InisialisasiPWM();//------------------------------------------------------//DEKLARASI VARIABEL//------------------------------------------------------int data1;int data2;//------------------------------------------------------//RUTIN UTAMA//------------------------------------------------------void main (void){InisialisasiPWM();while(1) { data1 = 50; data2 = 1024; OCR1A=data1; OCR1B=data2; TIFR=0; }}//------------------------------------------------------//SUB RUTIN INISIALISASI PWM//------------------------------------------------------void InisialisasiPWM(){DDRD=0xff;TCCR1A=0xa3;TCCR1B=0x0b;TCNT1=0x0000;}

Page 47: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

LATIHAN PWM

1. Jelaskan program diatas

Page 48: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

APLIKASI SERIAL PORT

TUJUAN

1. Mahasiswa dapat menjalankan program CodeVisionAVR 2.

2. Mahasiswa dapat memahami cara kerja serial port pada mikrokontroller

3. Mahasiswa dapat membuat program serial port pada mikrokontroller

DASAR TEORI

Universal synchronous dan asynchronous pemancar dan penerima serial adalah suatu alat

komunikasi serial sangat fleksibel. Jenis yang utama adalah :

� Operasi full duplex (register penerima dan pengirim dapat berdiri sendiri )

� Operasi Asychronous atau synchronous

� Master atau slave mendapat clock dengan operasi synchronous

� Pembangkit boud rate dengan resolusi tinggi

� Dukung frames serial dengan 5, 6, 7, 8 atau 9 Data bit dan 1 atau 2 Stop bit

� Tahap odd atau even parity dan parity check didukung oleh hardware

� Pendeteksian data overrun

� Pendeteksi framing error

� Pemfilteran gangguan ( noise ) meliputi pendeteksian bit false start dan pendeteksian low pass

filter digital

� Tiga interrupt yaitu TX complete, TX data register empty dan RX complete.

� Mode komunikasi multi-processor

� Mode komunikasi double speed asynchronous

USART harus diinisialisasi sebelum komunikasi manapun dapat berlansung. Proses inisialisasi

normalnyaterdiri daripengesetan boud rate, penyetingan frame format dan pengaktifan pengirim atau

penerimatergantung pada pemakaian. Untuk interrupt menjalankan operasi USART , global interrupt

flag ( penanda ) sebaiknya dibersihkan ( dan interrupt global disable ) ketika inisialisasi dilakukan.

Sebelum melakukan inisialisasi ulang dengan mengubah boud rate atau frame format, untuk

meyakinkan bahwa tidak ada transmisi berkelanjutan sepanjang peiode register yang diubah.

Flag TXC dapat digunakan untuk mengecek bahwa pemancar telah melengkapi semua pengiriman, dan

flag RXC dapat digunakan untuk mengecek bahwa tidak ada data yang tidak terbaca pada buffer

penerima. Tercatat bahwa flag TXC harus dibersihkan sebelum tiap transmisi ( sebelum UDR ditulisi )

jika itu semua digunakan untuk tujuan tersebut. USART sederhana inisialisasi kode contoh berikut

Page 49: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

menunjukan fungsi satu assembly dan satu C itu mempunyai kesamaan dalam kemampuan. Pada contoh

tersebit mengasumsikan bahwa operasi asinkron menggunakan metode poling ( tidak ada interrupt

enable ) frame format yang tetap. Boud rate diberikan sebagai fungsi parameter.

Untuk kode assembly, parameter boud rate diasumsikan untuk di simpan pada register r16, r17. Ketika

menulis fungsi pada register UCSRC, bit URSEL (MSB) harus diset dalam kaitan dengan pembagian

penempatan I/O oleh UBRRH dan UCSRC. Lebih mengedepankan inisialisasi rutin dapat dibuat seperti

itu meliputi frame format sebagai parameter, disable interrupt dan lain-lain. Bagai manapun juga banyak

aplikasi menggunakan seting tetap boud dan register control, dan untuk aplikasi jenis ini dapat

ditempatkan secara langsung pada keseluruhan routine, atau dikombinasikan dengan inisialisasi kode

untuk modul I/O yang lain.

RANGKAIAN SERIAL PORT

Rangkaian berikut digunakan untuk interfacing Led dengan port serial. Rangkaian tersebut,

sebagai konverter dari serial ke pararel. Berikut adalah rangkaian serial led driver yang akan kita

hubungkan pada port serial. Rangkaian Led Driver Serial menggunakan Microcontroller ATMEGA16

yang dihubungkan ke port serial dengan menggunakan IC RS232 Rangkaian Serial LED Driver ini akan

mendeteksi setiap pengiriman data karakter dari port serial computer.

U 4

A TM E G A 1 6

3

1 21 3

2

1 61 71 81 9

1 11 0

876

3 63 53 43 33 2

3 7

1

45

9

1 41 5

2 0 2 1

4 03 93 8

3 13 02 92 82 72 62 52 42 32 2

P B 2 (I N T2 /A I N 0 )

XTA L 2XTA L 1

P B 1 (T1 )

P D 2 (I N T0 )P D 3 (I N T1 )P D 4 (O C 1 B )P D 5 (O C 1 A )

G N DV C C

P B 7 [ S C K )P B 6 [ M I S O )P B 5 (M O S I )

P A 4 (A D C 4 )P A 5 (A D C 5 )P A 6 (A D C 6 )P A 7 (A D C 7 )

A R E F

P A 3 (A D C 3 )

P B 0 (XC K / T0 )

P B 3 (O C 0 / A I N 1 )P B 4 (S S )

R E S E T

P D 0 (R XD )P D 1 (TXD )

P D 6 (I C P ) P D 7 (O C 2 )

P A 0 (A D C 0 )P A 1 (A D C 1 )P A 2 (A D C 2 )

A G N DA V C C

P C 7 (TO S C 2 )P C 6 (TO S C 1 )

P C 5P C 4P C 3P C 2

P C 1 (S D A )P C 0 (S C L )

A D D 9

P 3

G N D

A D D 8

P 712

P D 5

V C C

P 5

D A TA 5

A D D 1 2

L 112

P D 6

+ C 4

1 u F 1 6 V

12D A TA 2

P 6

TX1

R S T

R X1

P 4

S W 2

12

+

C 91 u F 1 6 V

V C C

12

P D 1X1

D A TA 4

J I S P

H E A D E R 5

12345

U 6

M A X2 3 2

1 38 1 1

1 0

1

3

4

5

2 6

1 2

91 47 R 1 I N

R 2 I N T1 I N

T2 I N

C +

C 1 -

C 2 +

C 2 -

V + V -

R 1 O U T

R 2 O U TT1 O U TT2 O U T

D A TA 7

D A TA 3

P 7

+ C 8

1 u F 1 6 V

12

C 1 2 2 p F

D A TA 0P 1

V C C

P 5

V C CP 2P 6

P D 7

A D D 1 1

C 2 2 2 p F

D A TA 1

P D 3

+ C 5

1 u F 1 6 V

D A TA 6

C 3 1 0 0 n F 1

12

P 0

P D 0

R S T

A D D 1 0

A D D 1 5

12

P D 2

J S e r ia l1

H E A D E R 3

123

A D D 1 3P D 4 A D D 1 4

12R 1

Gambar 4.2 Hasil pemasangan komponen rangkaian serial mikrokontroller

Page 50: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

PEMROGRAMAN PWM

Program sebagai berikut ini

//-------------------------------------------------------//Program Bab 5.2. MENGIRIM DAN MENERIMA DATA//-------------------------------------------------------//-------------------------------------------------------//DEKLARASI HEADER//------------------------------------------------------- #include <mega16.h>#include <delay.h>#include <stdio.h>//-------------------------------------------------------//DEKLARASI VARIABEL//------------------------------------------------------- unsigned char data_terima = 0x00;const long int osilator = 12000000;unsigned long int UBRR;//------------------------------------------------------//DEKLARASI SUB RUTIN//------------------------------------------------------void InisialisasiUSART (unsigned long int baud_rate);//------------------------------------------------------//PROGRAM UTAMA//------------------------------------------------------void main(void){DDRC = 0xFF;PORTC = 0x00;InisialisasiUSART(9600);putsf("Selamat Datang Mas Iswanto"); putchar(13);while(1) { putsf("Tekan sembarang tombol"); putchar(13); data_terima = getchar(); delay_ms(100); putsf("Anda menekan tombol "); putchar(data_terima);; putchar(13); }}//------------------------------------------------------//SUB RUTIN BAUDRATE//------------------------------------------------------void InisialisasiUSART (unsigned long int baud_rate){UBRR = (osilator/(16*baud_rate))-1;UBRRL = UBRR;UBRRH = UBRR>>8;UCSRB = 0x18;UCSRC = 0x86;}

Page 51: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana

LATIHAN SERIAL PORT

1. Jelaskan program diatas

Page 52: KATA PENGANTAR - Web viewPembangkitan sinyal PWM dengan mikrokontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana, dan rangkaian listrik menjadi sederhana