/*SINEHEX.C - SINE GENERATION PROGRAM TO RUN FROM FLASH */ #include "aiccomc.c" /*AIC comm routines */ int AICSEC[4] = {0x162C,0x1,0x4892,0x67}; /*AIC data */ int data_out, loop = 0; /*declare global variables */ int sin_table[4]={0,4096,0,-4096}; /*values for 4-point sinewave */ void c_int05() /*TINT0 interrupt routine */ { PBASE[0x48]=sin_table[loop] << 2; /*output value from sine table*/ if (loop < 3) ++loop; /*increment loop counter < 3 */ else loop = 0; /*reset loop counter */ } main() { unsigned int *pAddr; pAddr = (unsigned int *)0x808064; /*primary bus control register*/ *pAddr = 0x1018; /*set WTCNT for 0 wait states */ pAddr = (unsigned int *)0x808038; *pAddr = 0x00100000; /*set timer 1 period */ pAddr = (unsigned int *)0x808030; *pAddr = 0x000003C1; /*set timer1 control register */ AICSET_I(); /*function to configure AIC */ for (;;); /*wait for interrupt */ }