Modul ini membahas pemrograman mikrokontroler dalam bahasa C. Terdapat penjelasan tentang compiler C yang menghasilkan file hex untuk memori Flash mikrokontroler, penulisan dasar bahasa C seperti variabel, fungsi, operator, seleksi kondisi dan perulangan. Juga dijelaskan pengenalan mikrokontroler AVR yang memiliki keunggulan kecepatan eksekusi program.
Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
Mengenal bahasa C sebagai salah satu bahasa pemrograman. Mengidentifikasi struktur penulisan program bahasa C. Software yang digunakan sebagai compiler, cara instalasi dan penggunaan Compiler.
Dokumen ini membahas tentang dasar-dasar mikrokontroler seperti port input/output, pengertian mikrokontroler, port I/O pada mikrokontroler, bentuk kaki pin ATmega16, dan pemberian clock pada mikrokontroler. Dokumen ini menjelaskan bahwa mikrokontroler merupakan mikrokomputer tunggal yang memiliki CPU, memori, dan antarmuka I/O. Mikrokontroler ATmega16 memiliki 32 port I/
Program tersebut merangkum 6 praktikum dan 1 tugas mengenai pengoperasian LED menggunakan mikrokontroler ATmega8535. Praktikum dan tugas tersebut meliputi pengoperasian LED untuk menyala semua, kedip, berjalan secara berurutan, berjalan menggunakan metode geser bit dan lookup table, serta LED menyala berselingan dan bergantian secara berulang-ulang.
Half subtractor dan full subtractor merupakan rangkaian logika yang digunakan untuk mengurangi bilangan biner. Half subtractor dapat mengurangi 1 bit input dan menghasilkan 2 bit output yaitu sum dan carry, sedangkan full subtractor dapat mengurangi lebih dari 1 bit input dan menghasilkan sum dan carry. Kedua rangkaian dapat dibuat menggunakan gerbang logika AND, OR, dan NOT.
Laporan praktikum ini menjelaskan cara mengantarmukakan mikrokontroler dengan LED dan memprogramnya untuk mengontrol nyala LED. Dilakukan 5 percobaan dengan menggunakan berbagai kode biner dan heksadesimal untuk mengatur nyala LED secara bergantian selama 1 detik setiap pergantian.
Modul ATmega8535 by muhammad kennedy ginting (Universitas Sumatera Utara)Muhammad Kennedy Ginting
Dokumen tersebut memberikan ringkasan singkat tentang modul belajar mikrokontroler Atmega8535. Mikrokontroler ini memiliki fitur seperti 8KB flash memory, 512B EEPROM, dan 512B SRAM serta dapat digunakan untuk berbagai aplikasi seperti pengendali LED, pembacaan input ADC, dan pengendalian LCD. Modul ini menjelaskan cara pemakaian mikrokontroler tersebut dengan menggunakan perangkat keras dan perangkat lunak penduk
Modul 2 teknik pemrograman mengenal bahasa c dan compilerBeny Abd
Mengenal bahasa C sebagai salah satu bahasa pemrograman. Mengidentifikasi struktur penulisan program bahasa C. Software yang digunakan sebagai compiler, cara instalasi dan penggunaan Compiler.
Dokumen ini membahas tentang dasar-dasar mikrokontroler seperti port input/output, pengertian mikrokontroler, port I/O pada mikrokontroler, bentuk kaki pin ATmega16, dan pemberian clock pada mikrokontroler. Dokumen ini menjelaskan bahwa mikrokontroler merupakan mikrokomputer tunggal yang memiliki CPU, memori, dan antarmuka I/O. Mikrokontroler ATmega16 memiliki 32 port I/
Program tersebut merangkum 6 praktikum dan 1 tugas mengenai pengoperasian LED menggunakan mikrokontroler ATmega8535. Praktikum dan tugas tersebut meliputi pengoperasian LED untuk menyala semua, kedip, berjalan secara berurutan, berjalan menggunakan metode geser bit dan lookup table, serta LED menyala berselingan dan bergantian secara berulang-ulang.
Half subtractor dan full subtractor merupakan rangkaian logika yang digunakan untuk mengurangi bilangan biner. Half subtractor dapat mengurangi 1 bit input dan menghasilkan 2 bit output yaitu sum dan carry, sedangkan full subtractor dapat mengurangi lebih dari 1 bit input dan menghasilkan sum dan carry. Kedua rangkaian dapat dibuat menggunakan gerbang logika AND, OR, dan NOT.
Laporan praktikum ini menjelaskan cara mengantarmukakan mikrokontroler dengan LED dan memprogramnya untuk mengontrol nyala LED. Dilakukan 5 percobaan dengan menggunakan berbagai kode biner dan heksadesimal untuk mengatur nyala LED secara bergantian selama 1 detik setiap pergantian.
Modul ATmega8535 by muhammad kennedy ginting (Universitas Sumatera Utara)Muhammad Kennedy Ginting
Dokumen tersebut memberikan ringkasan singkat tentang modul belajar mikrokontroler Atmega8535. Mikrokontroler ini memiliki fitur seperti 8KB flash memory, 512B EEPROM, dan 512B SRAM serta dapat digunakan untuk berbagai aplikasi seperti pengendali LED, pembacaan input ADC, dan pengendalian LCD. Modul ini menjelaskan cara pemakaian mikrokontroler tersebut dengan menggunakan perangkat keras dan perangkat lunak penduk
Modul ini membahas tentang rangkaian digital dan logika kombinasi. Terdapat penjelasan tentang tabel kebenaran, gerbang logika dasar, bentuk persamaan logika, dan teknik minimisasi untuk menyederhanakan persamaan logika."
Mikroprosesor Zilog Z80 dikembangkan pada tahun 1976 untuk menggantikan Intel 8080 dengan satu chip. Z80 memiliki arsitektur yang lebih canggih dengan register internal dan instruksi yang lebih beragam untuk transfer data dan operasi bit. Chip ini populer karena hanya membutuhkan tegangan tunggal +5V dan mudah disertakan pada sistem.
Dokumen tersebut membahas tentang program register instruksi dan accumulator dalam bahasa VHDL. Program register digunakan untuk menyimpan instruksi dari memori ke dalam register dengan mengontrol input dan outputnya melalui trigger. Program accumulator berfungsi untuk menyimpan hasil perhitungan aritmatika dan logika dengan mengontrol nilai input dan outputnya melalui trigger. Kedua program tersebut bertujuan untuk mempelajari konsep register instruksi dan accumulator dalam komputer.
Rangkaian dua buah gerbang AND disimulasikan menggunakan Proteus Profesional 7.5. Komponen-komponen seperti switch, gerbang AND, dan lampu diambil dari library untuk membentuk rangkaian. Simulasi dilakukan untuk melihat tabel kebenaran dari rangkaian tersebut.
Praktikum iii lcd, servo motor, dan keypad dengan proteusFarichah Riha
Dokumen ini membahas beberapa praktikum menggunakan Arduino dan Proteus, termasuk menampilkan teks pada LCD, membaca sensor suhu dan menampilkannya pada LCD, menggerakkan servo motor, membaca input dari keypad dan menampilkannya pada LCD, serta sistem parkir menggunakan 7 segment display.
ANALISIS PENCARIAN RUTE TERPENDEK PADA JARINGAN KOMPUTER DENGAN MENGGUNAKAN ...Simon Patabang
1. Algoritma genetika digunakan untuk mencari rute terpendek dalam jaringan komputer dengan 10 node. Rute terpendek dari node 1 ke node 10 adalah 1-2-5-8-10 dengan jarak 10 satuan, sedangkan rute terpendek dari node 1 ke node 9 adalah 1-4-6-9 dengan jarak 7 satuan.
2. Parameter algoritma genetika seperti jumlah populasi, probabilitas crossover, dan probabilitas mutasi mempengaruhi waktu komputasi.
Fetch Cycle adalah siklus pengambilan data ke memori atau register. Aliran data siklus pengambilan (Fetch Cycle) berdasarkan urutan kejadian selama siklus interuksi tergantung pada rangan CPU. Sebuah CPU yang menggunakan register memori alamat (MAR), Register memori buffer (MBR), pencacah program (PC) dan register instruksi(IR). Proses pada siklus pengambilan (Fetch Cycle), instruksi dibaca dari memori. Selanjutnya, PC berisi alamat instruksi berikutnya yang akan diambil. Alamat ini dipindahkan di MAR(Memory Address Register) dan ditaruh di bus alamat. Kemudian Control Unit meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR (Memory Buffer Register), kemudian dipindahkan ke IR (Instruction Regiter). PC (Program Counter) naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya. Siklus selesai, CU memeriksa isi IR (Instruction Register) untuk menentukan apakah IR (Instruction Register) berisi Operand Specifier yang menggunakan pengalamatan tak langsung (Indirect).
Makalah ini membahas karakteristik dan fungsi set instruksi dalam komputer. Terdapat beberapa jenis instruksi seperti pengolahan data, penyimpanan data, perpindahan data, dan kontrol. Set instruksi harus memiliki berbagai jenis operand seperti angka, karakter, dan data logika untuk mendukung berbagai macam operasi seperti aritmatika, logika, konversi, input/output, dan kontrol sistem.
Teks tersebut menjelaskan arsitektur komputer sederhana bernama SAP-1. SAP-1 dirancang untuk mendemonstrasikan operasi dasar komputer dengan arsitektur yang sederhana untuk mudah dipahami. SAP-1 menggunakan register, memori, dan blok logika untuk menjalankan instruksi seperti penjumlahan dan pengurangan.
Modul ini membahas tentang rangkaian digital dan logika kombinasi. Terdapat penjelasan tentang tabel kebenaran, gerbang logika dasar, bentuk persamaan logika, dan teknik minimisasi untuk menyederhanakan persamaan logika."
Mikroprosesor Zilog Z80 dikembangkan pada tahun 1976 untuk menggantikan Intel 8080 dengan satu chip. Z80 memiliki arsitektur yang lebih canggih dengan register internal dan instruksi yang lebih beragam untuk transfer data dan operasi bit. Chip ini populer karena hanya membutuhkan tegangan tunggal +5V dan mudah disertakan pada sistem.
Dokumen tersebut membahas tentang program register instruksi dan accumulator dalam bahasa VHDL. Program register digunakan untuk menyimpan instruksi dari memori ke dalam register dengan mengontrol input dan outputnya melalui trigger. Program accumulator berfungsi untuk menyimpan hasil perhitungan aritmatika dan logika dengan mengontrol nilai input dan outputnya melalui trigger. Kedua program tersebut bertujuan untuk mempelajari konsep register instruksi dan accumulator dalam komputer.
Rangkaian dua buah gerbang AND disimulasikan menggunakan Proteus Profesional 7.5. Komponen-komponen seperti switch, gerbang AND, dan lampu diambil dari library untuk membentuk rangkaian. Simulasi dilakukan untuk melihat tabel kebenaran dari rangkaian tersebut.
Praktikum iii lcd, servo motor, dan keypad dengan proteusFarichah Riha
Dokumen ini membahas beberapa praktikum menggunakan Arduino dan Proteus, termasuk menampilkan teks pada LCD, membaca sensor suhu dan menampilkannya pada LCD, menggerakkan servo motor, membaca input dari keypad dan menampilkannya pada LCD, serta sistem parkir menggunakan 7 segment display.
ANALISIS PENCARIAN RUTE TERPENDEK PADA JARINGAN KOMPUTER DENGAN MENGGUNAKAN ...Simon Patabang
1. Algoritma genetika digunakan untuk mencari rute terpendek dalam jaringan komputer dengan 10 node. Rute terpendek dari node 1 ke node 10 adalah 1-2-5-8-10 dengan jarak 10 satuan, sedangkan rute terpendek dari node 1 ke node 9 adalah 1-4-6-9 dengan jarak 7 satuan.
2. Parameter algoritma genetika seperti jumlah populasi, probabilitas crossover, dan probabilitas mutasi mempengaruhi waktu komputasi.
Fetch Cycle adalah siklus pengambilan data ke memori atau register. Aliran data siklus pengambilan (Fetch Cycle) berdasarkan urutan kejadian selama siklus interuksi tergantung pada rangan CPU. Sebuah CPU yang menggunakan register memori alamat (MAR), Register memori buffer (MBR), pencacah program (PC) dan register instruksi(IR). Proses pada siklus pengambilan (Fetch Cycle), instruksi dibaca dari memori. Selanjutnya, PC berisi alamat instruksi berikutnya yang akan diambil. Alamat ini dipindahkan di MAR(Memory Address Register) dan ditaruh di bus alamat. Kemudian Control Unit meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR (Memory Buffer Register), kemudian dipindahkan ke IR (Instruction Regiter). PC (Program Counter) naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya. Siklus selesai, CU memeriksa isi IR (Instruction Register) untuk menentukan apakah IR (Instruction Register) berisi Operand Specifier yang menggunakan pengalamatan tak langsung (Indirect).
Makalah ini membahas karakteristik dan fungsi set instruksi dalam komputer. Terdapat beberapa jenis instruksi seperti pengolahan data, penyimpanan data, perpindahan data, dan kontrol. Set instruksi harus memiliki berbagai jenis operand seperti angka, karakter, dan data logika untuk mendukung berbagai macam operasi seperti aritmatika, logika, konversi, input/output, dan kontrol sistem.
Teks tersebut menjelaskan arsitektur komputer sederhana bernama SAP-1. SAP-1 dirancang untuk mendemonstrasikan operasi dasar komputer dengan arsitektur yang sederhana untuk mudah dipahami. SAP-1 menggunakan register, memori, dan blok logika untuk menjalankan instruksi seperti penjumlahan dan pengurangan.
1. Dokumen menjelaskan sejarah bahasa pemrograman C++ dan pengembangannya dari bahasa BCPL hingga menjadi bahasa berorientasi objek pada tahun 1990.
2. Konsep dasar C++ meliputi tipe data, variabel, operator, input output, dan fungsi-fungsi dasar.
3. C++ banyak digunakan untuk membuat sistem operasi, game, sistem kendali, dan aplikasi lainnya.
1. Dokumen menjelaskan sejarah bahasa pemrograman C++ dan pengembangannya dari bahasa BCPL hingga menjadi bahasa berorientasi objek pada tahun 1990.
2. Konsep dasar C++ meliputi tipe data, variabel, operator, input output, dan fungsi-fungsi dasar.
3. C++ banyak digunakan untuk membuat sistem operasi, game, sistem kendali, dan aplikasi lainnya.
Modul ini membahas pengenalan bahasa pemrograman C++. Terdiri dari penjelasan tentang struktur dasar bahasa C++ seperti variabel, tipe data, deklarasi, operator, input/output, dan konstanta. Juga menjelaskan penggunaan editor Turbo C++ untuk membuat program C++ sederhana. Diakhiri dengan contoh program "Hello World" beserta penjelasan setiap baris kodenya.
Program tersebut merangkum sejarah bahasa C++ dan konsep dasarnya. C++ dikembangkan dari bahasa C oleh Bjarne Stroustrup pada tahun 1980-an dan menjadi bahasa berorientasi objek pada tahun 1990. Program C++ terdiri dari deklarasi variabel, operator, input-output, dan struktur dasar lainnya.
Program ini membuat algoritma untuk menghitung harga tiket kereta api berdasarkan jurusan, kelas, dan jumlah tiket yang dipesan. Program akan meminta input jurusan, kelas, dan jumlah tiket lalu menghitung harga tiket, total harga, diskon, dan pembayaran akhir berdasarkan kombinasi input tersebut.
1. Dokumen tersebut merupakan modul praktikum mata kuliah Algoritma dan Pemrograman I mengenai bahasa pemrograman C++.
2. Materi yang dibahas meliputi pengertian algoritma, bahasa C dan C++, langkah-langkah menulis program dalam Turbo C++, pengenalan C++, tipe data, variabel, operator, dan input/output.
3. Program yang disertakan sebagai contoh meliputi penggunaan tipe data, variabel, operator arit
1. Dokumen tersebut merupakan modul praktikum mata kuliah Algoritma dan Pemrograman I mengenai bahasa pemrograman C++.
2. Materi yang dibahas meliputi pengertian algoritma, bahasa C dan C++, langkah-langkah menulis program dalam Turbo C++, pengenalan C++, tipe data, variabel, operator, dan input/output.
3. Program yang disertakan sebagai contoh meliputi penggunaan tipe data, variabel, operator arit
Dokumen tersebut membahas tentang PHP sebagai bahasa script server-side untuk pemograman web yang dibuat oleh Rasmus Lerdoff dan awalnya merupakan program CGI untuk menerima input melalui form di web browser. PHP dapat memproses data secara dinamis dan merupakan bahasa embedded script yang disertakan pada halaman HTML untuk dijalankan di server."
Similar to Modul simulasi pemograman mikrokontroler (20)
Dokumen tersebut memberikan contoh soal dan pembahasan mengenai rangkaian logika digital seperti adder, subtractor, multiplexer, demultiplexer, encoder, decoder, driver, dan converter. Termasuk memberikan contoh soal untuk merancang rangkaian-rangkaian tersebut berdasarkan tabel yang diberikan dan menggunakan K-map untuk menyederhanakan fungsi logika.
Quis berlangsung selama 60 menit tentang materi yang telah dipelajari sebelumnya. Mahasiswa bekerja sendiri-sendiri dan harus mengumpulkan hasil quis baik sudah selesai atau belum. Setelah quis, mahasiswa akan bekerja kelompok dengan membawa laptop yang sudah terinstal aplikasi Proteus dan CodeVision AVR untuk melakukan simulasi elektronika digital menggunakan mikrokontroler dalam pemrograman bahasa C.
Dokumen tersebut membahas tentang Analog to Digital Converter (ADC) dan Digital to Analog Converter (DAC). Secara singkat, ADC digunakan untuk mengubah sinyal analog menjadi digital, sedangkan DAC digunakan untuk mengubah sinyal digital menjadi analog. Dokumen ini juga menjelaskan proses sampling, quantization, dan encoding yang terjadi pada ADC, serta berbagai konfigurasi ADC pada mikrokontroler.
Pertemuan 3 aljabar boole dan peta karnaughpersonal
Dokumen tersebut membahas tentang Aljabar Boolean dan Peta Karnaugh. Aljabar Boolean adalah sistem logika yang digunakan untuk merepresentasikan hubungan antara input dan output rangkaian logika digital menggunakan nilai 1 dan 0. Peta Karnaugh merupakan metode penyederhanaan secara grafis berdasarkan tabel kebenaran untuk memperoleh persamaan Boolean yang lebih sederhana.
1. Dokumen menjelaskan berbagai sistem bilangan yang digunakan dalam komputer seperti biner, oktal, heksadesimal, dan desimal. Sistem-sistem ini berbeda dalam basis dan himpunan digitnya.
2. Terdapat penjelasan tentang konversi antar sistem bilangan seperti desimal ke biner, oktal, atau heksadesimal dan sebaliknya. Proses konversi melibatkan pembagian dan pengambilan sisa.
3. Ada pula penjel
Workshop "CSR & Community Development (ISO 26000)"_di BALI, 26-28 Juni 2024Kanaidi ken
Dlm wktu dekat, Pelatihan/WORKSHOP ”CSR/TJSL & Community Development (ISO 26000)” akn diselenggarakan di Swiss-BelHotel – BALI (26-28 Juni 2024)...
Dgn materi yg mupuni & Narasumber yg kompeten...akn banyak manfaat dan keuntungan yg didpt mengikuti Pelatihan menarik ini.
Boleh jga info ini👆 utk dishare_kan lgi kpda tmn2 lain/sanak keluarga yg sekiranya membutuhkan training tsb.
Smga Bermanfaat
Thanks Ken Kanaidi
Laporan Pembina Pramuka SD dalam format doc dapat anda jadikan sebagai rujukan dalam membuat laporan. silakan download di sini https://unduhperangkatku.com/contoh-laporan-kegiatan-pramuka-format-word/
Paper ini bertujuan untuk menganalisis pencemaran udara akibat pabrik aspal. Analisis ini akan fokus pada emisi udara yang dihasilkan oleh pabrik aspal, dampak kesehatan dan lingkungan dari emisi tersebut, dan upaya yang dapat dilakukan untuk mengurangi pencemaran udara
Modul Ajar Matematika Kelas 11 Fase F Kurikulum MerdekaFathan Emran
Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka - abdiera.com. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka. Modul Ajar Matematika Kelas 11 SMA/MA Fase F Kurikulum Merdeka.
1. CopyRigh@Eka Budi.2018
MODUL SIMULASI PEMOGRAMAN MIKROKONTROLER
DALAM PROGRAM BAHASA C
PENDAHULUAN
Compiler Bahasa C menghasilkan file hex yang akan digunakan dalam memori Flash
Mikrokontroler. Ukuran file hex yang dihasilkan oleh compiler merupakan hal yang penting
perlu diperhatikan karena mikrokontroler mempunyai memori on chip flash yang terbatas.
Pemograman dengan Bahasa C lebih mudah daripada dibandingkan dengan Bahasa
Assembly, karena Bahasa C lebih mudah dimodifikasi dan diperbaruhui, serta kodenya bersifat
portable terhadap berbagai mikrokontroler.
6. 1 DASAR – DASAR PENULISAN BAHASA C
1. Metode dan Struktur Penulisan bahasa C :
a) Pernyataan
Satu atau beberapa ekspresi yang diakhiri dengan tanda titik koma (;).
b) Blok Pernyataan
Terdiri dari satu atau beberapa pernyataan yang diawali dengan tanda { dan
diakhiri dengan tanda }. Blok pernyataan selalu diawali dengan suatu instruksi.
c) Blok fungsi
Terdiri dari satu atau beberapa pernyataan yang dirancang untuk melakukan proses
tertentu. Blok fungsi dimulai dengan nama fungsi dan diikuti tanda () dan tanda { diakhiri
tanda }.
#include < mega16.h>
/* directive #include digunakan jika mengambil fungsi-fungsi library*/
// Deklarasi variabel global
....
void main() /* Variabel fungsi sbg awal program */
{ /*blok awal*/
// Deklarasi variabel local
....
// Pernyataan – pernyataan dan kode – kode yang dihasilkan
.....
} /*blok akhir*/
while (1) /* Fungsi program utama */
{
// Fungsi Pernyataan – pernyataan dari program utama
....
}
2. CopyRigh@Eka Budi.2018
- #include < .... >
Bukanlah merupakan pernyataan, sehingga tidak diakhiri dengan titik koma (;).
Baris tersebut miminta kompiler untuk menyertakan file yang namanya ada di
antara < ....> dalam proses kompilasi. File – file ini (yang berekstensi. h) berisi
deklarasi fungsi ataupun variabel, file ini disebut header. File ini digunakan
semacam perpustakaan (library) bagi pernyataan yang ada ditubuh program.
#include merupakan salah satu jenis pengarah praprosesor (preprocessor
directive). Preprosesor directive adalah bagian yang berisi pengikutsertaan file
atau berkas-berkas fungsi maupun pendefinisian konstanta
Contoh :
#include <mega16.h>, #include <stdio.h>, #include <math.h> dan lain – lain
2. Tipe Data
No Tipe Data Ukuran
1 Unsigned char 8 bit
2 Char 8 bit
3 Unsigned int 16 bit
4 int 16 bit
5 Long 32 bit
6 Unsigned Long 32 bit
7 Float 32 bit
8 Double 32 bit
Untuk penggunaan mikrokontroler AVR yang 8 bit baiknya menggunakan tipe
data yang 8 bit juga, seperti penggunaan tipe data Unsigned char, Char yang
mempunyai rentang nilai 0 s/d 255 (0x00 s/d 0Xff)
- Variable
Variabel adalah identifier yang nilainya dapat berubah atau diubah selama
program berjalan (dieksekusi). Pengubahnya adalah user atau proses.
- Deklarasi variabel (tipe_data nama_variabel;)
Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih
dahulu. Pengertian deklarasi di sini berarti memesan memori dan menentukan
jenis data yang bisa disimpan di dalamnya.
Contoh : int a, b, c;
3. CopyRigh@Eka Budi.2018
- Inisialisasi variabel (tipe_data nama_variabel = nilai;)
Contoh : int a = 10 ;
- Konstanta
Konstanta adalah identifier yang nilainya tetap selama program berjalan/
dieksekusi. Cara untuk mengubahnya hanya melalui source codenya saja seperti
halnya variabel, konstanta juga memiliki tipe. Penulisan konstanta mempunyai
aturan tersendiri, sesuai dengan tipe masing-masing.
Contoh : #define PHI 3.14, #define max_data 50
3. Deklarasi
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa konstanta, variable dan fungsi.
- Deklarasi Fungsi
Fungsi merupakan bagian yang terpisah dari program dan dapat diaktifkan atau
dipanggil di manapun di dalam program
Contoh : float luas_lingkaran(int jari), void tampil() dan lain – lain
4. Operator
Operator merupakan intruksi khusus yang dikenai untuk variable. Ada beberapa jenis
operator, yaitu :
a. Operator Penugasan (Assignment Operator)
=> Operator penugasan dalam bahasa C++ berupa tanda sama dengan atau “=”.
Contoh : nilai = 70 , A = x * y
b. Operator Aritmatika
=> Operator Aritmatika merupakan operator yang digunakan untuk fungsi/operasi
matematika, adapun operator aritmatika dasar tersebut adalah :
* : untuk perkalian
/ : untuk pembagian
% : untuk sisa hasil bagi (modulus)
+ : untuk penjumlahan
- : untuk pengurangan
4. CopyRigh@Eka Budi.2018
Contoh : Program penggunaan operator penjumlahan
Contoh : Penggunaan Operator sisa pembagian (modulus)
c. Operator Perbandingan
=> Operator pembanding digunakan untuk membandingkan antara dua buah variabel.
Operator pembanding sering pada saat pengecekan atau statemen if, perulangan atau
statemen for, while, do while.
#include <mega16.h>
void main(void)
{
char A;
char B;
DDRA = 0xFF;
PORTA = 0xFF;
A= 8;
B= 1;
PORTA = A+B;
}
#include <mega16.h>
void main(void)
{
char A;// Penerapan A sebagai variabel
char B;
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
PORTA = 0xFF;
A= 8; // variabel A di inisialisasi dengan bilangan 8
B= 3;
PORTA = A%B; // modulus 8 dan 3, hasilnya di kirim ke PORT A
}
5. CopyRigh@Eka Budi.2018
d. Operator Logika
=> Operator logika merupakan operator yang membandingkan hubungan antara dua
hasil dari operasi pembanding. Operator logika membandingkan logika hasil
dari dua operasi pembanding dan akan melakukan operasi khusus apabila
bernilai benar dan apabila bernilai salah maka akan melakukan sebaliknya.
Operator yang digunakan dalam operasi logika ada tiga yaitu :
Contoh : Penggunaan Operator logika
e. Operator Bitwise
Operator bitwise dalam bahasa C :
- << : Pergeseran bit ke kiri
#include <mega16.h>
// Declare your global variables here
void main(void)
{
char A;// Penerapan A sebagai variabel
char B;
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
PORTA = 0xFF;
A= 0xfc; // variabel A di inisialisasi dengan bilangan hexa 0xfc
B= 0x30; // variabel B di inisialisasi dengan bilangan hexa 0x30
if ((A==0xfc) && (B==0x30)) // Jika A AND B benar maka
{
PORTA = 0x4b; // PORT A diisi dengan 0x4b
}
}
6. CopyRigh@Eka Budi.2018
Operasi geser kiri merupakan operasi yang akan menggeser bit – bit kekiri,
sehingga bit 0 akan berpindah ke bit 1 kemudian bit 1 berpindah ke bit 2 dan
seterusnya.
Contoh :
A = A << 1; // Isi variabel A digeser kekiri 1 bit, hasil disimpan kembali di A
Contoh : Penggunaan Operator geser kiri
- >> : Pergeseran bit ke kanan
Operasi geser kanan merupakan operasi yang akan menggeser bit – bit kekanan
sehingga bit 7 akan berpindah ke bit 6, kemudian bit 6 akan berpindah ke bit 5
dan seterusnya.
Contoh :
A = A >> 1; // Isi variabel A digeser kekanan 1 bit, hasilnya disimpan lagi di A
- & : Bitwise AND
- ^ : Bitwise XOR (exclusive OR)
- | : Bitwise OR
- ~ : Bitwise NOT
#include <mega16.h>
// Declare your global variables here
void main(void)
{
char A, LED;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
PORTA = 0xFF;
LED = 0b00000001;
for (A=0; A<8; A++)
{
PORTA = LED;
LED= LED<<1 ;
}
}
7. CopyRigh@Eka Budi.2018
f. Operator Unary
=> Operator Unary merupakan operator yang hanya membutuhkan satu operand saja.
Dalam bahasa C terdapat beberapa operator unary, yaitu :
6.2 Seleksi Kondisi
=> Seleksi kondisi digunakan untuk mengarahkan perjalanan suatu proses. Fungsi
penyeleksian kondisi penting, terutama untuk program yang kompleks.
Jenis – jenis pemilihan kondisi:
a) Pilihan Tunggal (IF)
Bentuk umum :
Contoh :
if (kondisi)
{
true statement;
}
#include <mega16.h>
void main(void)
{
char A;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
DDRB = 0xFF;
A = PORTB;
if (A==0x25)
{
PORTA = 0x19 ;
}
}
8. CopyRigh@Eka Budi.2018
b) Pilihan Ganda (IF ... ELSE ...)
Digunakan untuk menentukan tindakan yang akan digunakan bila kondisi
bernilai benar dan salah. Bentuk umum:
Contoh :
c) Struktur Case
Untuk masalah dengan dua pilihan atau lebih, struktur CASE dapat
menyederhanakan penulisan IF yang bertingkat-tingkat. Bentuk umum:
if kondisi
{
true statement;
}
else
{
false statement;
}
#include <mega16.h>
void main(void)
{
char A;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
DDRB = 0xFF;
A = PORTB;
if (A==0x25)
{
PORTA = 0x19 ;
}
else
{
PORTA = 0x12;
}
}
Switch(kondisi)
{
case konstanta1 : {Statement-statement ; break}
case konstanta1 : {Statement-statement ; break}
case konstanta1 : {Statement-statement ; break}
.......
}
9. CopyRigh@Eka Budi.2018
Contoh :
6.3 Perulangan (Looping)
Dalam bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses
yang berulang – ulang sebanyak yang diinginkan. Struktur perulangan dalam bahasa C
mempunyai bentuk yang bermacam – macam, yaitu :
1. Struktur Perulangan “FOR”
Struktur perulangan For bisa digunakan untuk mengulang suatu proses yang telah
diketahui jumlah perulangannya.
Bentuk Umum :
Keterangan :
- Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
- Syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan
- Penambahan : pengatur perubahan nilai variabel kontrol
#include <mega16.h>
// Declare your global variables here
void main(void)
{
char a;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
DDRB = 0xFF;
a = PORTA;
switch (a)
{
case 0: PORTB=5; break;
case 1: PORTB=10; break;
case 2: PORTB=15; break;
default: PORTB=0; break;
}
}
For (inisialisasi; syarat; penambahan)
Pernyataan ;
10. CopyRigh@Eka Budi.2018
Contoh : Perulangan FOR
2. Struktur Perulangan “WHILE”
Perulangan WHILE banyak digunakan pada program terstruktur. Perulangan ini
banyak digunakan bila jumlah perulangannya belum diketahui. Prose perulangan
akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti
bila kondisinya bernilai salah (false).
Bentuk Umum :
Contoh :
#include <mega16.h>
// Declare your global variables here
void main(void)
{
char a;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
for (a=10; a>0; a--)
PORTA =a ;
}
While (ekspresi)
{
Pernyataan – 1 ;
Pernyataan – 2 ;
}
#include <mega16.h>
// Declare your global variables here
void main(void)
{
char a=10;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
while (a >= 0 )
{
PORTA =a ;
a--;
}
}
11. CopyRigh@Eka Budi.2018
3. Struktur Perulangan “ DO ... WHILE ... “
Pada dasarnya struktur perulangan do ... while sama saja dengan struktur while,
hanya saja pada proses perulangan dengan while, seleksi berada di while yang
letaknya diatas, sementara pada perulangan do ... while seleksi while berada
dibawah batas perulangan. Jadi dengan menggunakan struktur do ... while
sekurang – kurangnya akan terjadi satu kali perulangan.
Bentuk Umum :
Contoh :
6.4 Pengenalan Mikrokontroler AVR
AVR (Alf and Vegard‟s Risc Processor) merupakan salah satu jenis mikrokontroler yang
di dalamnya terdapat berbagai macam fungsi. AVR memiliki keunggulan dibandingkan dengan
mikrokontroler jenis lain, keunggulannya yaitu AVR memiliki kecepatan eksekusi program yang
lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat bila
dibandingkan dengan mikrokontroler jenis MCS51 yang memiliki arsitektur CISC (Complex
Instruction Set Compute) dimana mikrokontoller MCS51 membutuhkan 12 siklus clock untuk
Do
{
Pernyataan – 1 ;
Pernyataan – 2 ;
}
While (ekspresi)
#include <mega16.h>
// Declare your global variables here
void main(void)
{
char a=10;// Penerapan A sebagai variabel
DDRA = 0xFF; // Inisialisasi PORT A sebagai Output
do
{
PORTA = a;
a--;
}
while (a >= 0);
}
12. CopyRigh@Eka Budi.2018
mengeksekusi 1 instruksi (Heri Andrinto, 2008:2). Selain itu kelebihan mikrokontroler AVR
memiliki POS (Power On Reset), yaitu tidak perlu adanya tombol reset dari luar karena cukup
hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset.Antar seri
mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun kesemuanya memiliki arsitektur
yang sama, dan juga set instruksi yang relatif tidak berbeda. Berikut tabel perbandingan beberapa
seri mikrokontroler AVR buatan Atmel.
Tabel . perbandingan beberapa seri mikrokontroler AVR buatan Atmel
Seri
Flash
(KBytes)
RAM
(Bytes)
EEPROM
(KBytes)
Pin
I/O
Timer
16-bit
Timer
8-bit
UART PWM
ADC 10-
bit
SPI ISP
ATmega8 8 1024 0.5 23 1 1 1 3 6/8 1 Ya
ATmega8535 8 512 0.5 32 2 2 1 4 8 1 Ya
ATmega16 16 1024 0.5 32 1 2 1 4 8 1 Ya
ATmega162 16 1024 0.5 35 2 2 2 6 8 1 Ya
ATmega32 32 2048 1 32 1 2 1 4 8 1 Ya
ATmega128 128 4096 4 53 2 2 2 8 8 1 Ya
ATtiny12 1 - 0.0625 6 - 1 - - - - Ya
ATtiny2313 2 128 0.125 18 1 1 1 4 - 1 Ya
ATtiny44 4 256 0.25 12 1 1 - 4 8 1 Ya
ATtiny84 8 512 0.5 12 1 1 - 4 8 1 Ya
Keterangan:
Flash adalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil
buatan manusia yang harus dijalankan oleh mikrokontroler
RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk
penyimpanan data sementara dan pengolahan data ketika program sedang running
EEPROM (Electrically Erasable Programmable Read Only Memory) adalah memori untuk
penyimpanan data secara permanen oleh program yang sedang running
Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun
masukan bagi program
Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa
UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus
secara serial asynchronous
13. CopyRigh@Eka Budi.2018
PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa
ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog
dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range
tertentu
SPI (Serial Peripheral Interface) adalah jalur komunikasi data khusus secara serial secara
serial synchronous
ISP (In System Programming) adalah kemampuan khusus mikrokontroler untuk dapat
diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang
minimal
1. Mengenal ATmega16
Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program
dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data
dapat dilakukan secara bersamaan (concurrent), adapun blog diagram arsitektur ATMega16.
Secara garis besar mikrokontroler ATMega16 terdiri dari :
1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.
2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte
3. Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.
4. CPU yang terdiri dari 32 buah register.
5. User interupsi internal dan eksternal
6. Port antarmuka SPI dan Port USART sebagai komunikasi serial
7. Fitur Peripheral
- Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode compare
- Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode
capture
- Real time counter dengan osilator tersendiri
- Empat kanal PWM dan Antarmuka komparator analog
- 8 kanal, 10 bit ADC
- Byte-oriented Two-wire Serial Interface
- Watchdog timer dengan osilator internal
14. CopyRigh@Eka Budi.2018
2. Konfigurasi Pin ATMega16
Gambar 2. Konfigurasi PIN ATMega16
Dengan deskripsi Pin sebagai berikut :
VCC:Sumber Tegangan
Ground : Ground
Port A (PA0..PA7):Pin ini berfungsi sebagai port masukan ke A/D Converter. Port ini juga
bertindak sebagai Port I/O 8-bit dua arah, jika A/D Converter itu tidak digunakan. Pin - pin
Port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit).
Keluaran Port A memiliki karakteristik-karakteristik pengarah simetris dengan sitem dua
arah dan sumber yang tinggi. Port A bersifat tri-stated yaitu ketika kondisi reset akan aktif,
sekali pun clock tidak menjalankan.
Port B (PB0..PB7):Port B adalah satu Port I/O 8-bit dua arah dengan resistor-resistor pull-up
internal (yang terpilih untuk masing-masing bit). Keluaran buffer Port B mempunyai
karakteristik-karakteristik pengarah simetris dengan kedua kemampuan sumber yang tinggi.
Pada input, Port B menggunakan sumber arus rendah jika resistor-resistor pull-up diaktifkan.
Port B bersifat tri-stated, yaitu reset akan aktif walaupun clock tidak dijalankan.
Port C (PC0..PC7):Port C adalah satu Port I/O 8-bit dua arah dengan resistor-resistor pull-up
internal (yang terpilih untuk masing-masing bit). Keluaran Port C mempunyai karakteristik-
karakteristik pengarah simetris dengan kedua kemampuan sumber tinggi. Pada input, Port C
menggunakan sumber arus rendah jika resistor-resistor pull-up diaktifkan. Port C bersifat tri-
stated ketika reset aktif, walaupun clock tidak aktif. Jika antar muka JTAG adalah
15. CopyRigh@Eka Budi.2018
dimungkinkan, resistor-resistor pull-up pin PC5(TDI), PC3(TMS) dan PC2(TCK) akan
diaktifkan walaupun reset aktif.
Port D (PD0..PD7):Port D adalah satu Port I/O 8-bit dua arah dengan resistor-resistor pull-
up internal (yang terpilih untuk masing-masing bit). Pin - pin output Port D mempunyai
karakteristik-karakteristik pengarah simetris dengan kedua kemampuan sumber tinggi. Pada
input, Port D secara eksternal menggunakan sumber arus rendah yang dengan mengaktifkan
resistor-resistor pull-up. Port D bersifat tri-stated, yaitu reset menjadi aktif walaupun clock
tidak diaktifkan.
RESET:Pada Input Reset, besarnya amplitude yang dibutuhkan untuk mengaktifkan reset
adalah lebih besar dari panjang pulse minimum untuk mengatur ulang (sesuai datasheet),
sekali pun clock itu tidak diaktifkan. Pulsa yang lebih pendek belum tentu dapat
mengaktifkan reset.
XTAL1:Input pembalik / pembangkit Oscillator penguat dan input rangkaian operasi clock
internal.
XTAL2:Output dari pembalik / pembangkit Oscillator penguat.
AVCC:AVCC adalah pin sumber tegangan untuk Port A dan A/D Converter. Pin harus
disambungkan secara eksternal ke VCC, walaupun konverter analog-digital tidak digunakan.
Jika konverter analog-digital digunakan, Pin harus dihubungkan ke VCC melalui suatu Low-
Pass Filter.
AREF:AREF berfungsi sebagai pin referensi analog untuk A/D Converter.
3. Port sebagai input/output digital
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 tigabuah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf „x‟mewakilinama
huruf dari port sedangkan huruf „n‟ mewakili nomor bit. BitDDxn terdapat pada I/O address
DDRx, bit PORTxn terdapat padaI/O address PORTx, dan bit PINxn terdapat pada I/O address
PINx.
Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila
DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi
sebagai pin input.Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka
16. CopyRigh@Eka Budi.2018
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 pull-up
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.
Tabel . Konfigurasi pin port
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).
17. CopyRigh@Eka Budi.2018
6.5 Persiapan Percobaan Penerapan Mikrokontroler AVR
1) Percobaan Dengan Proteus 7 dan CodeVision AVR
a) Projek Pengontrolan Lampu LED
Contoh 1 : Simulasi Program Blinking LED
Langkah – langkah :
- Membuat Scematik rangkaian di Proteus 7, seperti berikut :
Komponen :
- Mikrokontroler Atmega16
- LED 10 buah
- Resistor 220 R 10 buah
Untuk Reset :
- Push button
- Crystal
- Kapasitor 22p 2 buah
- Kapasitor 100n 1 buah
- Resistor 100 K 1 buah
- Membuat Program di CodeVision AVR
a) Buat Program ke dalam CV AVR. Setelah membuka Program CodeVision AVR
Pilih File → New→ Pilih Project
18. CopyRigh@Eka Budi.2018
Gambar . Membuat File baru
- Selanjutnya akan muncul window konfirmasi menggunakan AGP CodeWizardAVR
→ Yes
Gambar. Project baru menggunakan CodeWizardAVR
- Atur Konfigurasi Chip yang digunakan
19. CopyRigh@Eka Budi.2018
- Atur PORT sesuai dengan rangkaian, dimana PORT C sebagai Output
- Selanjutnya setelah pengaturan selesai, simpan file dengan memilih Program Pilih
Generate, Save and Exit, seperti berikut :
- Selanjutnya isikan nama file yang ingin digunakan (File tersimpan dalam 3 file,
dalam hal ini File.c, File.prj, dan File.cwp, dengan masing – masing nama ditulis
sama, dan Klik Save, seperti berikut :
20. CopyRigh@Eka Budi.2018
- Selanjutnya akan terbentuk file untuk diisi logika program :
Secara default semua variabel akan terbentuk dan komentar tentang program, baik
deklarasi variabel ataupun inisialisasi PORT yang digunakan.
Catatan :
- Hapus semua variabel dan komentar yang tidak digunakan
- // (tanda slas 2 tersebut menyatakan komentar untuk 1 baris), dalam hal ini
komentar tidak dieksekusi/ diproses oleh program
- /* ......... */ (menyatakan komentar dalam beberapa baris)
#include <mega16.h>
#include <delay.h> // menyatakan memanggil Library delay
void main(void)
{
// Mendefinisikan PORT Untuk Output
PORTC=0x00;
DDRC=0xFF; // PORT C sebagai Output
while (1)
{
// Untuk Fungsi
PORTC = 0x00; // Kondisi LED Menyala
delay_ms(1000); // LED Menyala selama 1 detik
PORTC = 0xFF; // Kondisi LED Mati
delay_ms(1000);
}
}
21. CopyRigh@Eka Budi.2018
- Jika tampa error, program siap diupload ke mikrokontroler yang digunakan dalam
rangkaian, seperti berikut :
Cara mengcompile program CV AVR ke Proteus
a) Klik kanan di bagian mikrokontroler, kemudian Pilih Edit properties seperti
berikut :
b) Selanjutnya cari dimana tempat menyimpan program yang dibuat (dalam hal
ini file yang dibutuhkan adalah file.HEX ataupun file.COFF, seperti berikut :
22. CopyRigh@Eka Budi.2018
Contoh 2 : Simulasi Program Menyalakan LED dengan Tombol
Jika gambar rangkaiannya adalah sebagai berikut :
Ditanya : Buatlah program untuk kondisi sebagai berikut :
- Jika tombol 1 ditekan maka LED 1 dan LED 2 menyala
- Jika tombol 2 ditekan maka LED 3 dan LED 4 menyala
Pembahasan Program :
Langkah – langkah
- Buka aplikasi CV AVR seperti contoh 1
- Ketikan logika program seperti berikut :
.....Bersambung .....>>
#include <mega16.h>
void main(void)
{
// Mendefinisikan Tombol Input
DDRD.0 = 0;
DDRD.1 = 0;
// Mendefinisikan OUTPUT LED
//PORTC=0x00;
// Untuk kondisi LED MATI
DDRC.0=1;
DDRC.1=1;
DDRC.2=1;
DDRC.3=1;
// Mendefinisikan PORT Untuk OUTPUT
// Untuk semua LED MATI
PORTC.0=1;
PORTC.1=1;
PORTC.2=1;
PORTC.3=1;
23. CopyRigh@Eka Budi.2018
LATIHAN 1 : Dari berdasarkan contoh – contoh sebelumnya, jika rangkaiannya seperti berikut :
while (1)
{
// Penanganan Fungsi
if (PIND.0 == 0)
{
PORTC.0=0;
PORTC.1=0;
PORTC.2=1;
PORTC.3=1;
}
else if(PIND.1 == 0)
{
PORTC.0=1;
PORTC.1=1;
PORTC.2=0;
PORTC.3=0;
}
// Fungsi LED untuk kondisi awal atau mati
else
{
PORTC.0=1;
PORTC.1=1;
PORTC.2=1;
PORTC.3=1;
}
}
}
24. CopyRigh@Eka Budi.2018
Ditanya : Buatlah program untuk menggontrol kondisi sebagai berikut, dimana Output di PORT
C dan Input di PORT B :
- Jika Tombol 0 ditekan, maka LED 0 menyala
- Jika Tombol 1 ditekan, maka LED 1 menyala
- Sampai seterusnya Jika Tombol 7 ditekan, maka LED 7 menyala
LATIHAN 2 : Dari gambar rangkaian berikut, jika PORT C sebagai Output :
Ditanya :
Buatlah program untuk menampilkan LED berkedip selama 10 ms, dimana kondisi awal
LED 0 sampai LED 3 hidup selama 10 ms dan LED 4 sampai LED 7 mati selama 10 ms,
Selanjutnya LED 4 sampai LED 7 yang hidup selama 10 ms dan LED 0 sampai LED 3
yang mati selama 10 ms secara terus menerus.
25. CopyRigh@Eka Budi.2018
Daftar Referensi :
Albert Paul Malvino. Edisi Kedua.1994. ”Elektronika Komputer Digital Pengantar
Mikrokontroler.” Penerbit Erlangga
Syahrul. Cetakan Pertama. 2014. “ Pemograman Mikrokontroler AVR Bahasa Assembly dan
C “ Penerbit Informatika Bandung
Mada Sanjaya WS, Ph.D. 2013. “Membuat Robot bersama Profesor Bolabot.” Penerbit Gava
Media. Yogyakarta
Mada Sanjaya WS, Ph.D. 2016. “Panduan Praktis Pemograman Robot Vision Menggunakan
Matlab dan IDE Arduino.” Penerbit Andi. Yogyakarta
Muhamad Ali, M.T., dan TIM. Program Pengabdian Masyarakat (PPM).2013. ” MODUL
PROTEUS PROFESIONAL UNTUK SIMULASI RANGKAIAN DIGITAL DAN
MIKROKONTROLER (Materi Lanjutan Mikrokontroler).” PENDIDIKAN
TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
Tim P2M Jurusan Teknik Elektro . 2016. “MODUL PELATIHAN MIKROKONTROLLER
UNTUK PEMULA DI SMK N I BANTUL.” FAKULTAS TEKNIK UNIVERSITAS
MUHAMMADIYAH YOGYAKARTA.