Sistem Mikrokontroler FE UDINUS

dokumen-dokumen yang mirip
Timer / Counter. Hendawan Soebhakti. November 2009

Apa itu timer/counter?

Timer/Counter. AVR ATMega 8535

MIKROPENGENDALI C TEMU 4 AVR TIMER AND COUNTER. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

JOBSHEET VIII MENGGUNAKAN TIMER/COUNTER DALAM MIKROKONTROLER ATMEGA8535

Project : Version : Date : 15/05/2013 Author : F4CG Company : F4CG Comments:

PERBANDINGAN KECEPATAN PENCACAHAN ANTARA TIMER 0 (8 BIT) DENGAN TIMER 1 (16 BIT) PADA SISTEM MIKROKONTROLER

Pengenalan CodeVisionAVR

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak

LAMPIRAN A SKEMATIK RANGKAIAN

SKEMATIK RANGKAIAN A V R 12V. Out. Gnd. Kontak Motor. Accu 12V. Klakson ISP CONNECTOR PA0 PB0 PB1 PA2 PA4 MOSI MISO PA6. 10uF SCK RST. 10uF. 47uF.

Penerima Remote SONY dengan ATmega32

MODUL V: Timer dan Counter

PERCOBAAN I PENGENALAN CODEVISION AVR

JAM DIGITAL 2.2 REGISTER TCNT, TIMSK, OCR, DAN TIFR 1. PENDAHULUAN 2. STUDI PUSTAKA 2.1 CLOCK DAN PRESCALER 3. METODOLOGI 3.

Pulsa = Frekuensi * 60/20 ; atau Pulsa = frekuensi*30;

Standar Operasional Prosedur Alat

Ping))) Paralax Ultrasonic Range Finder By : Hendawan Soebhakti

LAMPIRAN A. Gambar A. Layout alat tongkat tunanetra. Ubiversitas Sumatera Utara

LAMPIRAN 1 DATA SHEET SERVO GWS S677

Langkah-langkah pemrograman: 1. Pilih File >> New:

DAFTAR PUSTAKA. Universitas Sumatera Utara

LAMPIRAN A FOTO REALISASI ALAT

Langkah-langkah pemrograman: 1. Pilih File >> New:

Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Listing Program. // Declare your global variables here

LAMPIRAN A RANGKAIAN LENGKAP dan FOTO PENGUAT KELAS D

Tabel Data Pengujian 5x Perubahan Posisi. Kanan (V) Kiri (V)

POLITEKNIK CALTEX RIAU

Membuat Sendiri Robot Line Tracker

LAMPIRAN A DATA SHEET

LAMPIRAN. #include <mega16.h> //menambahkan library atmega16 #include <delay.h> //menambahkan library delay #define ADC_VREF_TYPE 0x40

Listing Program Aquaponik

A-1 LISTING PROGRAM MIKROKONTROLER

Teknik-Teknik Penyesuaian Sensor

TUGAS AKHIR SIMULATOR PENGHITUNG JUMLAH ORANG PADA PINTU MASUK DAN KELUAR GEDUNG

Kajian Pustaka. Spesifikasi - Krisbow KW Fitur - Krisbow KW06-290

MAKALAH PERANCANGAN KEYPAD MESIN FOTOKOPI SISTEM MIKROPROSESOR

DAFTAR PUSTAKA. Barry, Gwoollard Elektronika Praktis. PT. Praditya Paramitha, Jakarta.

MAKALAH. Timer atau Counter 0 dan 1. Oleh : Rizky Dwi N ( ) Satrio Teguh Yulianto ( ) D3 TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

Gambar 4.1 Rangkaian keseluruhan

MIKROKONTROL ATMega8535 Teknik Elektronika Industri

BAB III PENGENDALIAN PENGGERAK PAHAT MESIN ROUTER CNC ARAH SUMBU X, SUMBU Y DAN SUMBU Z

Sistem Mikrokontroler FE UDINUS

TERJADI INTERRUPT MELAYANI INTERRUPT KEMBALI MENERUSKAN PROGRAM YANG TERHENTI PROGRAM YANG SEDANG BERJALAN. Gambar 4.1 Interrupt

PRAKTIKUM MIKROPROSESSOR PTE-408 PRODI S1 PENDIDIKAN TEKNIK ELEKTRO PETUNJUK PRAKTIKUM DYAH LESTARI

PELATIHAN: Pemrograman Mikrokontroler Tipe AVR bagi Guru-guru SMK

Universitas Sumatera Utara

RANCANG BANGUN OTOMATISASI PINTU GARASI DENGAN KOMUNIKASI BLUETOOTH BERBASIS MIKROKONTROLER

LAMPIRAN A PROGRAM CODE VISION AVR

i ii BAB I MENGENAL ATMEGA BAB II MENGENAL BAHASA C BAB III TRAINER MIKROKONTROLER 1. Modul Boar..

LAMPIRAN. A. Pembuatan Minimun system dan Penanaman Program 1. Rangkaian Minimum System yang telah dilarutkan, di bor dan dipasang komponen

Mikrokontroler AVR. Hendawan Soebhakti 2009

BAB II TINJAUAN PUSTAKA

PERANCANGAN KEYPAD MESIN FOTOCOPY SEDERHANA MENGGUNAKAN ATMEL AVR ATmega8535

Digital Compass CMPS03 By : Hendawan Soebhakti

PERTEMUAN TIMER & COUNTER MIKROKONTROLER 89C51

Materi 8: AVR Timer Programming

MENGENAL MIKROKONTROLER AVR ATMega16

TUGAS AKHIR ROBOT PENERIMA TAMU. Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar SarjanaTeknik Program Studi Teknik Elektro.

BAB III PERANCANGAN DAN PEMBUATAN SISTEM. perangkat keras maupun perangkat lunak yang meliputi:

AVR ATmega8. Kuliah SBM

PENGATURAN TIRAI BERDASARKAN WAKTU NYATA

BAB IV PEMBAHASAN. waktu tertentu. Dimana alat tersebut dapat dioperasikan melalui komputer serta

BAB II TEORI DASAR. AVR merupakan seri mikrokontroler Complementary Metal Oxide

Bab II Dasar Teori (2.1)

BAB II LANDASAN TEORI

Materi 9: AVR Interrupt

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

MONITORING ARUS PLTMH UMM MELALUI JALA-JALA LISTRIK BERBASIS ATMEGA

BAB III PERANCANGAN UIMEGA 8535

TIMER DAN COUNTER MIKROKONTROLER ATMEL

BAB III PERANCANGAN SISTEM

BAB II DASAR TEORI. Current Transformer atau yang biasa disebut Trafo arus adalah tipe instrument

MODUL 8 Analog Digital Converter (ADC)

Fungsi Soft Timer untuk Keperluan Operasi Tundaan dan Penjadwalan (Scheduling) Pada Sistem Embedded

MODUL PELATIHAN MIKROKONTROLLER UNTUK PEMULA DI SMK N I BANTUL OLEH: TIM PENGABDIAN MASYARAKAT JURUSAN TEKNIK ELEKTRO

BAB IV PENGUJIAN. 4.1 Umum. Untuk dapat menentukan kualitas kerja suatu alat perlu dilakukan satu

WATTMETER DIGITAL AC BERBASIS MIKROKONTROLER ATMEGA8. Ageng Pidaksa Mahasiswa Jurusan Pendidikan Teknik Elektronika F.T.

KONFIGURASI PIN AT MEGA 16A

PEMBANGKIT DAN PENGHITUNG FREKUENSI

TUTORIAL DASAR MEMBUAT PROJECT ARDUINO UNO

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

PENGENDALI KECEPATAN MOTOR DC MENGGUNAKAN SENSOR HALL BERBASIS MIKROKONTROLER ATMEGA 8535

DAFTAR PUSTAKA. Bejo, Agus C & AVR Rahasia Kemudahan Bahasa C Dalam Mikrokontroler ATMega 8535.Yogyakarta:Graha Ilmu.

EMDEDDED ARRAY SENSOR UNTUK LINE FOLLOWING ROBOT

MODE OPERASI TIMER/COUNTER. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

ALAT PENAKAR VOLUME AIR BERBASIS MIKROKONTROLER

JOBSHEET VII MENGGUNAKAN INTERRUPT DALAM MIKROKONTROLLER ATMEGA8535

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

Pemrograman Mikrokontroler dengan Bahasa C Lanjut

PRODUKSI OBAT ASMA SEDUH BERBASIS MIKROKONTROLER ATmega8535

TEMPAT SAMPAH BERJALAN TERKENDALI JARAK JAUH

TPA81 Thermopile Array

SISTEM MONITORING INFUS BERBASIS MIKROKONTROLER AVR ATMEGA 16 ABSTRAK

Modul SerLog - Easy Serial Logger

BAB IV HASIL KERJA PRAKTEK. sistem perancangan ini memiliki sensor untuk mengetahui seberapa intensitas cahaya

BAB 2 MIKROKONTROLER H8/3052. Mikrokontroler yang digunakan dalam skripsi ini adalah H8/3052F, yaitu seri

BAB II LANDASAN TEORI

Transkripsi:

Minggu ke 5 8 Maret 2013 Sistem Mikrokontroler FE UDINUS

