static void timer0_isr(void) interrupt TF0_VECTOR using 1
{
TR0=0;
TL0=(TIMER0_COUNT & 0x00FF);
TH0=(TIMER0_COUNT > > 8);
TR0=1;
timer0_tick++;
if (timer0_tick==200) {
i++;
if(i==10) i=0;
timer0_tick=0;
P1=seven_seg[i];
}
}
static void timer0_initialize (void)
{
EA=0;
timer0_tick=0;
TR0=0;
TMOD=0x01;
TL0=(TIMER0_COUNT & 0X00FF);
TH0=(TIMER0_COUNT > > 8);
PT0=0;
ET0=1;
TR0=1;
EA=1;
}
void main(void) {
timer0_initialize();
while(1);
}
问题补充:哦,不好意思,编译错误提示是这样的:
* ERROR L121: IMPROPER FIXUP
MODULE:timer0.obj(TIMER0)
SEGMENT:ABSOLUTE
OFFSET:000BH
Target not created
也没见人回答实质性问题呀,算了!
还有,我的 <regx51.h> 应该是有这个文件的,因为我已经用它编了好几个程序了,在硬件上也实现了。
还有,程序描述:
这个程序利用89S51控制一个七段显示器,然后通过timer0的控制不停地显示0~9