• Tidak ada hasil yang ditemukan

Moving Text Menggunakan Metode Scan Dengan IC 74HC595 Berbasis Mikrokontroler Atemega 32 A

N/A
N/A
Protected

Academic year: 2016

Membagikan "Moving Text Menggunakan Metode Scan Dengan IC 74HC595 Berbasis Mikrokontroler Atemega 32 A"

Copied!
127
0
0

Teks penuh

(1)

MOVING TEXT MENGGUNAKAN METODE SCAN DENGAN

IC 74HC595 BERBASIS MIKROKONTROLER ATmega 32A

TUGAS AKHIR

MUHAMMAD ABRAL 112408002

PROGRAM STUDI D-III FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

MOVING TEXT MENGGUNAKAN METODE SCAN DENGAN

IC 74HC595 BERBASIS MIKROKONTROLER ATEMEGA 32A

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar Ahli Madya

PROGRAM STUDI D-III FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

PERSETUJUAN

Judul : MOVING TEXT MENGGUNAKAN METODE

SCAN DENGAN IC 74HC595 BERBASIS MIKROKONTROLER ATEMEGA 32A Kategori : TUGAS AKHIR

Nama : MUHAMMAD ABRAL

No Induk Mahasiswa : 112408002

Program Studi : DIPLOMA III (D3) FISIKA Departement : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Juli 2014 Disetujui oleh :

Ketua Program Studi D-III Fisika Pembimbing

Dr. Susilawati, M.Si Drs. Kurnia Brahmana, M.Si NIP. 197412072000122001 NIP. 1960092019860110011

(4)

PERNYATAAN

MOVING TEXT MENGGUNAKAN METODE SCAN DENGAN

IC 74HC595 BERBASIS MIKROKONTROLER ATEMEGA 32A

TUGAS AKHIR

Saya mengakui bahwa Laporan Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2014

