Tutorial Microcontroller MCS-51 ATMEL ISP
 

 

Super MCS51 Trainer

Standart MCS51 Trainer

Standart AVR Trainer

Programmer USBASP

Standart ARM Trainer

 

Percobaan Timer

Fungsi timer, dapat digunakan untuk menentukan waktu secara berkala, misal dalam pembuatan jam digital. Penentuan nilai TCNT0 untuk menentukan waktu interupsi dapat menggunakan persamaan berikut ini.

Prosedur Percobaan

1. Lakukan konfigurasi pada codevision untuk keperluan timer, seperti yang ditunjukkan pada gambar berikut:

2. Percobaan TIMER 0, Pembuatan Jam Digital dengan Display LED
Lakukan konfigurasi pada codevision seperti pada gambar tersebut diatas, dan konfigurasi untuk PORTC.

#include <mega8535.h>
unsigned char mikrodetik,detik;
// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
           // Place your code here
 TCNT0=0x9E;
 mikrodetik++;
 if (mikrodetik==10)
 {
  detik++;
  mikrodetik=0;
  PORTC=detik;
 }
}
void main(void)
{
 PORTB=0x00;
 DDRB=0x00;
 PORTC=0x00;
 DDRC=0xFF;
// Timer/Counter 0 initialization
           // Clock source: System Clock
           // Clock value: 0.977 kHz
           // Mode: Normal top=FFh
           // OC0 output: Disconnected
 TCCR0=0x05;
 TCNT0=0x9E;
 OCR0=0x00;
           // Timer(s)/Counter(s) Interrupt(s) initialization
 TIMSK=0x01;
 SFIOR=0x00;
           // Global enable interrupts
 #asm("sei")
 while (1)
 {
           // Place your code here
 };
}
         

NEXT