void main() //Fungsi utama dari bahasa C, memberikan nilai balik menurut tipe data
{ //Membuka program
DDRC=0xFF; //Mengatur PORT C sebagai keluaran
PORTC=0xFF; //Memberi nilai awal PORT C dengan logika 1
while(1) //Program akan berulang
{ //Membuka program while
PORTC=0; //PORT C bernilai 0 semua
timer_1s(); //Fungsi tanpa nilai balik dengan nama variabel timer_1s()
PORTC=0xFF; //Memberi nilai awal PORT C dengan logika 1
timer_1s(); //Fungsi tanpa nilai balik dengan nama variabel timer_1s()
} //Menutup program while
} //Menutup program
- Percobaan 2. Counter dengan penampil digital
#include <mega16.h> //Header menggunakan library atmega 16 dengan ekstensi .h
void main() //Fungsi utama dari bahasa C, memberikan nilai balik menurut tipe data
{ //Membuka program
DDRB=0; //PORT B sebagai input
PORTB=0xFF; //Memberi nilai awal PORT B dengan logika 1
DDRD=0xFF; //Mengatur PORT D sebagai keluaran
PORTD=0xFF; //Memberi nilai awal PORT D dengan logika 1
TCCR0=0b00000110; //Sumber clock eksternal pada pin T0 clock pada transisi rendah
TCNT0=0; //Menyetting counter
while(1) //Program akan berulang
{ //Membuka program while
PORTD=TCNT0; //PORT D sebagai keluaran data TCNT0
} //Menutup program while
} //Menutup program
- Percobaan 2.1 Counter dengan penampil digital (Modifikasi)
#include <mega16.h> //Header menggunakan library atmega 16 dengan ekstensi .h
#include <alcd.h> //Header menggunakan alphanumeric LCD dengan ekstensi .h
#include <stdlib.h> //Header yang berfungsi untuk operasi pembanding dan operasi konversi
#include <stdio.h> //Header yang mendefinisikan makro,konstanta, dan deklarasi fungsi dari dua jenis yang digunakan untuk berbagai standar input output operasi
#include <delay.h> //Header dengan tundaan waktu
char data [33]; //Karakter data 33
int baca; //Mendeklrasikan variabel baca dengan tipe data int
void main() //Fungsi utama dari bahasa C, memberikan nilai balik menurut tipe data
{ //Membuka program
DDRB=0; //PORT B sebagai input
PORTB=0xFF; //Memberi nilai awal PORT B dengan logika 1
DDRD=0xFF; //Mengatur PORT D sebagai keluaran
PORTD=0xFF; //Memberi nilai awal PORT B dengan logika 1
TCCR0=0b00000110; //Sumber clock eksternal pada pin T0 clock pada transisi rendah
TCNT0=0; //Menyetting counter
lcd_init(16); //Sebagai inisialisasi LCD
lcd_clear(); //Menghapus tampilan LCD
lcd_putsf("nilai="); //Menampilkan tulisan “nilai=”
while(1) //Program akan berulang
{ //Membuka program while
baca=TCNT0; //Variabel baca sama dengan nilai pada TCNT0
sprintf(data,"nilai=%d", baca); //Simpan baca ke array nilai
lcd_gotoxy(0,0); //Menempatkan posisi kursor pada kolom 0 dan baris 0
lcd_puts(data); //Fungsi untuk menampilkan data
delay_ms(500);//Memberikan tundaan waktu sebesar 500ms
} //Menutup program while
} //Menutup program
- Percobaan 3. Interupsi
#include <mega16.h> //Header menggunakan library atmega 16 dengan ekstensi .h
void main() //Fungsi utama dari bahasa C, memberikan nilai balik menurut tipe data
{ //Membuka program
DDRC=0xFF; //Mengatur PORT C sebagai keluaran
PORTC=0xFF; //Memberi nilai awal PORT C dengan logika 1
DDRD=0xFF; //Mengatur PORT D sebagai keluaran
PORTD=0xFF; //Memberi nilai awal PORT D dengan logika 1
GICR=0b11000000; //Interupsi eksternal INT1 aktif dengan INT0 aktif
#asm("sei") //Mengaktifkan interupsi global
while(1); //Program akan berulang
} //Menutup program
interrupt[2] void interupsi_ext0(void) //Program akan dikerjakan jika terjadi permintaan interupsi eksternal pada perubahan transisi naik pada pin INT0
{ //Membuka program
PORTC=0xF0; //Keluaran 0xF0 di PORTC
} //Menutup program
interrupt[3] void interupsi_ext1(void) //Program akan dikerjakan jika terjadi permintaan interupsi eksternal pada perubahan transisi naik pada pin INT1
{ //Membuka program
PORTC=0x0F; //Keluaran 0x0F di PORTC
} //Menutup program
Share this post
0 Response to "Laporan Praktikum Mikrokontroler Bab Timer"
0 Response to "Laporan Praktikum Mikrokontroler Bab Timer"
Post a Comment