2 Jenis Timer/Counter Jenis-jenis Timer Pada ATMega8535L terdapat 4 buah fasilitas timer yaitu : Timer 0 : Adalah timer 8 bit dengan timer value 00 s/d FF Timer 1 : Adalah timer 16 bit dengan timer value 0000 s/d FFFF Timer 2 : Adalah timer 8 bit dengan timer value 00 s/d FF Watchdog timer : Adalah timer untuk mereset sendiri Timer pada dasarnya hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal yang dipasang atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024. Sedangkan Counter menghitung pulsa pada pin Tn dan tidak bisa diperlambat seperti halnya timer.

3 Timer 8 bit TMAX = 1/fCLK x (FF+1)xN TMAX : Waktu maksimum timer fclk : Frekuensi clock N : Prescaler Example : fclk = 8MHz Prescaler =1024 TMAX = 1/fCLK x (FF+1) x N = 0.125uS x 256 x 1024 = 32768uS = 32.768mS

4 Timer 16 bit TMAX = 1/fCLK x (FFFF+1)xN TMAX : Waktu maksimum timer fclk : Frekuensi clock N : Prescaler Example : fclk = 8MHz Prescaler =1024 TMAX = 1/fCLK x (FFFF+1) x N = 0.125uS x 65536 x 1024 = 8388608 us = 8.388608 S

5 Timer Value (TCNT) Untuk menentukan berapa timer value yang harus diisikan ke TCNT agar menghasilkan waktu timer tang kita inginkan dapat dihitung dengan persamaan sbb : Timer 8 bit : TCNT=(FFF+1)-((Ttimer x fclk)/n) Timer 16 bit : TCNT=(FFFF+1)-((Ttimer x fclk)/n) Contoh : Diinginkan sebuah timer 16 bit bekerja selama 1 detik, dengan frekuensi clock sebesar 11,0592MHz dan presecaller 1024 maka diperoleh nilai TCNT sebesar : TCNT=(FFFF+1) - ((Ttimer x fclk)/n) TCNT=(FFFF+1) - ((1 x 11059200)/1024) TCNT=10000h - 10800d TCNT=10000h - 2A30h TCNT=D5D0h Dengan demikian nilai TCNTH = D5h dan TCNTL = D0h

6 Register TIMSK dan TIFR Timer Interrupt Mask Register (TIMSK) dan Timer interrupt Flag (TIFR) Register digunakan untuk mengendalikan interrupt mana yang diaktifkan dengan cara melakukan setting pada TIMSK dan untuk mengetahui interrupt mana yang sedang terjadi Bit Symbol Fuction 7 OCIE2 Timer /Counter2 Output Compare Match Interrupt Enable. 6 TOIE2 Timer /Counter2 Overflow Interrupt Enable. 5 TICIE 1 Timer 1 Input Capture Interrupt Enable 4 OCIE1A Timer /Counter1 A Output Compare Match Interrupt Enable. 3 OCIE1B Timer /Counter1 B Output Compare Match Interrupt Enable. 2 TOIE1 Timer /Counter1 Overflow Interrupt Enable. 4 OCIE0 Timer /Counter0 Output Compare Match Interrupt Enable. 0 TOIE0 Timer /Counter0 Overflow Interrupt Enable.

7 Register TIMSK dan TIFR Bit Symbol Fuction 7 OCF2 Output Compare Flag2. 6 TOV2 Timer /Counter2 Overflow Flag. 5 ICF 1 Timer 1 Input Capture Interrupt Flag 4 OCF1 A Output Compare Flag1 A. 3 OCF1 B Output Compare Flag1 B. 2 TOV 1 Timer /Counter1 Overflow Flag. 4 OCF0 Output Compare Flag0. 0 TOV0 Timer /Counter0 Overflow Flag.

8 Interrupt Timer Interrupt yang dapat dihasilkan dari timer adalah sbb :

9 Setting Timer 0 Pada CodeWizard 1. Menentukan fungsi Timer atau Counter Sebagai Timer : Clock Source = System Clock Sebagai Counter : Clock Source = T0 pin Falling Edge atau T0 pin Rising Edge

10 2. Menentukan Prescaler Sebagai Timer : Clock Value dapat dipilih sbb : Timer 0 Stopped : Clock eksternal 11059.200 khz : No prescaler 1382.400 khz : Prescaler 8 172.800 khz : Prescaler 64 43.200 khz : Prescaler 256 10.800 khz : Prescaler 1024 Sebagai Counter : Tidak ada prescale

11 3. Menentukan Mode Time Sebagai Timer atau Counter : Mode timer dapat dipilih sbb : Normal top=ffh Phase correct PWM top=ffh CTC top=ocr0 on Compare Match Fast PWM top=ffh Frequency PWM : Mode normal : Mode PWM : Mode Clear Timer : Mode High

