请问为什么报错说P0M0和P0M1没有定义?求解答。谢谢

#include<STC89C5xRC.H> //通用89C51头文件
sbit METER0=P0^0; //定义电机正极
sbit METER1=P0^1; //定义电机负极
sbit KEY0=P3^2; //定义开关
sbit KEY1=P3^3; //定义开关

/*********************************************************************
主函数
*********************************************************************/
void main (void)
{

P0M1=0X00;
DELAY_MS(100) ;
P0M0=0X01;
while(1)
{
METER0=0;
}
}

电机拖动.C(75): error C202: 'P0M1': undefined identifier
电机拖动.C(77): error C202: 'P0M0': undefined identifier
Target not created

你能确定你用的单片机是STC89C5X系列吗?

你好好看看技术文档,这个系列的单片机引脚是不能设置的。
也就没有P0M1,P0M0寄存器。
当然了,可以用类似的
sfr P0M0 = 0xnn;命令来定义这两个寄存器,那地址可以随便写个地址。编译就会通过了。
这不过是骗自己的,因为根本就没有这两个寄存器,自己定义了是没有用的。那I/O引脚的工作模式是不能配置的。
STC的单片机,除了这个系列的就都能配置了。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考