sbit d7=P0^0;
sbit d0=P0^7;
a=P0^0;
d7=d0;
d0=a;
这么写是OK的,编译无错。但如果写成:
a=P0^0;
P0^0=P0^7;
P0^7=a;
编译就是syntax error near =。
是因为SBIT定义之后,就不能再出现P0^0了吗?但为什么第一段中a=P0^0;却可以?
C51单片机流水灯程序问题定义无效
你用sbit定义的8行是小写字母p0~p7,可主程序中却又用了大写的P0~P7,这肯定错呀。C语言是区分大小写字母的。程序中必须用小写字母p0~p7,而不能用大写的P0~P7,因为P0~P3是单片机四个并行口,用户不能再定义了。其实,就一个流水灯的程序,很简单的,用不着写得这么复杂,这么费劲。给你一个典...
51单片机里,sbit p1_7=P1^7是什么意思啊
就是给P0^0又定义了个名字叫P00。这样在程序中用到P0^0的时候写P00就可以了,这样为的是书写方便。也就是说写了sbit p1_7=p1^7 之后,p1.7口就可以用p1_7来代替了, 也可以自己定义任何变量。单独改变p2.0口可以这样,比如要将p2.0口赋值0 。参考程序如下:{ sbit p2_0=p2^0;p2^...
单片机中p1能代表p1^0 到p1^7吗?还是只能代表p1^0?
P1是并行口,对P1操作,就是同时操作P1的8个位的,就是你说的P1^0 到P1^7。而要操作一个位,需要先用sbit 命令定义,在程序中就可以对一个位操作了。如sbit LED=P1^0;程序中就可以写:LED=0;或LED=1;这才是对一位操作的。注意,写程序时,这字母P可一定要大写的,否则是错误的。
这些单片机语句都什么意思?
前面的sbit定义是单片机的I\/O口定义,就是给这些I\/O口取个别名,让程序有可读性。最后那个数组是定义在程序存储区的一个共阳数码管的段码表。
单片机中sbit P0=P2^0是什么意思
单片机中sbit P0=P2^0是一个位变量定义语句,意思是定义位变量P0为P2.0。但是从这句话本身来说,在编译时会出错的,因为P0是内部关键字,代表P0口,不能用来表示用户自定义变量。
单片机中符号_和^有什么区别?
其实,你这是误解了。在使用引脚时,必须在主程序之前用sbit定义引脚,在定义时,必须用^符号,是不能用 _ 符号的。例如,sbit LED=P1^3; \/\/定义后,LED是一个变量,而P1^3 是引脚。在程序中就要用定义的变量LED来控制了,而不能用引脚P1^3。例如:void main(){ LED=0;这么写是对的.而...
单片机C编程 为什么不能用 P0^0 = 0; 这种语句
为什么不能用 P0^0 = 0 这是因为你的头文件不是自己写的,你也是用的他的标准文件,如果是你自己写的,在头文件中有P0^0的定义是可以的,所以你要用时先必须用sbit定义,在程序的前面定义sbit P0_0=P0^0,这样编译时就不会出现未定义的错误。
51单片机c语言sbit的作用是什么
1. SBIT指令在51单片机C语言编程中用于指定一个特定的端口位。2. 通过SBIT,可以将端口名称和位名称关联起来,便于在程序中引用。3. 例如,SBIT P00 = P0^0;定义了P00这个名字代表P0口的第0位。4. 使用SBIT可以让代码更加清晰,避免直接使用复杂的位地址。5. 如果没有SBIT指令,程序员需要使用位...
单片机中,常sbitLED=P2然后用LED=0,不能直接写P2=0吗?
3. `sbit OV = 0xD0^2`:这里,`0xD0`是PSW的地址,`^2`表示的是PSW中的第二个位。至于`P2`,它是一个端口寄存器,通常在单片机的头文件中已经定义为`sfr P2 = 0x80`这样的形式,因此我们可以直接操作`P2`,而不需要使用`sbit`。所以,`P2 = 0`是完全正确的写法,用来将端口P2的所有位...
在C语言程序中,sbit P0_1=P0^1; 这条语句是什么意思?
1就行了。因为在系统自带的文件中,是把控制P0口的地址定义为P0,那么P0^1代表对P0进行位操作,即取P0的第二位.但在实际应用中,一般是不可直接用P0^1的,因为^这个东西本身也是一种位运算符,在程序编写中程序将搞不明白P0^1是要运算还是个变量,会出错的,因此会对它改名字。