单片机C语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 15:06:56
有没有大虾帮看一下以下问题呢,为什么会不能编译?
#include<regx51.h>
#define TIMER0_COUNT 0xEE11
const seven[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
unsigned char timer0_tick,i=0;

static void timer0_isr(void) interrupt TF0_VECTOR using1
{
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

1、你建立工程了没?
2、我在keil下编译你的程序,修改了三个地方,然后OK!
第一个地方:static void timer0_isr(void) interrupt TF0_VECTOR using1 中using 和1之间有空格。
第二个地方:timer0_tick+=;应该是timer0_tick++;(按你的程序描述而知)
第三个地方:P1=seven_seg[i]; 该成P1=seven[i];因为你前面定义的数组是const seven[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};

那你这个问题解决了吗?
我想我跟你看到同一本书了
我也是出现了这个情况