(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin,

Segala puji dan syukur bagi Allah Subhanahuwata’ala yang telah melimpahkan barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran sehingga penulis dapat menyelesaikan penulisan Tugas Akhir ini sesuai dengan judul “Moving Text Menggunakan Metode Scan Dengan IC 74HC595 Berbasis Mikrokontroler Atemega 32 A”. Sholawat dan salam semoga senantiasa tercurahkan kepada Rasulullah Sallallahu’alaihiwassalam sang pembawa petunjuk dan selalu menjadi inspirasi dan teladan bagi penulis.

Tugas Akhir ini disusun untuk melengkapi persyaratan dalam mencapai gelar Ahli Madya pada Program Studi DIII FISIKA Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Penulis menyadari bahwa tersusunnya Tugas Akhir ini dari Do’a, perhatian, bimbingan, motivasi dan dukungan berbagai pihak, sehingga dengan keikhlasan dan kerendahan hati pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Bapak Dr. Sutarman.M.Sc, selaku Dekan Fak. Mipa Universitas Sumatra Utara 2. Ibu Dr. Susilawati, M.Si, selaku Ketua Program Studi Fisika Instrumentasi

Fakultas Matematika Dan Ilmu Pengetahuan Alam.

3. Bapak Drs. Ferdinand Sinuhaji, M.S, selaku Sekretaris Program Studi Fisika Instrumentasi Fakultas Matematika Dan Ilmu Pengetahuan Alam

4. Bapak Drs. Kurnia Brahmana,M.Si, selaku dosen pembimbing, yang telah banyak membantu dan mendukung penulis dalam menyelesaikan Tugas Akhir ini.

5. Teman – teman dari anak stambuk 2011 yang telah banyak membantu dalam penulisan Tugas akhir ini.

6. Putri Puspita Sari yang telah banyak memberikan motivasi, semangat dan dukungan sehingga Tugas Akhir ini terselesaikan.

(6)

8. Semua pihak yang telah membantu penulis dalam menyelesaikan buku laporan Tugas Akhir ini yang tidak dapat disebutkan satu-persatu oleh penulis.

9. Khusus Kedua orang tua penulis Ayahanda Abdul Munir dan Ibunda Nurhadisah serta saudara kandung yang telah memberikan bantuan moril maupun materil, semangat dan do’a yang begitu besar kepada Penulis.

Penulis menyadari bahwa dalam laporan ini masih jauh dari kesempurnaan baik dari segi bahasa maupun sistematikanya, Untuk itu, dengan segala kerendahan hati penulis mengharapkan saran dan kritik yang membangun guna kesempurnaan laporan ini.

Akhir kata dengan segenap kerendahan hati penulis berharap semoga Buku Laporan Tugas akhir ini dapat memberikan manfaat dan menambah pengetahuan bagi kita semua. Amin.

Medan, 16 Juli 2014

(7)

ABSTRAK

(8)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghantar iii

Abstrak iv

Daftar Isi v

Daftar Gambar vii

Daftar Tabel viii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penulisan 2

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

Bab 2 Landasan Teori

2.1 Dot Matriks atau Matriks LED 5

2.2 Moving Text dengan IC 74HC595 7

2.3 Mikrokontroller ATMega 32A 10

2.3.1 Fitur ATMega 32A 14

2.3.2 Konfigurasi ATMega 32A 14

2.3.3 Arsitektur CPU ATMega 32A 19

2.3.4 Program Memori 20

2.3.5 SRAM Data Memori 20

2.3.6 EEPROM Data Memori 21

2.3.7 Interupsi 21

2.3.8 Status Register (SREG) 21

2.4 IC74HC595 24

2.5 RTC DS1307 26

2.5.1 Fitur-fitur DS1307 26

2.5.2 Cara pembacaan 28

2.6 Rangkaian Elektronik LED 28

2.6.1 Fungsi/Kegunaan Rangkaian Elektronika LED 29

2.7 Pengertian Kapasitor 31

2.7.1

2.8 Memory 24C64 32

Fungsi dari kapasitor 31

Bab 3 Rancangan Sistem

3.1 Perancangan Sistem Rangkaian 35

3.2 Diagram Blok 36

3.3 Perancangan Power Supplay (PSA) 37

3.4 Relay 38

3.5 Perancangan rangkaian Real Time Clock (RTC) DS1307 40

3.6 Saklar 41

(9)

Bab 4 Pengujian Rangkain

4.1 Pengujian Rangkain Power Suplay 43 4.2 Pengujian Rangkaian Mikrokontroler ATMega32 43

4.3 Pengujian Rangkaian Relay 45

4.4 Analisa Program 46

4.5 Pengujian Rangkaian dengan Menjalankan Program 47

4.6 Pengujian Rangkaian DS 1307 47

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 50

5.2 Saran-Saran 50

Daftar Pustaka 51

(10)

DAFTAR GAMBAR

Gambar 2.1 Dot Matriks 5

Gambar 2.2 Susunan Jalur-jalur Vertikal dan Horisontal 6

Gambar 2.3 Cara Pemasangan LED 6

Gambar 2.4 Rangkaian Moving Text Mode Scan dengan IC TTL 74HC595 7

Gambar 2.5 Rangkaian Belakang PCB 8

Gambar 2.6 Rangkaian Kabel yang dipasang Ke Dot Matriks 9

Gambar 2.7 Rangkaian Moving Text Menggunakan Dot Matriks 9 Gambar 2.8 Tampilan Program Baris Dan Kolom 11 Gambar 2.9 Pin-pin ATMega 32 17

Gambar 2.10 Status Register ATMega 32A 22

Gambar 2.11 Bentuk Fisis IC 74HC595 24

Gambar 2.12 Fitur-Fitur DS1307 26

Gambar 2.13 Rangkaian Memori RTC DS1307 27

Gambar 2.14 ADDRESS MAP DS1307 28

Gambar 2.15 Simbol dan Fisik LED 29

Gambar 2.16 Rangkaian Elektronika LED 30

Gambar 2.17 Simbol Kapasitor 32

Gambar 2.18 Pin Diagram 24C64 32

Gambar 2.19 Perangkat Addressing 24C64 EEPROM 33

Gambar 3.1 Gambar Blok Eeprom dari ATmega32 36

Gambar 3.2 Gambar Blok Eeprom dari ATmega32 37

Gambar 3.3 Rangkaian Power Supplay (PSA) 38

Gambar 3.4 Simbol Relay 39

Gambar 3.5 Relay Dengan Rangkaian Driver 39

Gambar 3.6 Antarmuka bagian RTC DS1307 40

(11)

DAFTAR TABEL

Table 2.1 Fungsi Khusus Port A 17

Table 2.2 Fungsi Khusus Port B 18

Table 2.3 Fungsi Khusus Port C 19

Table 2.4 Fungsi Khusus Port D 20

Table 2.5 Konfigurasi IC 74HC595 25

Table 2.6 Tegangan Maju LED 31

(12)

ABSTRAK

(13)

BAB 1

PENDAHULUAN

1.1 Latar belakang

Seiring dengan perkembangan teknologi yang sangat cepat, kebutuhan manusia akan teknologi juga sangat dibutuhkan sehingga perlu dikembangkan alat-alat baru yang bertujuan untuk memudahkan kegiatan manusia dalam kehidupan sehari-hari.

Perkembangan teknologi mikrokontroler misalnya telah membawa era baru dalam dunia elektonika. Salah satu bentuk penerapannya adalah running text, dimana alat ini berfungsi untuk menampilkan informasi berupa tulisan berjalan menggunakan lampu LED sebagai displaynya. Dalam perancangan alat ini, menggunakan mikrokontroler ATmega32A sebagai pengolah data sekaligus menyimpan data-data biner yang diperlukan untuk mengendalikan matriks LED sebagai output data.

(14)

1.2 Rumusan Masalah

Laporan proyek ini membahas tentang perangkat keras yang meliputi perakitan moving text yang terdiri dari Mikrokontroler ATMega 32A sebagai pusat kendalinya beserta software pemrogramannnya, Dot Matriks sebagai tampilannya, IC 74HC595 Trafo, PSA dan Keyboard.

1.3 Tujuan Penulisan

Adapun tujuan penulisan laporan proyek ini adalah untuk:

1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga (D-III) Fisika Instrumentasi FMIPA Universitas Sumatera Utara. 2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi

pengontrolan dan elektronika sebagai bidang diketahui.

3. Merancang suatu alat Moving Text dan Kemudian ditampilkan pada Dot Matriks dengan menggunakan Mikrokontroler ATMega 32A.

4. Mengetahui cara kerja Moving Text menggunakan Dot Matriks berbasis Mikrokontroler AtMega 32A.

5. Penulis ingin memberikan penjelasan tentang penggunaan dan cara kerja dari Moving menggunakan Dot Matriks Berbasis Mikrokontroler ATMega 32A.

1.4 Batasan Masalah

(15)

1. Pembahasan mikrokontroler Atmega 32A.

2. Dot Matriks yang digunakan adalah LED Matriks sebagai tampilannya. 3. Pembahasan hanya meliputi rangkaian Mikrokontroler ATMega 32A,

Dot Matriks, beserta programnya.

4. Pembahasan hanya sebatas pemrograman mikrokontroler dan interfacing untuk pemrograman dari komputer ke mikrokontroler tidak dibahas.

1.5 Sistematika Penulisan

BAB I : PENDAHULUAN

Dalam hal ini berisikan mengenai latar belakang, rumusan Masalah, tujuan penulisan, batasan masalah, serta

istematika penulisan.

BAB II : LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian teori pendukung itu antara lain tentang Mikrokontroler Atmega 32A, Dot Matriks, bahasa program yang dipergunakan, serta cara kerja dari mikrokontroler Atmega32A dan komponen pendukung. BAB III : RANCANGAN SISTEM

(16)

rangkaian dan diagram alir dari program yang diisikan ke Mikrokontroler ATMega32A.

BAB IV : PENGUJIAN RANGKAIAN

Pada bab ini akan dibahas pengujian rangkaian dan hasil pengujian dari Masing – masing pada rangkaian serta di isikan program ke mikrokontroler ATMega32A.

BAB V : KESIMPULAN DAN SARAN

(17)

BAB 2

LANDASAN TEORI

2.1 Dot Matriks atau Matriks LED

[image:17.595.151.476.318.551.2]

Matriks LED adalah sejumlah LED yang disusun dalam kolom dan baris. LED-LED ini kemudian digunakan untuk menampilkan gambar-gambar atau tulisan yang biasanya ditampilkan dengan efek animasi tertentu. Oleh karena itu, matriks LED sering disebut sebagai Running Text atau Moving Sign.

Gambar 2.1 Dot Matriks

(18)
[image:18.595.160.467.138.320.2]

membuat jalur vertikal sebanyak jumlah kolom. Susunan jalur-jalur vertikal dan horisontal tersebut adalah seperti gambar berikut:

Gambar 2.2 Susunan Jalur-Jalur Vertikal Dan Horisontal

[image:18.595.165.463.494.709.2]

Jalur-jalur vertikal dan horisontal tersebut tidak saling terhubung. Kemudian, pada setiap titik pertemuan antara jalur vertikal dan horisontal tersebut, pasanglah sebuah LED dengan cara menghubungkan anoda ke jalur horisontal dan katoda ke jalur vertikal. Pemasangan LED tersebut adalah seperti gambar berikut:

(19)

Dengan memasang LED seperti di atas, LED yang menyala adalah LED dimana anodanya terhubung pada jalur horisontal yang tinggi (1) dan katodanya terhubung pada jalur vertikal yang rendah (0). Hanya ada satu jalur vertikal yang rendah pada satu waktu, sedangkan jalur-jalur lainnya harus tetap tinggi. Jalur vertikal yang rendah ini kita sebut sebagai kolom aktif. Berbeda dengan jalur vertikal, jalur horisontal yang terdiri dari delapan baris ini boleh bernilai tinggi atau rendah tanpa harus memperhatikan jalur-jalur horisontal lainnya.

2.2 Moving text dengan IC 74HC595

Moving text dengan mode scanning lebih banyak digunakan untuk tujuan komersil dibanding dengan mode static, tetapi masing-masing ada kelemahan dan kelebihannya. Berikut ini adalah gambar rangkaian atau skema dari moving text mode scan dengan menggunakan IC TTL 74HC595, untuk driver kolom juga untuk driver baris yang dibantu oleh ULN2803

15 1 2 3 4 5 6 7 8

9 131610 11 1214 15 1 2 3 4 5 6 7 15 1 2 3 4 5 6 7 15 1 2 3 4 5 6 7 8

9 131610 11 1214 8

9 131610 11 1214 8

9 131610 11 1214

[image:19.595.114.506.485.694.2]

15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 1 2 3 4 5 6 7 8 11 12 13 14 16 15 9 17 18 GND 5 VOLT clock slx latch ULN2803 74HC959 74HC959 74HC959 74HC959 74HC959 + -TEST LED

(20)

Salah satu kelebihan dari rangkaian ini adalah jumlah kabel hanya 5 1 . Vcc

2. GND 3. DATA 4. Clock 5. Latch

Prinsip pemrogramannya adalah sebagai berikut, kirim baris dan kirim kolom secara serentak sebanyak jumlah kolom atau kirim kolom dan kirim baris secara serentak sebanyak jumlah baris.

Kalau eeprom bawaan dari atmega32 masih terasa kurang, dapat ditambahkan memory eeprom external seperti 24c64, demikian juga jika RTC bawaan atmega32 kurang memuaskan, dapat ditambahkan DS1307 sebagai RTC external.

[image:20.595.119.506.469.703.2]

IC 74 595 dipasang pada bagian belakang PCB untuk menghemat PCB sbb:

(21)
[image:21.595.136.491.194.383.2]

Pemasangan kabel dan pengujian dot matriks dapat dilakukan dengan cara menguhubungkan kabel pada dot matriks tersebut. Agar kita dapat membuktikan antara kolom dan baris hidup atau tidak. Atau menggunakan MATRIX LED 8X8 yang sudah jadi, sbb:

Gambar 2.6 Rangkaian Kabel yang dipasang Ke Dot Matriks

Selanjutnya kita menguji kolom dan baris, dengan ATmega32 untuk membuktikan atau mengetes kolom dan baris pada dot matriks menyala atau tidak led pada kordinat..

[image:21.595.141.486.532.724.2]
(22)

2.2.1 Program Menyalanya Led Pada Kordinat

kol = 0x01; // posisi kolom scanning

while (1)

{

// Place your code here

kar = 0x55; // data yang mau dikirim (baris)

while (1)

{

soe = 0;

shift_out(kar); // kirim baris

shift_out(kol); // kirim kolom

soe = 1;

delay_ms(150);

kol = kol << 1;

if (kol == 0) kol = 0x01;

}

}

(23)
[image:23.595.146.480.121.277.2]

Berikut ini adalah tampilan dari program diatas pada display led

Gambar 2.8 Tampilan Program Baris Dan Kolom

2.3 Mikrokontroler ATMega 32A

Mikrokontroler merupakan sebuah single chip yang didalamya telah dilengkapi dengan CPU (Central Prosessing Unit); RAM ( RandomAcces

Memory); ROM ( Read only Memory), Input, dan Output, Timer\ Counter, Serial

com port secara spesifik digunakan untuk aplikasi –aplikasi control dan buka aplikasi serbaguna. Mikrokontroler umumnya bekerja pada frekuensi 4MHZ-40MHZ. Perangkat ini sering digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak motor. Read only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dengan keperluannya, sesuai dengan susunan MCS-51. Memory penyimpanan program dinamakan sebagai memory program. Random Acces Memory (RAM) isinya akan begitu sirna IC kehilangan catudaya dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal

(24)

USART (Universal Asychoronous\Asy choronous Receiver Transmitter) yaitu port yang digunakan untuk komunikasi serial asinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari Uart, SPI ( Serial Port Interface), SCI (

Serial Communication Interface ), Bus RC ( Intergrated circuit Bus ) merupakan

2 jalur yang terdapat 8 bit, CAN ( Control Area Network ) merupakan standard pengkabelan SAE (Society of Automatic Enggineers).

Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar,sedangkan rutin-rutin antar muka pernagkat keras disimpan dalm ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artiRAM-nya program control disimpan dalam ROM yang ukuranRAM-nya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sedrhana sementara, termasuk register-register yang digunakan pada Microctroller yang bersangkutan.

(25)

12 clock. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVRberteknologi RISC (Reduce Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapatdikelompokkan menjadi 4 kelas, yaitu keluarga AT90Sxx, keluarga ATmega, dan AT86RFxx. Pada dasarnya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsiektur dan instruksi yang digunakan, mereka bias dikatakan hampir sama.

Nama AVR sendiri berasal dari "Alf (Egil Bogen) and Vegard (Wollan) 's Riscprocessor" dimana Alf Egil Bogen dan Vegard Wollan adalah dua penemu berkebangsaan Norwegia yang menemukan mikrokontroller AVR yang kemudian diproduksi oleh atmel.

Mikrokontroler adalah piranti elektronik berupa IC (Integrated Circuit)yang memiliki kemampuan manipulasi data (informasi)berdasarkan suatu urutan instruksi (program). Dalam sebuah struktur mikrokontroller akan kita temukan juga komponen-komponen seperti:processor, memory, clock, dll.

(26)

Mikrokontroler AVR (Alf and Vegard's Risc processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Untuk mikrokontroler AVR yang berukuran lebih kecil, Anda dapat mencoba ATmega8 atau ATtiny2313 dengan ukuran Flash Memory 2KB dengan dua input analog. Mikrokontroler AVR yang perlu Anda kuasai. Selain ATmega 32, sangat direkomendasikan untuk mencoba ATmega16 dan Atmegal 28. Selain itu, kuasai juga jenis mikrokontroler lain produksi Maxim (Maxim-ic.com) seperti DS80C400 dan MAXQ2000.

Pemrograman mikrokontroler AVR dapat menggunakan low level language (assembly) dan high level language (C, Basic, Pascal, JAVA, dll)tergantung compiler yang digunakan.Salah satu yang banyak dijumpai di pasaran adalah AVR tipe ATmega, yang tediri dari beberapa versi, yaitu :ATmega8535, ATmega16,ATmega162, ATmega32, ATmega324P, ATmega644, ATmega644P danbATmega128. Pada pembahasan ini mikrokontroler yang digunakan adalah AVR ATmega32.

2.3.1 Fitur ATMega 32A

(27)

2. Jalur I/O 32 buah, yang terbagi dalam PortA, PortB, PortC dan PortD. 3. Analog to Digital Converter 10 bit sebanyak 8 input, 4 chanel PWM. 4. Timer/Counter sebanyak 3 buah.

5. CPU 8 bit yang terdiri dari 32 register. 6. Watchdog Timer dengan osilator internal. 7. SRAM sebesar 2K Byte.

8. Memori Flash sebesar 32K Byte dengan kemampuan read while write. 9. Interrupt internal maupun eksternal.

10.Port komunikasi SPI.

11.EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 12.Analog Comparator.

13. Komunikasi serial standar USART dengan kecepatan maksimal 2,5 Mbps.

2.3.2 Konfigurasi ATMega 32A

(28)

Penjelasan konfigurasi pin pada mikrokontroler AVR ATmega32 secara umum: a. Pin 1 sampai 8 (port B) merupakan port paralel 8 bit dua arah (bidirectional),

yang dapat di gunakan untuk general purpose dan special feature. b. Pin 9 (riset) jika terdapat minimum pulse pada saat active low. c. Pin 10 (VCC) di hubungkan ke Vcc (2,7-5,5 Volt).

d. Pin 11 dan 31 (GND di hubungkan ke Vssatau ground.

e. Pin 12 (XTAL 2) adalah pin masukan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator luar dapat di gunakan.

f. Pin 13 (XTAL 1) adalah pin keluaran ke rangkaian osilator internal.pin ini di pakai bila menggunakan osilator kristal.

g. Pin 14 sampai 21 (port D) adalah 8 bit dua arah (bi-directional I/O) port dengan internal pull-up resistors di gunaka untuk general purpose dan special feature.

h. Pin 22 sampai 29 (port C) adalah 8 bit dua arah (bi-directional I/O) port dengan internal pull-up resistors di gunaka untuk general purpose dan special feature.

i. Pin 30 adalah Avcc pin penyuplai daya untuk port A dan A/D converter dan di hubungkan ke Vcc.jika ADC di gunakan maka pin ini di hubungkan ke Vcc. j. Pin 32 adalah A REF pin yang berfungsi sebagai referensi untuk pin analog

jika A/D converter di gunakan.

(29)
[image:29.595.211.414.91.315.2]

Gambar 2.9 Pin-pin ATMega32

Secara fungsional konfigurasi pin ATMega32 adalah sebagai berikut: 1. VCC

Sumber Tegngan 2. GND (Ground)

Ground

3. Port A (PA7 – PA0)

(30)

Port Alternate Function

PA7 ADC7 (ADC input channel 7)

PA6 ADC6 (ADC input channel 6)

PA5 ADC5 (ADC input channel 5)

PA4 ADC4 (ADC input channel 4)

PA3 ADC3 (ADC input channel 3)

PA2 ADC2 (ADC input channel 2)

PA1 ADC1 (ADC input channel 1)

[image:30.595.191.462.102.304.2]

PA0 ADC0 (ADC input channel 0)

Tabel 2.1 Fungsi khusus port A

4. Port B (PB7 – PB0)

Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin mengandung internal pull-up resistor. Output buffer port B dapat mengalirkan arus sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-down secara external, port B akan mengalirkan arus jika internal pull-up resistor diaktifkan.

Pin-pin port B memiliki fungsi-fungsi khusus, diantaranya : a.SCK port B, bit 7

Input pin clock untuk up/downloading memory. b.MISO port B, bit 6

Pin output data untuk uploading memory.

c.MOSI port B, bit 5

Pin input data untuk downloading memory.

(31)

Port Alternate Function

PB7 SCK (SPI Bus Serial Clock)

PB6 MISO (SPI Bus Master Input/Slave Output) PB6 MOSI (SPI Bus Master Output/Slave Input) PB5 SS (SPI Slave Select Input)

PB3 AIN1 (Analog Comparator Negative Input)

OCO (Timer/Counter0 Output

PB2 AIN0 (Analog Comparator Positive Input) INT2 (External Interrupt 2 Input)

PB1 T1 (Timer/Counter1 External Counter Input)

[image:31.595.124.469.82.364.2]

PB0 T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)

Tabel 2.2 Fungsi khusus port B 5. Port C (PC7 – PC0)

Port C adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan arus sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-down secara langsung, maka port C akan mengeluarkan arus. Fungsi-fungsi khusus pin-pin port C dapat ditabelkan seperti yang tertera pada tabel dibawah ini.

Port Alternate Function

PC7 TOSC2 (Timer Oscillator Pin 2) PC6 TOSC1 (Timer Oscillator Pin 1) PC6 TD1 (JTAG Test Data In) PC5 TD0 (JTAG Test Data Out) PC3 TMS (JTAG Test Mode Select) PC2 TCK (JTAG Test Clock)

PC1 SDA (Two-wire Serial Bus Data Input/Output Line) PC0 SCL (Two-wire Serial Bus Clock Line)

[image:31.595.136.490.529.732.2]
(32)

6. Port D (PD7 – PD0)

Port D adalah 8-bit port I/O yang berfungsi bi-directional dan setiap pin memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan arus sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-down secara langsung, maka port D akan mengeluarkan arus jika internal pull-up resistor diaktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti yang tertera pada tabel dibawah ini.

Port Alternate Function

PD7 OC2 (Timer / Counter2 Output

PD6 ICP1 (Timer/Counter1 Input Capture Pin)

PD6 OCIB (Timer/Counter1 Output

[image:32.595.145.488.294.500.2]

PD5 TD0 (JTAG Test Data Out) PD3 INT1 (External Interrupt 1 Input) PD2 INT0 (External Interrupt 0 Input) PD1 TXD (USART Output Pin) PD0 RXD (USART Input Pin)

Tabel 2.4 Fungsi khusus port D

2.3.3 Arsitektur CPU ATMEGA32

Fungsi utama CPU adalah memastikan pengeksekusian instruksi dilakukan dengan benar. Oleh karena itu CPU harus dapat mengakses memori, melakukan kalkulasi, mengontrol peripheral, dan menangani interupsi.

(33)

berguna untuk mengubah alur program saat mengeksekusi operasi kondisional. Instruksi di jemput dari flash memory. Setiap byte flash memory memiliki alamat masing-masing. Alamat instruksi yang akan dieksekusi senantiasa disimpan Program Counter. Ketika terjadi interupsi atau pemanggilan rutin biasa, alamat di Program Counter disimpan terlebih dahulu di stack. Alamat interupsi atau rutin kemudian ditulis ke Program Counter, instruksi kemudian dijemput dan dieksekusi. Ketika CPU telah selesai mengeksekusi rutin interupsi atau rutin biasa, alamat yang ada di stack dibaca dan ditulis kembali ke Program Counter.

2.3.4 Program Memori

ATMEGA 32 memiliki 32 KiloByte flash memori untuk menyimpan program.Karena lebar intruksi 16 bit atau 32 bit maka flash memori dibuat berukuran 16K x 16. Artinya ada 16K alamat di flash memori yang bisa dipakai dimulai dari alamat 0 heksa sampai alamat 3FFF heksa dan setiap alamatnya menyimpan 16 bit instruksi.

2.3.5 SRAM Data Memori

ATMEGA32 memiliki 2 KiloByte SRAM. Memori ini dipakai untuk menyimpan variabel. Tempat khusus di SRAM yang senantiasa ditunjuk register SP disebut stack. Stack berfungsi untuk menyimpan nilai yang dipush.

2.3.6 EEPROM Data Memori

(34)

disimpan di EEPROM. Saat sistem pertama kali menyala paramater tersebut dibaca dan system diinisialisasi sesuai dengan nilai parameter tersebut.

2.3.7 Interupsi

Sumber interupsi ATMEGA32 ada 21 buah. Tabel 2 hanya menunjukkan 10 buah interupsi pertama. Saat interupsi diaktifkan dan interupsi terjadi maka CPU menunda instruksi sekarang dan melompat ke alamat rutin interupsi yang terjadi. Setelah selesai mengeksekusi intruksi-instruksi yang ada di alamat rutin interupsi CPU kembali melanjutkan instruksi yang sempat tertunda.

2.3.8 Status register (SREG)

[image:34.595.127.538.667.712.2]

Status register adalah Status Register berisi informasi tentang hasil yang paling baru-baru ini dieksekusi aritmatika instruksi. Informasi ini dapat digunakan untuk mengubah aliran program untuk melakukan operasi bersyarat. Perhatikan bahwa Register Status diperbarui setelah semua operasi ALU, sebagai ditentukan dalam Instruction Set Reference. Ini akan dalam banyak kasus menghilangkan kebutuhan untuk menggunakan didedikasikan membandingkan instruksi, sehingga lebih cepat dan lebih kompak kode. Status Register tidak secara otomatis disimpan ketika memasuki rutin interupsi dan dipulihkan ketika kembali dari interupsi. Ini harus ditangani oleh perangkat lunak.

(35)

• Bit 7 - I: Dunia Interrupt Enable

Global Interrupt Enable bit harus ditetapkan untuk menyela harus diaktifkan . Individu interrupt memungkinkan kontrol selanjutnya dilakukan dalam register kontrol terpisah . Jika Global Interrupt Enable Daftar dibersihkan , tidak ada interupsi diaktifkan independen dari interrupt individu mengaktifkan pengaturan . The I- bit dihapus oleh hardware setelah interupsi telah terjadi , dan diatur oleh instruksi RETI untuk mengaktifkan interupsi berikutnya . The I- bit juga dapat diatur dan dibersihkan oleh aplikasi dengan SEI dan CLI instruksi, seperti yang dijelaskan dalam referensi set instruksi .

• Bit 6 - T : Bit Copy Storage

The Bit Copy instruksi BLD ( Bit Load) dan BST ( Bit Store) menggunakan T - bit sebagai sumber atau tujuan untuk bit yang dioperasikan . Sedikit dari register dalam Daftar file dapat disalin ke T oleh Instruksi BST , dan sedikit di T dapat disalin ke dalam sedikit dalam register dalam Daftar file oleh Instruksi BLD .

• Bit 5 - H : Half Carry Flag

The Half Carry Flag H menunjukkan setengah carry dalam beberapa operasi aritmatika . Half Carry berguna dalam BCD aritmatika.

• Bit 4 - S : Sign Bit , S = N ⊕ V

The S - bit selalu eksklusif atau antara Negatif Flag N dan Komplemen Dua Overflow Flag V.

(36)

The Two Complement Overflow Flag V mendukung dua itu aritmatika komplemen.

• Bit 2 - N : Negative Flag

Negatif Flag N menunjukkan hasil negatif dalam aritmatika atau operasi logika

• Bit 1 - Z : Nol Flag Zero Flag Z

mengindikasikan hasil nol dalam aritmatika atau operasi logika .

• Bit 0 - C : Carry Flag The Carry Flag C

mengindikasikan carry dalam aritmatika atau operasi logika.

2.4 IC 74HC595

2.11 Gambar Bentuk Fisis IC 74HC595

IC 74HC/HCT595 adalah pergeseran 8 stage serial shift register dengan penyimpanan register dan 3 keluaran. Shift register dan penyimpanan register

memiliki clock terpisah. IC ini mempunyai master reset untuk clear semua output secara langsung. IC 74HC595 memiliki 16 pin dimana pin 15 sebagai VCC dan pin 8 sebagai GND.

(37)
[image:37.595.189.433.84.379.2]

Tabel 2.5 Konfigurasi IC 74HC595

Pin Q0-Q7 adalah output pin yang akan dikontrol kondisinya sebagai tambahan pin output IC yang diinginkan. Sedangkan pin Q7’ adalah pin serial output, pin ini dapat digunakan untuk menggabungkan beberapa IC bila membutuhkan lebih banyak output.

(38)

merupakan keluaran dari setiap register tetap tidak akan berubah selama proses tersebut terus berjalan dan selama pin 12 belum berubah kondisi dari low ke high.

2.5 RTC DS 1307

RTC yang dimaksud disini adalah real time clock (bukan real time computing), biasanya berupa IC yg mempunyai clock sumber sendiri dan internal batery untuk menyimpan data waktu dan tanggal. Sehingga jika system komputer / microcontroller mati waktu dan tanggal didalam memori RTC tetap uptodate.

Salah satu RTC yang sudah populer dan mudah penggunaanya adalah DS1307, apalagi pada Codevision sudah tersedia fungsi-fungsi untuk mengambil data waktu dan tanggal untuk RTCDS1307 ini.

DS1307

Vcc

SQW/OUT

SCL

SDA

X1

X2

VBAT

GND

2.12 Gambar Fitur-Fitur DS1307

2.5.1 Fitur-fitur DS1307:

• Real-time clock (RTC) menghitung detik, menit, jam,tanggal,bulan dan hari dan tahun valid sampai tahun 2100

(39)

• 2 jalur serial interface (I2C).

• output gelombang kotak yg diprogram.

• Automatic power-fail detect and switch

• Konsumsi arus hanya 500nA pada batery internal.

• mode dg oscillator running.

• temperature range: -40°C sampai +85°C

Untuk membaca data tangal dan waktu yg tersimpan di memori RTC Ds1307 dapat dilakukan melalui komunikasi serial I2C spt tampak pada gambar berikut:

Vcc

Vcc

Vcc

SDA

DS1307

Crystal

32.768khz

3v

bat

1

2

3

5

6 SCL

4

Microcontroller

(40)

2.5.2 Cara pembacaan

DS1307 beropersai sebagai slave pada bus I2C. Cara Access pertama mengirim sinyal START diikuti device address dan alamat sebuah register yg akan dibaca. Beberapa register dapat dibaca sampai STOP condition dikirim.

2.14 Gambar ADDRESS MAP DS1307

Data waktu dan tanggal tersimpan dalam memori masing masing 1 byte , mulai dari alamat 00H sampai 07H. Sisanya (08H ~ 3FHalamat RAM yg bisa digunakan).

2.6 Rangkaian Elektronik LED

(41)

LED dikenal dengan istilah lain Solid State Lamp, yakni piranti elektronik yang merupakan gabungan elektronik dengan optik (lensa) dan akhirnya dikenal sebagai keluarga opto-electronic. Simbol dan fisiknya diperlihatkan seperti gambar di bawah ini. Rangkaian elektronika LED banyak digunakan sebagai lampu indikator dan peraga (display).

K

A

ANODA (+) KATODA (-)

K

A

A

K

2.15 Gambar Simbol dan Fisik LED

2.6.1 Fungsi/Kegunaan Rangkaian Elektronika LED

Dioda LED akan menyala jika diberi arus DC arah forward atau arus AC yang sesuai dengan tegangan kerjanya (misal 3 volt). Rangkaian elektronika LED digunakan sebagai lampu indikator dan sebagai display. Kegunaan rangkaian elektronika LED lainnya adalah untuk penampil digit, indikator pandang (sebagai pengganti lampu pijar) dan sebagai acuan tegangan (1,5 V tiap LED).

(42)

dibuat untuk itu). Dalam merangkai LED selalu diperlukan resistor deretan guna membatasi kuat arus.

2.16 Gambar Rangkaian Elektronika LED

LED dibuat dari berbagai bahan semikonduktor campuran seperti galium arsenida fosfida (GaAsP), galium fosfida (GaP) dan galium aluminium arsenida (GaAlAs). Kalau LED diberi tegangan panjar (bias) arah maju, juctionnya akan mengeluarkan cahaya. Warna cahaya bergantung kepada jenis dan kadar bahan junctionnya. Bahan GaS memancarkan warna inframerah, Bahan GaAsP warna merah atau kuning sedangkan bahan GaP dengan warna merah atau hijau.

(43)

adalah konsumsi arus yang sangat kecil, awet (dapat bertahan sampai 50 tahun) dan kecil bentuknya (tidak makan tempat).

WARNA TEGANGAN MAJU

[image:43.595.225.398.150.300.2]

Merah 1.8 Volt Orange 2.0 Volt Kuning 2.1 Volt Hijau 2.2 Volt

Tabel 2.6 Tegangan Maju LED

2.7 Pengertian Kapasitor

Kapasitor adalah suatu komponen elektronika yang berfungsi untuk menyimpan arus listrik dalam bentuk muatan. sebuah kapasitor pada dasarnya terbuat dari dua buah lempengan logam yang saling sejajar satu sama lain dan diantara kedua logam tersebut terdapat bahan isolator yang sering disebut dielektrik. Bahan dielektrik tersebut dapat mempengaruhi nilai dari kapasitansi kapasitor tersebut. adapun bahan dielektrik yang paling sering dipakai adalah keramik, kertas, udara, metal film dan lain-lain.

2.7.1

• Kapasitor sebagai kopling, dilihat dari sifat dasar kapasitor yaitu dapat

(44)

berfungsi sebagai kopling atau penghubng antara 2 rangkaian yang berbeda.

• Kapasitor berfungsi sebagai filter pada sebuah rangkaian power supply,

yang saya maksud disini adalah kapasitor sebagai ripple filter, disini sifat dasar kapasitor yaitu dapat menyimpan muatan listrik yang berfungsi untuk memotong tegangan ripple.

• Kapasitor sebagai penggeser fasa.

• Kapasitor sebagai pembangkit frekuensi pada rangkaian oscilator.

• Kapasitor digunakan juga untuk mencegah percikan bunga api pada

sebuah saklar.

Electrical Symbol for a Capactor

2.17 Gambar Simbol Kapasitor

[image:44.595.224.404.575.675.2]

2.8 Memory 24C64

(45)

• A0, A1, A2 - Chip Alamat Input: input ini digunakan untuk beberapa

operasi perangkat. Tingkat logika pada ini pin input dibandingkan dengan bit yang sesuai di alamat slave dan chip dipilih jika dibandingkan benar. Dengan demikian hingga delapan perangkat dapat dihubungkan ke bus yang sama menggunakan chip pilih kombinasi bit yang berbeda.

• WP - Write Protect: Ketika pin ini disimpan RENDAH (grounded) normal

membaca dan menulis operasi yang mungkin tetapi jika TINGGI (Vcc) menulis operasi akan terhambat. The resistor PULL BAWAH internal pin ini menjaga jarak perangkat terlindungi bila dibiarkan mengambang.

• Vcc dan Vss: Vcc adalah positif DC pasokan pin. Perangkat ini mampu

bekerja dengan dalam 1,8 sampai kisaran 5.5V. VSS adalah pin ground (0V).

• SDA - Serial Data: Ini adalah pin dua arah yang digunakan untuk

mentransfer data dan alamat dari dan ke perangkat.

• SCL - Serial Jam: pin ini digunakan untuk sinkronisasi transfer data

(46)

Gambar 2.19 Perangkat Addressing 24C64 EEPROM

(47)

BAB 3

RANCANGAN SISTEM

3.1 Perancangan Sistem Rangkaian

(48)

3.2 Diagram Blok

PS/2 Keyboard

Ps/2

To

ascii

converter

MCU

Atemega32

so

dt

dt

clk

clk latch

latch

so

595

Next bloda

595

8 x 8 led matrix

AT89C2051

DIAGRAM BLOK

Block Diagram

Dt = data in/serial input

So = serial out

Clk = Clock

Latch = Output enable

[image:48.595.112.554.110.529.2]

74HC595

Gambar 3.1. Gambar Blok Eeprom dari ATmega32

(49)

Untuk jelasnya perhatikan diagram block berikut ini: PS/2 Keyboard Ps/2 To ascii converter MCU Atemega32 so dt dt clk clk latch latch

so 595 Next bloda

595

8 x 8 led matrix AT89C2051

DIAGRAM BLOK Block Diagram Dt = data in/serial input So = serial out Clk = Clock Latch = Output enable

74HC595

Ds 1307

[image:49.595.118.531.118.333.2]

24C64

Gambar 3.2 Gambar Blok dengan DS1307 sebagai RTC External Secara garis besar, perancangan alat moving text dengan Dot Matriks berbasis ATmega32 terdiri dari empat blok rangkaian utama. Untuk dapat mengetahui tampilan Moving Text yang dihasilkan menggunakan Dot Matriks. Mikrokontroller ATmega32 merupakan otak dari seluruh system. Di dalam mikrokontroler inilah semua data akan diolah.

3.3 Perancangan Power Supplay (PSA)

(50)

Vreg

LM7805CT

IN OUT

TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF

1N5392GP 1N5392GP

12 Volt

[image:50.595.151.465.93.224.2]

5 Volt

Gambar 3.3. Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar

keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.4 Relay

Beberapa aplikasi pada industri dan kontrol proses memerlukan relay

sebagai elemen kontrol penting. Relay merupakan saklar elektromagnetik yang berfungsi untuk memutuskan, membuat atau mengubah satu atau lebih kontak elektrik. Ada beberapa macam relay yang terdapat di pasaran. Pada pokoknya

(51)

transistor dan relay mekanis. Dalam perancangan alat, penulis menggunakan relay

mekanis karena lebih awet dan mudah dalam pemakaiannya.

Relay pengendali elektromagnetis (an electromechanical relay = EMR)

adalah saklar magnetis. Relay ini menghubungkan rangkaian beban on / off

[image:51.595.202.454.346.665.2]

dengan pemberian energi elektromagnetis, yang membuka atau menutup kontak pada rangkaian. EMR mempunyai variasi aplikasi yang luas baik pada rangkaian listrik maupun elektronis. Misalnya EMR dapat digunakan pada kontrol dari kran-daya cairan dan di berbagai macam kontrol urutan mesin, misalnya operasi pengeboran (tanah), pengeboran (plat), penggilingan dan pengerindaan.

Gambar 3.4. Simbol Relay

com

Vcc no nc

Q1

R1

100 k

GND D1

IN4001

Gambar 3.5. Relay Dengan Rangkaian Driver

Relay biasanya hanya mempunyai satu kumparan, tetapi relay dapat

(52)

bergerak. Kontak yang bergerak dipasang pada plunger. Kontak ditunjuk sebagai

normally open (NO) dan normally close (NC). Apabila kumparan diberi tenaga,

terjadi medan elektromagnetis. Aksi dari medan pada gilirannya menyebabkan

plunger bergerak pada kumparan kontak NO dan membuka kontak NC. Jarak

gerak plunger biasanya pendek yaitu sekitar 0,25 inchi atau kurang. Kontak NO akan membuka ketika tidak ada arus mengalir pada kumparan, tetapi tertutup secepatnya setelah kumparan menghantarkan arus atau diberi tenaga. Kontak NC akan tertutup apabila kumparan tidak diberi daya dan membuka ketika kumparan diberi daya. Masing-masing kontak biasanya digambarkan sebagai kontak yang tampak dengan kumparan tidak diberi daya. Sebagian besar relay kontrol mesin mempunyai beberapa ketentuan untuk pengubahan kontak NO menjadi NC, atau sebaliknya. Itu berkisar dari kontak sederhana (flip-over

3.5 Perancangan rangkaian Real Time Clock (RTC) DS1307

) untuk melepaskan kontak dan menempatkan kembali dengan perubahan lokasi pegas.Berikut jenis gambar relay yang dipasaran.

RTC adalah jenis pewaktu yang bekerja berdasarkan waktu yang sebenarnya atau dengan kata lain berdasarkan waktu yang ada pada jam kita. Agar dapat berfungsi, pewaktu ini membutuhkan dua parameter utama yang harus ditentukan, yaitu pada saat mulai (start) dan pada saat berhenti (stop).

3V BAT1 3

7

5 6 U2

2

[image:52.595.201.421.635.725.2]

1

(53)

DS1307 merupakan salah satu tipe IC RTC yang dapat bekerja dalam daya listrik rendah. Di dalamnya berisi waktu jam dan kalender dalam format BCD. Waktu jam dan kalender memberikan informasi detik, menit, jam, hari, tanggal, bulan, dan tahun. Pendeteksi sumber listrik juga disediakan untuk mendeteksi kegagalan sumber listrik dan langsung mengalihkannya ke sumber baterai. RTC difungsikan sebagai penyimpan data jam walaupun sumber tegangan utama mati atau rusak.

3.6 Saklar

Saklar adalah sebuah perangkat yang digunakan untuk memutuskan jaringan listrik, atau untuk menghubungkannya. Jadi saklar pada dasarnya adalah alat penyambung atau pemutus aliran listrik. Selain untuk jaringan listrik arus kuat, saklar berbentuk kecil juga dipakai untuk alat komponen elektronika arus lemah.

(54)

3.7 FLOW CHART PROGRAM

TIDAK KOLOM =Jumlah Kolom

YA MULAI

SET JUMLAH KOLOM SET JUMLAH BARIS

SET DATA oe = 0

KIRIM KOLOM DAN BARIS KIRIM DATA

Oe =1

GESER (KOLOM + 1)

(55)

BAB 4

PENGUJIAN RANGKAIAN

4.1 Pengujuan Rangkaian Power Suplay

Pengujian rangkaian power supply ini bertujuan untuk mengetahui tegangan yang dikeluarkan oleh rangkaian tersebut, dengan mengukur tegangan keluaran dari power supply menggunakan multimeter digital. Setelah dilakukan pengukuran maka diperoleh besarnya tegangan keluaran sebesar 5 volt. Dengan begitu dapat dipastikan apakah terjadi kesalahan terhadap rangkaian atau tidak. Jika diukur, hasil dari keluaran tegangan tidak murni sebesar +9 Volt dan +12 Volt, tetapi +8.97Volt dan +12.03 Volt. Hasil tersebut dikarenakan beberapa faktor, diantaranya kualitas dari tiap-tiap komponen yang digunakan nilainya tidak murni. Selain itu, tegangan jala-jala listrik yang digunakan tidak stabil.

Vin Vout Beban

5.5 V 5.5 V Ø

5.5 V 5.3 V 100 mA 5.5 V 5.2 V 200 mA 5.5 V 5.15 V 300 mA

5.5 V 5 V 400 mA

5.5 V 4.9 V 500 mA

4.1 Tabel Pengujian Power Suplay

4.2

Pengujian Rangkaian Mikrokontroler ATMega32

(56)

sumber tegangan. Kaki 10 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 11 dihubungkan dengan ground. Kemudian tegangan pada kaki 10 diukur dengan menggunakan Voltmeter. Langkah selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega32, program yang diberikan adalah sebagai berikut:

#include <mega32.h>

#include <delay.h>

#include <stdio.h>

while (1)

{

// Place your code here

PORTA=0xFF;

DDRA=0xFF;

{

delay_us(100);

PORTA=0x00;

DDRA=0x00;

(57)

4.3 Pengujian Rangkaian Relay

Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktif jika pada basis diberi tegangan < 0,7 volt. Aktifnya transistor akan mengaktifkan relay. Pada alat ini relay digunakan untuk mengaktifkan/menonaktifkan motor dc secara otomatis, dimana hubungan yang digunakan adalah normally open (NO), berarti relay aktif jika diberi input 5 volt (high) dari mikrokontroler. Dengan demikian jika relay aktip maka motor dc juga akan aktif, sebaliknya jika relay tidak aktip, maka motor dc juga akan aktif.

Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan motor dc juga aktif, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada PD.0 kemudian memberikan program sederhana pada mikrokontroler ATmega. Program yang diberikan adalah sebagai berikut:

PORTD.0=1 . . .

Perintah di atas akan memberikan logika high pada PD.0, sehingga PD.0 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay menjadi aktip dan kipas juga aktif. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut:

(58)

. . .

Perintah di atas akan memberikan logika low pada PD.0 sehingga PD.0 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay menjadi tidak aktip dan kipas juga tidak aktif.

4.4 Analisa Program

Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (berorientase mesin) dan bahasa tingkat tinggi (bahasa berorientase pada manusia). Bahasa C berada satu tingkat di atas bahasa yang berorientasi pada mesin, namun tetap satu tingkat dibawah sebagian besar bahasa yang berorientasi persoalan.

Bahasa C cukup dekat dengan komputer untuk memberikan kendali yang besar terhadap detil implementasi pemakaian, namun cukup jauh untuk mengabaikan detil hardware. Karena itulah bahasa C suatu ketika dipandang sebagai bahasa high-level dan pada saat yang lain dilihat sebagai bahasa low-level.

Bahasa C merupakan bahasa pemrograman terstruktur, yang membagi program kedalam bentuk sebuah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya.

(59)

tindakan yang sering dilakukan dalam pemrograman. Penampilan data/informasi biasanya ditujukan ke piranti layar (monitor), sedangkan pemasukan data biasanya dilakukan melalui keyboard.

4.5 Pengujian Rangkaian dengan Menjalankan Program

Berikut adalah listing program untuk mengetes huruf R pada matriks 8x8 apakah sudah berfungsi Terlampir :

Display dengan matrix yang disusun dengan LED atau menggunakan LED matrix 8x8 yang sudah jadi, sama saja. Perbedaannya cuma pada saat perakitan, pembuatan display dengan menyusun LED lebih repot.

Moving Text yang sudah jadi, pengaturannya adalah sebagai berikut:

4.6 Pengujian Rangkaian DS 1307

Untuk membaca data tangal dan waktu yg tersimpan di memori RTC Ds1307 dapat dilakukan melalui komunikasi serial I2C spt tampak pada gambar berikut:

Vcc Vcc

Vcc

SDA

DS1307

Crystal 32.768khz

3v bat

1

2

3

5

6 SCL

4

Microcontroller

(60)
(61)

BAB 5

KESIMPULAN DAN SARAN

5.1Kesimpulan

1. Alat ini berkerja secara manual dengan menjalankan program terlebih dahulu, mikrokontroller memproses data dengan menggunakan Keyboard. 2. Alat ini bekerja tidak berhenti selama 24 jam.

5.2 Saran

1. Dengan beberapa pengembangan dan penyempurnaan sistem dari alat ini akan dapat lebih sempurna lagi hasilnya.

2. Penggunaan Dot Matriks yang lebih bagus sehingga dapat menampilkan tampilan yang kita inginkan dalam pengujiannya akan lebih menarik.

(62)

DAFTAR PUSTAKA

Budiharto, Widodo. 2005. Panduan Lengkap Belajar Mikrokontroller Perancangan

Sistem dan Aplikasi Mikrokontroller. Jakarta: PT. Alex Media

Komputindo.

Elektur, 1996. 302 Rangkaian Elektronika. Penerjemah P.Pratomo dkk. Jakarta: Percetakan PT.Gramedia.

Sultan Setiawan, 2006. Mudah dan Menyenagkan Belajar Mikrokontroler.

Andi Offset.

(63)

Skema Rangkain Untuk Mejalankan Program U$2 1 2 3 4 5 6 7 8 9 I1 I2 I4 I3 I6 I8 I5 I7

GND CD+ o1 o2 o4 o3 o6 o8 o7 o5 18 17 16 15 14 13 12 11 10 13 10 15 9 4 16 6 1 13 10 15 9 4 16 6 1 13 10 15 9 4 16 6 1 13 10 15 9 4 16 6 1

8 7 3 14 2 12 11 5 8 7 3 14 2 12 11 5

SER QA

QB

SCK QC SCL QD

QE

RCK QF

QG

G QH*

SER QA SCK QC SCL QD RCK QF G QH* QB QE QG

SER QA SCK QC SCL QD RCK QF G QH*

QG QE QB 14 11 10 12 QH QH QH 13 IC1 IC2 IC3 74LS595D 74LS595D 74LS595D 13 13 12 12 10 10 11 11 14 14

15 1 2 3 4 5 6 7 9

15 8 1 7 2 3 3 14 4 2 5 12 6 11 7 5 9 15 8 1 7 2 3 3 14 4 2 5 12 6 11 7 5 9

Vcc GND SL1-1 SL1-2 SL1-3 SL1-4 SL1-5 VCC GND

(64)

Perancangan Sistem Rangkaian (ADC7)PA7 (ADC6)PA6 (ADC5)PA5 (ADC4)PA4 (ADC3)PA3 (ADC2)PA2 (ADC1)PA1 (ADC0)PA0 (SCK)PB7 (MISO)PB6 (MOSI)PB5 (SS)PB4 (AIN1/INT2)PB3 (AIN0/INT0)PB2 (T1)PB1 (T0/XCK)PB0 (TOSC2)PC7 (TOSC1)PC6 PC5 PC4 PC3 PC2 (SDA)PC1 (SCL)PC0 (OC2)PD7 (ICP)PD6 (OCTA)PD5 (OC1B)PD4 (INT1)PD3 (INT0)PD2 (TXD)PD1 (RXD)PD0 2 3 4 1 IC4 33 34 35 36 37 38 39 40 OUT-1 OUT-2 OUT-6 OUT-7 OUT-8 OUT-10 OUT-9 PAS-3 PAS-2 PAS-1 LED2 LED1 10K R RST 10uF RST MEGA8535-P DS1307 24c64 AT89C2051P USB GND GND GND GND LED7 ind LED3 ind 104 U$11 10K U$5 U$6 10K C9 C9 1 12M 22 D2 22

VCC VCC VCC VCC GND 104 C2 104 C8 D2A D2 R4 10K IC1 9 RESET XTAL2 XTAL1 AREF AVCC AGND VCC GND GND 10 P3.7 P3.5-T1 P3.4-T0 P3.3-INT1/ P2.3-INT0/ P3.1-TXD P3.0-RXD

XTAL2 XTAL1 RST-VPP RN1 20 VCC 1 IC2 5 6 7 8 2K R1 R2 R6 R5 R3 OUT-3 OUT-4 OUT-5 AVR ISP GND GND GND GND GND VCC 22 22 C3 C1 Q1 2 1 16M C5 104 11 10 31 30 32 13 12 X1 4 3 2 1 U$1 1 2 XTAL32 U$2 104 R8 1 2 U$9 3 4 C6 104 BAT3M +@4 -@1 6 7 8 9 X1 X2 VBAT GND SDA SCA OUT VCC C4 104 JP1 SCK MISO MOSI RST VTG 7 1 9 5 2 3 4 6 8 10 8 7 6 5 4 3 2 1 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14

(65)

Program Untuk Mengetes Huruf R Pada Matriks 8x8

/******************************************************* This program was created by the

CodeWizardAVR V3.09 Standard Automatic Program Generator

© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : rtx Feb 2014 Version : 0.9

Date : 3/28/2013 Author : kbram Company : ekatron Comments:

Chip type : ATmega32A Program type : Application

AVR Core Clock frequency: 16.000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 512

*******************************************************/

(66)

#define sdt PORTC.2 #define sclk PORTC.3 #define soe PORTC.4

#define led PORTC.7

#define signal PIND.0 #define dt_in PINA

unsigned char jam, menit, detik;

// Declare your global variables here unsigned char const pj_kolom = 48;

unsigned char dm_jam[] = {0x00,'1','2',':','3','1',0xaa};

flash char hrf_1[]={0x82,0xff,0xff,0x80,0x00,0x00}; //1 6 flash char hrf_2[]={0x82,0xc1,0xe1,0xb1,0x9f,0x8e,0x00,0x00}; //2 8

flash char hrf_3[]={0x42,0x81,0x89,0x89,0xff,0x76,0x00,0x00}; //3 8

flash char hrf_4[]={0x30,0x38,0x24,0xa2,0xff,0xff,0xa0,0x00,0x00}; //4 9

flash char hrf_5[]={0x4f,0x8f,0x89,0x89,0xf9,0x71,0x00,0x00}; //5 8

flash char hrf_6[]={0x7e,0xff,0x89,0x89,0x89,0xf9,0x72,0x00,0x00}; //6 9

(67)

flash char hrf_8[]={0x76,0xff,0x89,0x89,0x89,0xff,0x76,0x00,0x00}; //8 9

flash char hrf_9[]={0x4e,0x9f,0x91,0x91,0x91,0xff,0x7e,0x00,0x00}; //9 9

flash char hrf_0[]={0x7e,0xff,0x81,0x81,0x81,0xff,0x7e,0x00,0x00}; //0 9

flash char hrf_tnd_ttk_koma[]={0x36,0xb6,0x76,0x00,0x00}; //; 5

// I2C Bus functions #include <i2c.h>

// DS1307 Real Time Clock functions #include <ds1307.h>

// Declare your global variables here

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void) {

// Place your code here

signed int txt_idx; bit isi, txt;

(68)

key_in = dt_in; // ps2key stroked

// entering control sequence player

// entering page 1

if (key_in == 0x05) // page one if F1 is pressed {

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

(69)

if (txt_idx < 2) iprom_write(p1_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = page1_start; ee_addr < page1_end; ee_addr++) {

xkar = text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} }

}

/// entering page 2

if (key_in == 0x06) // page 2 if F2 is pressed {

txt_idx = 0; while (1) {

isi = 0;

(70)

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

} }

} // leaving page 2

// entering page 3

if (key_in == 0x04) // page 3 if F3 is pressed {

txt_idx = 0; while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

(71)

iprom_write(p3_sts_addr,1); if (txt_idx < 2) iprom_write(p3_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = page3_start; ee_addr < page3_end; ee_addr++) {

xkar = text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} } // leaving page 3 }

// entering page4

if (key_in == 0x0c) // page 4 if F4 is pressed {

txt_idx = 0; while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

(72)

{

kirim_kolom(pj_kol,ndx); // sepanjang display if (signal == 0)

{

key_in = dt_in; // ascii char in }

}

} }

if (key_in == 13) {

pg_idx = 0;

iprom_write(p4_sts_addr,1); if (txt_idx < 2) iprom_write(p4_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = page4_start; ee_addr < page4_end; ee_addr++) {

xkar = text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

(73)

}

} // leaving page 4

// entering page 5

if (key_in == 0x03) // page 5 if F5 is pressed {

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

iprom_write(p5_sts_addr,1); if (txt_idx < 2) iprom_write(p5_sts_addr,0); text[txt_idx] = 0xaa;

(74)

for (ee_addr = page5_start; ee_addr < page5_end; ee_addr++) {

xkar = text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} }

} // leaving page 5

