58 lines
967 B
C
58 lines
967 B
C
|
|
#include "mctools.h"
|
|
|
|
#define FOSC 12000000L //system frequency
|
|
#define BAUD 9600L //baud-rate
|
|
|
|
|
|
#define DLED P2_6
|
|
#define ILED P2_7
|
|
#define T0_1MS (65536-FOSC/12/1000)
|
|
|
|
|
|
static void timer0_isr() __interrupt(1)
|
|
{
|
|
static int count=1;
|
|
if (count--)
|
|
return;
|
|
count = 1;
|
|
ILED = !ILED;
|
|
return;
|
|
}
|
|
|
|
void timer0_init() {
|
|
|
|
stc15_timer0_set_sysclk12();
|
|
stc15_timer0_set_mode_16bitauto();
|
|
|
|
|
|
TL0 = T0_1MS; // Initial timer value
|
|
TH0 = T0_1MS>>8; // Initial timer value
|
|
TF0 = 0; // Clear overflow flag
|
|
TR0 = 1; // Timer0 start run
|
|
ET0 = 1; // Enable timer0 interrupt
|
|
|
|
|
|
|
|
/* AUXR &=0x7F; // T0 in 12T mode
|
|
TMOD = 0x00; // T0 16-bit-auto-reload
|
|
|
|
TL0 = T0_1MS; // Initial timer value
|
|
TH0 = T0_1MS>>8; // Initial timer value
|
|
//
|
|
TF0 = 0; // Clear overflow flag
|
|
TR0 = 1; // Timer0 start run
|
|
ET0 = 1; // Enable timer0 interrupt
|
|
*/
|
|
|
|
}
|
|
|
|
void main()
|
|
{
|
|
ILED=0;
|
|
timer0_init();
|
|
EA=1;
|
|
while(1);
|
|
}
|
|
|