PIC Lesson: Timer Module

Timer Module adalah salah satu fungsi dalam PIC untuk melakukan timer dan juga counter. Terdapat tiga jenis timer dalam PIC16 iaitu Timer0, Timer1 dan Timer2. Timer0 dan Timer2 adalah 8bit counter manakala Timer1 adalah 16bit counter.

Address-address yang terlibat dalam Timer0 adalah OPTION_REG dan TMR0, address untuk Timer1 adalah T1CON, TMR1H dan TMR1L manakala address untuk Timer2 adalah T2CON dan TMR2.

OPTION_REG ini menetapkan prescaler untuk TMR0 dan juga WDT (Watchdog Timer) dengan menetapkan PSA (OPTION_REG<3>). Prescaler adalah nilai untuk mengurangkan frequency tinggi kepada frequency rendah dengan cara pembahagian. Jika prescaler disetkan kepada TMR0, bermakna tiada prescaler untuk WDT dan jika prescaler disetkan kepada WDT, tiada prescaler untuk TMR0. TMR0 mengira dari 00h-FFh.

Timer1 pula adalah 16bit counter, oleh itu ia membabitkan dua address iaitu TMR1H dan TMR1L. Timer1 dihidupkan dengan setkan TMR1ON (T1CON<0>). Prescaler Timer1 ditetapkan oleh bit5-bit4 T1CON. Timer1 juga boleh menggunakan clock luaran pada pin RCO/T1OSO/T1CKI dan ditetapkan oleh TMR1CS (T1CON<1>). Timer1 mengira dari 0000h-FFFFh.

Timer2 adalah 8bit counter. Timer2 mempunyai period register, PR2. Timer2 mengira dari 00h hingga sama dengan PR2, kemudian kembali kepada 00h. Timer2 dihidupkan dengan setkan TMR2ON (T2CON<2>). Prescaler Timer2 ditetapkan oleh  bit1-bit0 T2CON.

Saya menyediakan contoh operasi timer ini. Program di bawah menunjukkan perbezaan dalam 9 condition.

State 1: Ketiga-tiga timer OFF

State 2: Timer0 dihidupkan

State 3: Menukar prescaler Timer0

State 4: Timer1 dihidupkan

State 5: Menukar prescaler Timer1

State 6: Timer2 dihidupkan

State 7: Menukar prescaler Timer2

State 8: Menukar nilai PR2

State 9: Menukar sumber clock Timer1 daripada internal kepada external

Ketika menggunakan external clock, saya menggunakan push button yang dipasang pada pin RC0 sebagai sumber clock. Oleh itu, Timer1 akan bergerak ketika push button di tekan.

Berikut adalah contoh program.

Berikut adalah videonya.

Post ini telah menerima 165 views sejak dikeluarkan pada 1:18 AM, Tuesday, 2nd February 2010
Category: PIC Lesson Tags:
Anda sukakan post ini, apa kata anda subcribe blog ini. Post terbaru akan dihantar ke alamat e-mail anda. Masukkan e-mail anda dan klik subcribe


Anda mungkin belum baca post ini

5 komen untuk PIC Lesson: Timer Module

  1. Komen dari birU pada 1:25 PM, 2nd February 2010

    salam shahrul.

    wahhhhhhhhh blog ilmu yg bagus ni
    akak keja bidang elektronik gak ni
    boleh cari2 ilmu disini ya
    akak dan link
    tq for sharing

  2. Komen dari meorbu pada 9:45 PM, 6th February 2010

    ada tak downloader program untuk linux?

  3. Komen dari Shahrul pada 4:54 PM, 7th February 2010

    meorbu, saya tidak pernah menggunakan downloader bersama linux, jadi saya juga tidak mempunyai info tersebut.

  4. Komen dari meorbu pada 7:11 AM, 8th February 2010

    Boleh you buat program untuk mcu lain selain dari PIC for example Renesas, NEC, Panasonic etc. Biasa kalau program sahaja berapa you charge (PIC)?

  5. Komen dari Shahrul pada 9:53 AM, 8th February 2010

    Selain PIC, sy pernah menggunakan mcu Freescale, fpga Xilinx dan plc GE Fanuc. Upah programming PIC RM300.

Dah baca, tinggalkan komen anda disini