程序如下:
#define uchar unsigned char #include<reg52.h>
char j=100; //中断的次数; bit ldelay=0;
void main(void) { uchar code ledp[4]={0xfe,0xfd,0xfb,0xf7}; uchar ledi; TMOD=0x01; //初使化定时器,设定定时器0,模式1 EA=1; ET0=1; TH0=0xd8; // 定时10ms。(65536-N)*1us=10ms N=55536=D8F0H TL0=0xf0; TR0=1; while(1) { if(ldelay) //发现有时间溢出标记,进入处理 { ldelay=0; //清除标记 P1=ledp[ledi]; //读出一个值送到 P1 口 ledi++; //指向下一个 if(ledi==4) ledi=0; //到了最后一个灯就换到第一个 } } void timer0(void) interrupt 1 { TH0=0xd8; TL0=0xf0; --j; if(j<=0) { ldelay=1; j=100; } }
编绎出错提示:MAIN.C(29):error c141:syntax error near 'void' MAIN.C(29):warning c206: 'timer0':missing function-prototype |