C语言很奇怪的东西
有没有大虾帮看一下以下问题呢,为什么在KEIL C里头,有个"options for target "target 1",设置中要选择在CODE ROM SIZE 中,要设置COMPACT,设置SMALL就不能编译?
#include <regx51.h>
#define TIMER0_COUNT 0xEE11
const seven_seg[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 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
发表时间:2007年7月2日14:23:04