An Interrupt Using an Input Pin on a PIC16F690 CCS C

This is just a short post on how I used an interrupt to make my Pickit 2 cycle through the LEDs. This is a very simple program, and sadly I tried this once before and it didn’t work. I did a little research and found that I didn’t enable the correct interrupts.  This experiment is just one of a few that may need to take place to design my POV for my CCS compiler. I have a Picaxe POV, but I want high brightness LEDs and it to be in C. I like projects, and this one (POV)  is going to be a little bit different than the Picaxe one. Enjoy the journey in developing my next toy.

If you’ll take notice in the code below you’ll see that I enabled the Master Clear (mclr). This will be used in the new POV because I am not going to use a power button. It will only go to sleep. The mclr will bring it out of sleep.

#include <16f690.h>
#fuses intrc_io,mclr,put,nobrownout,nowdt
#use delay(clock=31000) //clock set to oscillator frequency
int count=0; //the interrupt will make this count up

#INT_RB //this is the interrupt
void interruptMe(void) { count++; delay_ms(250); }

void main(void)
{
setup_oscillator(osc_31khz); //This uses less current than 4MHz
enable_interrupts(INT_RB7); //a change on RB7 triggers interrupt
enable_interrupts(GLOBAL);

while (1) {    output_c(count); }
}

Comments are closed.