/* *****************************************************************************
; *
; Filename: *
; Date: *
; File Version: 001 *
; *
; Author: Jason Lopez *
; Company: AtomSoft *
; *
;***************************************************************************** */
#include <p18f248.h>
#include <delays.h>
#define SPK LATB
#define DWN PORTCbits.RC3
#define UP PORTCbits.RC2
#pragma config WDT = OFF, LVP = OFF, OSC = HS,OSCS = OFF
/************************************
Prototypes
*************************************/
void main(void);
void CheckBtn(void);
unsigned char Speed = 2;
/************************************
Main - 20MHZ OSC
*************************************/
void main(void){
ADCON1 = 0x0F; //Digital Pins (we dont need ADC)
TRISB = 0x00; //All Outputs
LATB = 0x00; //All Low
TRISC = 0b00001100;
while(1){
SPK = 0xff;
Delay100TCYx(Speed);
CheckBtn();
SPK = 0;
Delay100TCYx(Speed);
CheckBtn();
}
}
void CheckBtn(void)
{
if(UP)
{
Delay10KTCYx(50);//100ms
if(Speed < 255)
{
Speed++;
}
}
if(DWN)
{
Delay10KTCYx(50);//100ms
if(Speed > 0)
{
Speed--;
}
}
}