// entering page 6

if (key_in == 0x0b) // page 6 if F6 is pressed {

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

(75)

if (key_in == 13) {

pg_idx = 0;

iprom_write(p6_sts_addr,1); if (txt_idx < 2) iprom_write(p6_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = page6_start; ee_addr < page6_end; ee_addr++) {

xkar = text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} }

} // leaving page 6

/// entering animation text // entering demo 1

if (key_in == 0x83) // demo one if F7 is pressed {

(76)

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

iprom_write(d1_sts_addr,1); if (txt_idx < 2) iprom_write(d1_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = demo1_start; ee_addr < demo1_end; ee_addr++) {

xkar = d_text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

(77)

} }

}

/// entering demo 2

if (key_in == 0x0a) // demo 2 if F8 is pressed {

txt_idx = 0; while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

(78)

text[txt_idx] = 0xaa;

for (ee_addr = demo2_start; ee_addr < demo2_end; ee_addr++) {

xkar = d_text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} }

} // leaving page 2

// entering demo 3

if (key_in == 0x01) // demo 3 if F9 is pressed {

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

(79)

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

iprom_write(d3_sts_addr,1); if (txt_idx < 2) iprom_write(d3_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = demo3_start; ee_addr < demo3_end; ee_addr++) {

xkar = d_text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} } // leaving page 3 }

