80C51F020共有8个8位的I/O端口,欲使用P4.3 P4.4控制两个LED,软件编写后编译报错。
头文件:
#include
#include
#include
#include
定义代码为:
sbit GREEN = P4^3;
sbit YELLOW = P4^4;
报错:'P4': invalid base address
若改为P0,1,2,3则不报错,P4 5 6 7则报错,求助啊求助!!!!
很久不用51了,我猜想可能是P4~P7口不是标准的51寄存器定义,所以设定P4^x编译器会报错.另外也有可能是KEIL未添加C51F的寄存器定义文件造成的.
谢谢回复,很及时呀~~刚找到错误,原来P0-3是可以位寻址或者字节寻址的,P4-7是只能进行字节寻址的,所以这样位寻址就报错了~~谢谢~~
您这个单片机应该和stc89c51和at89s52这些的差不多,stc89c51和at89s52这些都没有P4口的。