51单片机sbit led=P1^0是什么意思?语句里面起什么作用,怎么看的?和sbit CY=PSW^7有什么区别

如题所述

sbit 这个是说明你定义的类型为位。
led=P1^0; 这里表示 定义单片机I/O口 P1.0的伪名称叫led 这样你要对P1.0控制时直接写 led=1; 或者=0 让灯亮或者灭。
和sbit CY=psw^7; 是一样的定义模式,都是定义一个字符内的其中一位!
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-02
都是位定义。。。
头文件里面有这个
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
sfr PSW = 0xD0;

都是表示特殊功能寄存器。。。
^后面的就是表示寄存器的第几位。。

也可以自己定义
unsigned char bdata Key;
sbit K0=Key^0; //位定义
sbit K1=Key^1; //位定义
sbit K2=Key^2; //位定义
sbit K3=Key^3; //位定义
sbit K4=Key^4;
sbit K5=Key^5;
sbit K6=Key^6;
sbit K7=Key^7;
第2个回答  2011-08-01
程序里每次指向sbit led时就是指向P1^0(P1口第0位),是一条定义语句

sbit led1 = P1^0是什么意思
sbit led1 = P1^0 含义:是将发光二极管 led1 接 P1口 0 位端,用以控制 led1 的亮灭。sbit是定义特殊功能寄存器的位变量。bit和sbit都是C51扩展的变量类型。典型应用是:sbit P0_0=P0^0;\/\/即定义P0_0为P0口的第1位,以便进行位操作。bit和int char之类的差不多,只不过char=8位, bit...

sbit led1 = P1^0
结论:sbit led1 = P1^0 是C51扩展中的一个特殊用法,它将发光二极管led1与P1口的第0位相连,以便于控制led1的开关状态。sbit实际上是一种位变量,用于定义特殊功能寄存器中的位,类似于C语言中的bit或int、char类型,但占用的存储空间更小。以下是关于sbit更直观的解释:在编程中,直接使用P1.0...

单片机中Sbit语句如何理解?
如sbit LED=P1^0;就是说p1·0管脚是接一个LED 然后程序中让LED亮或灭,就写LED=0或 LED=1 程序就通俗易懂 别人想用你的程序,但LED接的位置不同 可以修改像 sbit LED=P2^1;然后就不用在程序中间一 一查找P1^0进行修改了。

单片机sbit led1=p1^0,其中led是名称变量,为什么就可以控制led亮灭了...
sbit led1=P1^0就是给P1^0这个引脚起了个名字叫led1,所以控制led1实际上就是在控制P1^0这个引脚

为什么51单片机编程中P1^0 表示 P1I\/O口里面的0号引脚
SFR的定义在头文件reg51.h或reg52.h中。在C51里,利用sbit可访问RAM中可寻址位或SFR中可寻址位。如果直接写P1.0,C 编译器并不能识别,而且P1.0 也不是一个合法的C语言变量名,所以得给它另起一个名字,比如P1_0,可是P1_0 是不是就是P1.0呢?C 编译器可不这么认为,所以必须给它们...

51单片机的按键控制小灯亮灭的问题(程序类型:c语言)
sbit KEY1 = P1^2;void delay(uint);void main(void){ LED = 1; \/\/初始化LED熄灭 KEY1 = 1; \/\/赋值KEY1高电平 while(1){ if(!KEY1) \/\/检测到按键按下 { LED = ~LED; \/*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不 进入循环,LED继续保持...

keil c51。谁能解释这些点亮发光二极管的代码是什么意思(C语言)
上面的sbit LED=P0^0这些的意思是用LED这个名称(其实就是这三个字母)代表P0口的最低位P00这个引脚,其他的类似,main函数中LED=0这些的意思就是将他们代表的IO口置零,也就是设置为低电平意思;如果LED=1就是将对应的IO设置为1即高电平 当然,至于IO是设置为0或者1对应的LED亮灭,要看外接电路...

单片机程序中sbit p1_1=P1^0是什么意思?
while(a--); }}sbit是位定义,sbit p1_1=P1^0;是为把P1.0这一位定义成p1_1(相当于一个标识符),在main函数中的p1_1=0; 相当于P1.0=0 ,即P1.0输出低电平。 在函数中不允许对P0~P3口进行为位操作的,故使用前要先进行位定义。 又如:#include<reg52.h>sbit led=P1^0;unsig...

单片机程序中sbitp1_1=P1^0是什么意思?
在单片机程序中,`sbit p1_1=P1^0;` 这行代码的意思是:1. `sbit` 是一个位定义指令,它用于将特定的I\/O端口的一位定义为一个可以使用的位名称。2. `p1_1` 是定义的位名称,它可以被用作该端口位的代号。3. `P1^0` 表示的是端口1的第0位,即P1.0。在`main` 函数中的代码段:1....

单片机C语言编程时如何判断LED的状态,即亮还是灭?
都是有目的控制的,那LED的状态肯定是已知的,怎么控制,怎么回头就不知道啦?就算是真不知道(还是装不知道),也可以通过查询控制LED的引脚状态而得知LED的状态。例,sbit LED=P1^0; \/\/输出0为亮 控制语句 LED=0; \/\/点亮 以后的状态是已知的 查询方法 if(LED==0){ \/\/亮灯状态 ...

相似回答