// entering demo4

(80)

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

iprom_write(d4_sts_addr,1); if (txt_idx < 2) iprom_write(d4_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = demo4_start; ee_addr < demo4_end; ee_addr++) {

xkar = d_text[pg_idx]; pg_idx++;

(81)

} break;

} }

} // leaving page 4

// entering demo 5

if (key_in == 0x1c) // demo 5 if F11 is pressed {

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

for (ndx = 0; ndx < 8; ndx ++) // satu baris {

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

(82)

if (txt_idx < 2) iprom_write(d5_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = demo5_start; ee_addr < demo5_end; ee_addr++) {

xkar = d_text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} }

} // leaving page 5

// entering demo 6

if (key_in == 0x07) // demo 6 if F12 is pressed {

txt_idx = 0;

while (1) {

isi = 0;

for (idx = 0; idx < pj_kol; idx++) // satu kali tampil {

(83)

{

kirim_kolom(pj_kol,ndx); // sepanjang display }

}

if (key_in == 13) {

pg_idx = 0;

iprom_write(d6_sts_addr,1); if (txt_idx < 2) iprom_write(d6_sts_addr,0); text[txt_idx] = 0xaa;

for (ee_addr = demo6_start; ee_addr < demo6_end; ee_addr++) {

xkar = d_text[pg_idx]; pg_idx++;

iprom_write(ee_addr,xkar); if (xkar == 0xaa) break; }

break;

} }

} // leaving demo 6 }

