-->

Laporan Praktikum Mikrokontroler Bab Timer

Sobat kuliah Teknik - selamat berjumpa kembali, kali ini saya akan bagikan laporan praktikum mikrokontroler saya.

duniaelektronika.net

- Percobaan 1. Timer 1 detik.

  • #include <mega16.h>  //Header menggunakan library atmega 16 dengan ekstensi.h
  • sfrb R0=0x00;
  • void timer_1s()  //Sebuah fungsi tanpa nilai balik dengan nama variabel timer_1s()
  • {  //Membuka program
  • TCNT1=54735;  //Mengatur interval timer sebesar 1 detik
  • TCCR1B=0b101;   //Program ini artinya skala clock=1024
  • do   //Fungsi untuk mengerjakan
  • {  //Membuka program untuk fungsi do
  • R0=TIFR;   //Memastikan tidak ada permintaan interupsi
  • }   //Menutup program untuk fungsi do
  • while(!R0.2);  //Apabila program R0=TIFR atau program benar maka program akan berulang
  • TIFR=0b00000100;  //Interupsi overflow timer/counter 1
  • TCCR1B=0;   //Mode normal
  • }   //Menutup program while
  • 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 1.2 Timer 0.5 detik (Modifkasi)

  • #include <mega16.h>  //Header menggunakan library atmega 16 dengan ekstensi .h
  • sfrb R0=0x00; void timer_1s()  //Sebuah fungsi tanpa nilai balik dengan nama variabel timer_1s()
  • {  //Membuka program
  • TCNT1=61630;  //Mengatur interval timer sebesar 0.5 detik
  • TCCR1B=0b101;  //Skala clock=1024
  • do  //Fungsi untuk mengerjakan
  • {  //Membuka program untuk fungsi do
  • R0=TIFR;  //Memastikan tidak ada permintaan interupsi
  • }  //Menutup program untuk fungsi do
  • while(!R0.2);  //Apabila program R0=TIFR atau program benar maka program akan berulang
  • TIFR=0b00000100;  //Interupsi overflow timer/counter 1
  • TCCR1B=0;  //Mode normal
  • }  //Menutup program while
  • 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

0 Response to "Laporan Praktikum Mikrokontroler Bab Timer"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel