单片机问题
发布网友
发布时间:2022-04-21 04:43
我来回答
共3个回答
热心网友
时间:2022-06-18 01:13
1. 'p1': undefined identifier p1 未定义 在使用P1口时keilc51中需要将 p大写 也可以 利用位定义来定义一个管教 如:sbit p1_1=P1^1;
2. error C202: 'OX01': undefined identifier
Ox01 这是16进制数 以0x开头表示十六进制 是零x不是 噢x
3.'ETO': undefined identifier 与2为同类错误 不是字母o(噢) 而是0(零) 应该是ET0
4. 'p1_1': undefined identifier 未定义 虽然你已在程序开头 进行了位定义 但是 sbit p1_1=p1^1 是不对的 因为 p1^1中的p应该是大写
由于 我没有AT89X51.H这个头文件 我稍微将你的程序头文件改成了reg51.h 芯片也改为了at89c51 AT89X51.H 和 reg51.h两个头文件无太大差别
修改的程序如下:
#include <reg51.h>
sbit p1_1=P1^1;
char i;
void main()
{ TMOD=0X01;
TH0=-10000;
TL0=-10000;
EA=1;ET0=1;
i=0;
TR0=1;
while(1);
}
void time0_int(void) interrupt 1
{ TH0=-10000;
TL0=-10000;
i++;
if(i==100) {p1_1=! p1_1;i=0;}
}
已运行通过 0—错误 0—警告
热心网友
时间:2022-06-18 01:14
头文件对不对?另外0x01前面是数字0不是字母O
热心网友
时间:2022-06-18 01:14
P1中的p为大写的,看看头文件中的定义就好了!ETO为ET零的ET0