(84)

// Timer1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) {

unsigned char jh, jl, mh, ml; // Reinitialize Timer1 value TCNT1H=0x85EE >> 8; TCNT1L=0x85EE & 0xff; // Place your code here

led_tick++;

if (led_tick == 1) led = 0; if (led_tick > 3) led = 1;

if (led_tick > 15) led_tick = 0; rtc_get_time(&jam,&menit,&detik); jh = jam/10;

jl = jam%10; mh = menit/10; ml = menit%10; }

void main(void) {

// Declare your local variables here

(85)

// Input/Output Ports initialization // Port A initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=Out Bit1=Out Bit0=Out

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (1<<DDB2) | (1<<DDB1) | (1<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=0 Bit1=0 Bit0=0 PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization

// Function: Bit7=Out Bit6=In Bit5=In Bit4=Out Bit3=Out Bit2=Out Bit1=In Bit0=In

DDRC=(1<<DDC7) | (0<<DDC6) | (0<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (0<<DDC1) | (0<<DDC0);

// State: Bit7=0 Bit6=T Bit5=T Bit4=0 Bit3=0 Bit2=0 Bit1=T Bit0=T PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

(86)

DDRD=(0<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected

TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 62.500 kHz // Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Di

Gambar

Gambar 2.1 Dot Matriks
Gambar 2.2 Susunan Jalur-Jalur Vertikal Dan Horisontal
Gambar 2.4 Rangkaian Moving Text Mode Scan dengan IC TTL 74HC595
Gambar 2.5 Rangkaian Belakang PCB
+7

Referensi

Dokumen terkait

Perlindungan konsumen yang seharusnya ada dalam e-commerce dan merupakan aspek yang penting untuk diper- hatikan, karena beberapa karakteristik khas e-com- merce akan menempatkan

Peneliti menggunakan teknik analisa data dengan metode USG (urgency, seriuosness, growth). Observasi, studi pustaka, wawancara dan dokumentasi merupakan teknik pengumpulan

Dengan demikian, tayangan On The Spot merupakan tayangan yang banyak digemari oleh khalayak dalam menonton program televisi dan menjadi trendsetter bagi stasiun

Maksud dari kegiatan praktikum ini yaitu untuk mengetahui susunan batuan secara bersistem yang menyusun bumi terutama pada batuan

Kapolres Purworejo AKBP Arsida Septiana SH mengatakan, kegiatan latihan menembak dilakukan untuk memelihara kemampuan personil polri dalam dalam memberikan pelayanan

Dari hasil analisis tersebut dapat disimpulkan bahwa mahasiswa yang memiliki keterampilan proses sains yang baik adalah mahasiswa yang memiliki gaya berpikir

Walaubagaimanapun, tidak dapat dinafikan hingga saat ini bekerja sebagai pelacur merupakan pekerjaan yang sama sekali dilarang kerana bertentangan dengan moral, agama, dan

Penelitian ini bertujuan untuk mengoptimalkan penggunaan baterai setiap node dengan selfishness menggunakan metode prediksi Exponential Weighted Moving Average dan Moving