//-----------------------------------------------------------------------------
// Global Constants
//-----------------------------------------------------------------------------
//#define INTCLK 24500000 // Internal oscillator frequency in Hz
#define SYSCLK 22118400*9/2//49000000 // Output of PLL derived from (INTCLK*2)
#define TIMER_TICKS_PER_MS SYSCLK/TIMER_PRESCALER/1000
#define TIMER_PRESCALER
100
#define LED_TOGGLE_RATE 100
#define AUX1 TIMER_TICKS_PER_MS*LED_TOGGLE_RATE
#define AUX2
-AUX1
#define AUX3
AUX2&0x00FF
#define AUX4
((AUX2&0xFF00)>>8)
#define TIMER0_RELOAD_HIGH AUX4 //RELOAD VALUE FOR TIMER0 HIGH BYTE
#define TIMER0_RELOAD_LOW
AUX3 //RELOAD VALUE FOR TIMER0 LOW BYTE
//-----------------------------------------------------------------------------
// Function Prototypes
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Global Variables
//-----------------------------------------------------------------------------
unsigned int CEX0_Compare_Value;
unsigned int CEX1_Compare_Value; // Holds current PCA compare value
unsigned int motor1=2200;
unsigned int motor2=6200;
sbit LED = P1^6;
void OSCILLATOR_Init (void)
{
int i=0;
SFRPAGE = CONFIG_PAGE; // Set SFR page
OSCXCN = 0x67;
for (i=0;i<3000;i++);
while((OSCXCN & 0x80) == 0);
OSCXCN = 0x83;
PLL0CN = 0x04; // Set internal osc. as PLL source
CCH0CN &= ~0x20;
SFRPAGE = LEGACY_PAGE;
FLSCL = 0xB0; // Set FLASH read time for 50MHz clk
SFRPAGE = CONFIG_PAGE;
CCH0CN |=0x20;
PLL0CN |=0x01; // Enable Power to PLL
PLL0DIV = 0x02; // Set Pre-divide value to N (N = 1)
PLL0FLT = 0x07; // Set the PLL filter register for
// a reference clock from 19 - 30 MHz
// and an output clock from 45 - 80 MHz
PLL0MUL = 0x09; // Multiply SYSCLK by M (M = 2)
for (i=0; i < 15; i++);
// Wait at least 5us
PLL0CN |= 0x02; // Enable the PLL
while(!(PLL0CN & 0x10) == 0); // Wait until PLL frequency is locked
CLKSEL = 0x02; // Select PLL as SYSCLK source
OSCICN &=~0x80;
}
void PORT_Init (void)
{
char SFRPAGE_save = SFRPAGE; // Save Current SFR page
SFRPAGE = CONFIG_PAGE; // Set SFR Page
XBR0 = 0x98; // Route CEX0 to P0.0
XBR1 = 0x00;
XBR2 = 0x40; // Enable crossbar and weak pull-ups
//-----------------------------------------------------------------------------
// End Of File
//-----------------------------------------------------------------------------