📄 ledtest.c
字号:
#define BASE_ADDR 0x809fc0
#define ERROR *(int *)(BASE_ADDR+0)
#define INT0 *(int *)(BASE_ADDR+1)
#define INT1 *(int *)(BASE_ADDR+2)
#define INT2 *(int *)(BASE_ADDR+3)
#define INT3 *(int *)(BASE_ADDR+4)
#define XINT0 *(int *)(BASE_ADDR+5)
#define RINT0 *(int *)(BASE_ADDR+6)
#define TINT0 *(int *)(BASE_ADDR+9)
#define TINT1 *(int *)(BASE_ADDR+0xa)
#define DINT *(int *)(BASE_ADDR+0xb)
#define T0CTL *(int *)0x808020
#define T0CNT *(int *)0x808024
#define T0PRD *(int *)0x808028
cregister unsigned int IOF,IE,IF,ST;
interrupt void timer0(void);
int i,j,k;
main()
{
i = 0;
j = 0;
k = 0;
ERROR = 0;
ST = 0x6000; /* GIE=1; edge-triggered interrupts */
IF = 0;
IE = 0x100; /* CPU timer0 interrupt enable */
TINT0 = (int )timer0|0x60000000;
T0CTL = 0x302; /* TCLK as output pin; internal clock; external output 50% duty */
T0PRD = 0xa000;
T0CNT = 0;
T0CTL = 0x3c2; /* Timer resets and stars */
ST = 0x2000;
for(;;)
{
if(j == 50 )
{
ST = 0x6000;
ERROR = 1;
break;
}
}
/* puts("led test end!\n"); */
}
interrupt void timer0(void)
{
while(k == 300)
{
k = 0;
if(i==0)
{
i = 1;
IOF = 0x22; /* XFx output pin and XFx = 0 */
}
else
{
i = 0;
IOF = 0x66; /* XFx output pin and XFx = 1 */
}
j++;
}
k++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -