G:\HPamp-2\program\protector.X\mcc_generated_files\tmr0.c

 
  1 /**
  2   TMR0 Generated Driver File
  3 
  4   @Company
  5     Microchip Technology Inc.
  6 
  7   @File Name
  8     tmr0.c
  9 
 10   @Summary
 11     This is the generated driver implementation file for the TMR0 driver using MPLAB(c) Code Configurator
 12 
 13   @Description
 14     This source file provides APIs for TMR0.
 15     Generation Information :
 16         Product Revision  :  MPLAB(c) Code Configurator - 3.15.0
 17         Device            :  PIC16F1823
 18         Driver Version    :  2.00
 19     The generated drivers are tested against the following:
 20         Compiler          :  XC8 1.35
 21         MPLAB             :  MPLAB X 3.20
 22 */
 23 
 24 /*
 25     (c) 2016 Microchip Technology Inc. and its subsidiaries. You may use this
 26     software and any derivatives exclusively with Microchip products.
 27 
 28     THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
 29     EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
 30     WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
 31     PARTICULAR PURPOSE, OR ITS INTERACTION WITH MICROCHIP PRODUCTS, COMBINATION
 32     WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION.
 33 
 34     IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
 35     INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND
 36     WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS
 37     BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE
 38     FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN
 39     ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY,
 40     THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
 41 
 42     MICROCHIP PROVIDES THIS SOFTWARE CONDITIONALLY UPON YOUR ACCEPTANCE OF THESE
 43     TERMS.
 44 */
 45 
 46 /**
 47   Section: Included Files
 48 */
 49 
 50 #include <xc.h>
 51 #include "tmr0.h"
 52 
 53 /**
 54   Section: Global Variables Definitions
 55 */
 56 
 57 volatile uint8_t timer0ReloadVal;
 58 
 59 /**
 60   Section: TMR0 APIs
 61 */
 62 
 63 void TMR0_Initialize(void)
 64 {
 65     // Set TMR0 to the options selected in the User Interface
 66 
 67     // PSA assigned; PS 1:256; TMRSE Increment_hi_lo; mask the nWPUEN and INTEDG bits
 68     OPTION_REG = (OPTION_REG & 0xC0) | 0xD7 & 0x3F; 
 69 
 70     // TMR0 134; 
 71     TMR0 = 0x86;
 72 
 73     // Load the TMR value to reload variable
 74     timer0ReloadVal= 134;
 75 
 76     // Clear Interrupt flag before enabling the interrupt
 77     INTCONbits.TMR0IF = 0;
 78 
 79     // Enabling TMR0 interrupt
 80     INTCONbits.TMR0IE = 1;
 81 }
 82 
 83 
 84 uint8_t TMR0_ReadTimer(void)
 85 {
 86     uint8_t readVal;
 87 
 88     readVal = TMR0;
 89 
 90     return readVal;
 91 }
 92 
 93 void TMR0_WriteTimer(uint8_t timerVal)
 94 {
 95     // Write to the Timer0 register
 96     TMR0 = timerVal;
 97 }
 98 
 99 void TMR0_Reload(void)
100 {
101     // Write to the Timer0 register
102     TMR0 = timer0ReloadVal;
103 }
104 
105 void TMR0_ISR(void)
106 {
107 
108     // clear the TMR0 interrupt flag
109     INTCONbits.TMR0IF = 0;
110 
111     TMR0 = timer0ReloadVal;
112 
113     // ticker function call;
114     // ticker is 1 -> Callback function gets called everytime this ISR executes
115     TMR0_CallBack();
116 
117     // add your TMR0 interrupt custom code
118 }
119 
120 void TMR0_CallBack(void)
121 {
122     // Add your custom callback code here
123     // this code executes every 1 TMR0 periods
124     if( RC4 == 0x0 ){
125         // Power LED blink
126         if ( RC5 == 0x1 ) {
127             RC5 = 0x0 ;
128         }
129         else {
130             RC5 = 0x1 ;
131         }
132                 
133     }
134 }
135 /**
136   End of File
137 */
138