[求助] 80C51F020 P口使用问题求助

小呸   2015-11-10 15:36 楼主
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则报错,求助啊求助!!!!

回复评论 (3)

很久不用51了,我猜想可能是P4~P7口不是标准的51寄存器定义,所以设定P4^x编译器会报错.另外也有可能是KEIL未添加C51F的寄存器定义文件造成的.
点赞  2015-11-10 16:01
引用: dingzy_2002 发表于 2015-11-10 16:01
很久不用51了,我猜想可能是P4~P7口不是标准的51寄存器定义,所以设定P4^x编译器会报错.另外也有可能是KEIL ...

谢谢回复,很及时呀~~刚找到错误,原来P0-3是可以位寻址或者字节寻址的,P4-7是只能进行字节寻址的,所以这样位寻址就报错了~~谢谢~~
点赞  2015-11-10 17:15
引用: 小呸 发表于 2015-11-10 17:15
谢谢回复,很及时呀~~刚找到错误,原来P0-3是可以位寻址或者字节寻址的,P4-7是只能进行字节寻址的,所以 ...

您这个单片机应该和stc89c51和at89s52这些的差不多,stc89c51和at89s52这些都没有P4口的。
点赞  2015-11-11 08:55
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复