// *********LED2.C********************* // Jonathan W. Valvano 1/16/02 // PT6 LED flashes on and off #include "HC12.H" void TOFinit(void){ DDRT |= 0x40; // PortT bit 6 is output to LED TSCR = 0x80; // TEN(enable) TMSK2 = 0xA5; // TOI arm, TPU(pullup) timer/32 (4us) CLKCTL = 0x00; asm(" cli"); // enable interrupts } #pragma interrupt_handler TOFhandler void TOFhandler(void){ TFLG2 = 0x80; // TOF interrupt acknowledge PORTT ^= 0x40; // toggle bit 6 COPRST = 0x55; // make COP happy COPRST = 0xAA; } #pragma abs_address:0xffde void (*TOF_vector[])() = { TOFhandler }; #pragma end_abs_address void main(void){ TOFinit(); // Enable TOF interrupt to make COP happy while(1){ } } extern void _start(); /* entry point in crt12.s */ #pragma abs_address:0xfffe void (*reset_vector[])() = { _start }; #pragma end_abs_address