12 4. Menentukan Mode Pulsa pada pin OC0 (Output Compare Timer 0) Sebagai Timer atau Counter : Mode Pulsa pada pin OC0 dapat dipilih sbb : Toggle on compare match : Pulsa berubah ketika terjadi match Clear on compare match : Pulsa low ketika match Set on compare match : Pulsa high ketika match Fungsi ini berguna saat pin OC0 berfungsi sebagai waveform generator (Pembangkit pulsa)

13 5. Mengaktifkan Timer Interrupt dan Compare Match Interrupt Sebagai Timer atau Counter : Overflow Interrupt Jika diaktifkan maka pada saat timer overflow akan terjadi interrupt dan CPU akan menjalankan Timer 0 overflow interrupt service routine(timer0_ovf_isr). Nilai TCNT dapat diisikan pada Timer Value :. h Compare Match Interrupt Jika diaktifkan maka pada saat timer value TCNT0 match dengan nilai register OCR0 akan terjadi interrupt dan CPU akan menjalankan Timer 0 output compare interrupt service routine (timer0_comp_isr). Nilai OCR0 dapat diisikan pada Compare :. h

14 Setting Timer 1 dan 2 Pada CodeWizard Setting Timer 1 dan Timer 2 hampir sama dengan setting Timer 0, hanya saja untuk Timer 1 lebih banyak fasilitas yang disediakan dan timer ini adalah timer 16 bit.

Contoh Percobaan 1. Interrupt Timer 1 Pada percobaan ini, kita akan membuat program interrupt yang dihasilkan oleh Timer 1. Pada kondisi normal PortA akan bernilai 0xFF, namun pada saat ada interrupt kondisinya berubah menjadi 0x00 selama 500mS. Interrupt timer terjadi setiap 5S (Timer Value = 2D10h). Setting CodeWizard PortA sebagai Output Timer 1 : Clock Source : System Clock Clock Value : 10.800 khz Mode : Normal top=ffffh Interrupt on : Timer 1 Overflow Value : 2d10 h

#include <mega8535.h> #include <delay.h> // Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) { // Reinitialize Timer 1 value TCNT1H=0x2D; TCNT1L=0x10; // Place your code here PORTA=0x00; delay_ms(500); } // Declare your global variables here void main(void) {... while (1) { // Place your code here PORTA=0xFF; }; } Timer 1 Overflow ISR

Percobaan 2. Counter 0 Pada percobaan ini, kita akan membuat program counter dengan mode compare match interrupt. Mikrokontroler akan menghitung jumlah pulsa yang masuk pada T0 (PINB.0). Jika jumlah pulsanya sama dengan 10 pulsa (0x0A) maka mikrokontroler akan melaksanakan void timer0_comp_isr. Setting CodeWizard PortA sebagai Output Timer 0 : Clock Source Mode : T0 pin Falling Edge : Normal top=ffh Compare Match Interrupt Compare : 0a h

18 #include <mega8535.h> #include <delay.h> // Timer 0 output compare interrupt service routine interrupt [TIM0_COMP] void timer0_comp_isr(void) { // Place your code here PORTA=0x0F; delay_ms(500); PORTA=0xF0; delay_ms(500); PORTA=0x0F; delay_ms(500); PORTA=0xF0; delay_ms(500); } // Declare your global variables here void main(void) {... while (1) { // Place your code here PORTA=0xFF; delay_ms(500); PORTA=0x00; delay_ms(500); }; } Timer 0 Output Compare ISR Normal Condition

Percobaan 3. Menghitung Pulsa Per Detik Pada percobaan ini, kita akan membuat program untuk menghitung jumlah pulsa yang masuk pada pin T0 setiap detiknya. Untuk itu maka Timer 0 difungsikan sebagai counter dan Timer 1 difungsikan sebagai timer 1 detik. Hasil perhitungan pulsa akan ditampilkan ke PortA. Setting CodeWizard PortA sebagai Output Timer 0 : Clock Source : T0 pin Falling Edge Mode : Normal top=ffh Compare Match Interrupt Timer 1 : Clock Source : System Clock Clock Value : 10.800 khz Mode : Normal top=ffffh Interrupt on : Timer 1 Overflow Value : d5d0 h

#include <mega8535.h> // Timer 1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) { // Reinitialize Timer 1 value TCNT1H=0xD5; Timer 1 Overflow ISR TCNT1L=0xD0; // Place your code here PORTA=TCNT0; TCNT0=0; } // Declare your global variables here void main(void) {... while (1) { Normal Condition // Place your code here

21 TERIMA KASIH