单片机中 c语言编程 能不能给P0的某一位直接赋值 如P0^0=5

如题所述

第1个回答  2013-01-19
可以的,必须先定义,再用
sbit led=P1^1;

led = 0;

单个io是只可以负值1或0
第2个回答  2013-01-19
你指的是51单片机??
因为是位赋值,所以只能是0或1.

P0^0 = 1;
P0^0 = 0;

P0^0 = 5; // 不行,会引起编译器报错或是warning.

如果是其他家的,
也有
P0.0 = 0;
P0.0 = 1;
这种形式。请参阅具体芯片的相关手册。

以上。追问

是AT89c52的 我这样写 P0^0 = 1; 也显示是错的

追答

AT89C52是ATMEL公司出品,也属于MCS-51家族
你用的是keil uVision开发环境吧。
请贴出源码及报错信息,这样才能对症下药。

以上。

本回答被提问者采纳
相似回答