//-----------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------
#include <c8051f340.h> // SFR declarations
//-----------------------------------------------------------------------------
// Pin Declarations
//-----------------------------------------------------------------------------
sbit LED1 = P2^2; // LED1 ='1' means ON
sbit LED2 = P2^3; // LED2 ='1' means ON
//-----------------------------------------------------------------------------
// Function Prototypes
//-----------------------------------------------------------------------------
void OSCILLATOR_Init (void);
void PORT_Init (void);
void delay(unsigned int t);
//-----------------------------------------------------------------------------
// main() Routine
//-----------------------------------------------------------------------------
void main (void)
{
PCA0MD &= ~0x40; // WDTE = 0 (clear watchdog timer
// enable)
PORT_Init(); // Initialize Port I/O
OSCILLATOR_Init (); // Initialize Oscillator
while (1)
{
LED1 = 1; // Turn on LED
delay(500);
LED1 = 0; // Else, turn it off
delay(500);
LED2 = 1; // Turn on LED
delay(500);
LED2 = 0; // Else, turn it off
delay(500);
}
}
//-----------------------------------------------------------------------------
// OSCILLATOR_Init
//-----------------------------------------------------------------------------
void OSCILLATOR_Init (void)
{
OSCICN |= 0x03; // Configure internal oscillator for
// its maximum frequency (24.5 Mhz)
}
//-----------------------------------------------------------------------------
// PORT_Init
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void PORT_Init (void)
{
P2MDIN |= 0x0F; // Lower four pins on P2 are digital
P2MDOUT = 0x0C; // enable LEDs as push-pull outputs
XBR1 = 0x40; // Enable crossbar and enable
// weak pull-ups
}
//-----------------------------------------------------------------------------
// Delay
//-----------------------------------------------------------------------------
void delay(unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<250;j++);
}