timer.h File Reference

Go to the source code of this file.

Data Structures

struct  TIMER_CONTROL

Functions

void Timer0Init (void)
void Timer0Isr (void)
void Timer1Init (void)
void Timer1Isr (void)
void Timer2Init (void)
void Timer2Isr (void)
void Timer3Init (void)
void Timer3Isr (void)
void Timer4Init (void)
void Timer4Isr (void)

Variables

TIMER_CONTROL TimerCtrl


Function Documentation

void Timer0Init ( void   ) 

Definition at line 16 of file timer.c.

00016                      {
00017                         // sfr setting
00018     TMR0IP=0;           // Set Timer0 Priority as Low
00019     TMR0IE=1;           // Enable Timer0 Interrupt
00020     T0CON=0x08;         // timer0 off,16bit,internal IC clock,bypass prescaler
00021     TMR0H=(0x10000-50000)/256;
00022     TMR0L=(0x10000-50000)%256;
00023     TMR0ON=1;           // timer 1 start
00024                         // variables
00025     TimerCtrl.TimeCounter=0;
00026 }

void Timer0Isr ( void   ) 

Definition at line 36 of file timer.c.

00036                     { // 5ms per tick
00037     TMR0ON=0;
00038     TMR0H=(0x10000-50000)/256;
00039     TMR0L=(0x10000-50000)%256;
00040     TMR0ON=1;
00041     if(LedCtrl.Timer!=0) LedCtrl.Timer--;
00042     if(KeyCtrl.Timer!=0) KeyCtrl.Timer--;
00043 }

void Timer1Init ( void   ) 

Definition at line 47 of file timer.c.

00047                      {
00048     TMR1IP=0;           // Set Timer1 Priority as Low
00049     TMR1IE=1;           // Enable Timer0 Interrupt
00050     T1CON=0x80; // 16bit,no use timer1 osc,prescale 1:1
00051                 // timer1 osc off,use internal clock,enable tiemr1
00052     TMR1H=(0x10000-5000)/256;
00053     TMR1L=(0x10000-5000)%256;  
00054     TMR1ON=0;   // start timer1
00055 }

void Timer1Isr ( void   ) 

Definition at line 65 of file timer.c.

00065                     {
00066     TMR1ON=0;                       // stop timer
00067     TMR1H=(0x10000-5000)/256;
00068     TMR1L=(0x10000-5000)%256;
00069     if(LcmCtrl.Timer!=0) LcmCtrl.Timer--; 
00070     if(LcmCtrl.HasData==TRUE) TMR1ON=1; // start timer
00071     else{
00072         LcmCtrl.State=0;
00073         //TMR1ON=0;                // stop timer 1...no need
00074     }
00075 }

void Timer2Init ( void   ) 

Definition at line 79 of file timer.c.

00079                      {
00080     TMR2IP=0;           // Set Timer2 Priority as Low
00081     TMR2IE=1;           // Enable Timer0 Interrupt
00082     T2CON=0x02;         // timer2 off,prescaler 1:16
00083     TMR2=0;
00084     PR2=0xff;
00085     TMR2ON=1;           // starts timer2
00086 }

void Timer2Isr ( void   ) 

Definition at line 96 of file timer.c.

00096                     {
00097     TMR2ON=0;
00098     TMR2ON=1;
00099 }

void Timer3Init ( void   ) 

Definition at line 103 of file timer.c.

00103                      {
00104     TMR3IP=0;           // Set Timer2 Priority as Low
00105     TMR3IE=1;           // Enable Timer0 Interrupt
00106     T3CON=0xc8;         // 16bit,use timer3.4 for ccp modules
00107                         // use Fosc/4 as clock,
00108     TMR3H=(0x10000-10000)/256;
00109     TMR3L=(0x10000-10000)%256;  
00110     TMR3ON=1;           // start timer3
00111 }   

void Timer3Isr ( void   ) 

Definition at line 121 of file timer.c.

00121                     {
00122     TMR3ON=0;
00123     TMR3H=(0x10000-10000)/256;
00124     TMR3L=(0x10000-10000)%256;      
00125     TMR3ON=1;
00126 }

void Timer4Init ( void   ) 

Definition at line 130 of file timer.c.

00130                      {
00131     TMR4IP=0;           // Set Timer2 Priority as Low
00132     TMR4IE=1;           // Enable Timer0 Interrupt
00133     T4CON=0x02;         // timer2 off,prescaler 1:16
00134     TMR4=0;
00135     PR4=0xff;
00136     TMR4ON=1;           // starts timer2
00137 }

void Timer4Isr ( void   ) 

Definition at line 147 of file timer.c.

00147                     {
00148     TMR4ON=0;
00149     TMR4ON=1;
00150 }


Variable Documentation

Definition at line 12 of file timer.c.


Generated on Tue Jul 7 20:39:56 2009 for A SIMPLE APPLICATION FOR PIC18F87J10 by  doxygen 1.5.9