首页 > 电子

单片机中c语言如何赋值?

为什么直接给P1^0=0赋值编译就...单片机汇编语言怎样给某一位赋值比如给P3.2赋1?51单片机的寄存器如何赋值00H~7FH可以直接赋值,80H~FFH需要间接赋值。51单片机汇编具体管脚赋值也可以,单片机中c语言编程能不能给P0的某一位直接赋值如P0^0=5可以的,必须先定义,再用sbitledP1^1;led0;单个io是只可以负值1或0。

1、让单片机的一个灯亮让P^0位赋值为0就ok了我想问的是为什么?

想看懂的话,看《51单片机应用从零开始》清华出版社p23p26适合小白看.。0就是低电平咯。1就是高电平看你的二极管怎么接咯。有些接法是0就亮的,有些是1就亮的。0代表低电平1代表高电平不过有时候,高低平是有效电平,有时候低电平才是有效电平,这个视具体情况而定你说的灯多半是发光二极管吧不管是不是,你可以这样想:你现在有一个灯泡,要让它发光该怎么办呢?

2、单片机给IO口赋值的原则是什么?

IO口只能是给0或1,给不了其它的东东,也没办法给。对一个IO口赋什么值就要看你要对这个口做什么。程序开始阶段要对IO口初始化,譬如首先是不能点亮某口的LED,或者不能驱动某口的继电器,或者不驱动某口的可控硅等等。在程序运行达到某个条件,如某键被按下,某负载工作了,某条件满足了等再去改变某IO口的状态。这是你的程序流程决定了的。

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

可以的,必须先定义,再用sbitledP1^1;led0;单个io是只可以负值1或0。你指的是51单片机?因为是位赋值,所以只能是0或1.如P0^01;P0^00;P0^05;//不行,会引起编译器报错或是warning.如果是其他家的,也有P0.00;P0.01;这种形式。请参阅具体芯片的相关手册。以上。AT89C52是ATMEL公司出品,也属于MCS51家族你用的是keiluVision开发环境吧。

4、单片机让一个灯亮sbitled=P1^0可以亮,为什么直接给P1^0=0赋值编译就...5、单片机汇编语言怎样给某一位赋值比如给P3.2赋1?问题二:有位寄存器...

用位操作,比如setbP3.2或者标准的“读操作写”方式:mova,p3orla,4movp3,汇编语言怎样给某一位赋值比如给P3.2.....----楼主指定单片机型号先。setbp3.1置位,clr清零。应该是用mov指令吧,学完一年都忘光了。位赋值:setbP3.2MOVC,bit将直接地址的某位值存入进位C。MOVbit,C将进位C的值存入直接地址的某位。

6、51单片机汇编具体管脚赋值

也可以。位寻址指令中友MOV指令的,以C为操作数,比如MOVC,P1.0这是把P1.0的状态复制到C位中MOVP1.0,C这就反过来了,把C的状态输出到P1.0P0是SFR中的寄存器,P0.1~7是寻址的位地址。嘿嘿俺来帮你解答吧1P0端口(8个引脚可以映射为单片机内部的一个特殊寄存器即P0)可以按字节传送即MOVP0,#00H;

对P0.1清零SETBP0.1;对P0.1置1进行位操作时,必须使用位操作指令,可以使用位传送指令如MOVP0.1,CMOVC,P0.1每次只能传送一位数据2.p0的信息存在特殊功能寄存器中,P0是由(P0.7、P0.6、P0.5、......P0.1、P0.0)8位引脚组成的。P0是整体,P0.7、P0.6、P0.5、......P0.1、P0.0是成员。

7、单片机端口赋值问题

取了temp的低2位,难道是10位的AD?第一个,这个应该是在下面读端口值用的,51是准双向口,需要先置1才能读端口值第二个,没区别,3就是0x03,也就是b第三个,给P1口赋值,temp|3就是把temp的低两位置1,P1.0和P1.1是模拟输入的 和,置1是为了读取输入。我感觉你这个是用AT89C2051做的模拟AD吧?

8、51单片机的寄存器如何赋值

00H~7FH可以直接赋值,80H~FFH需要间接赋值。这要看是写什么程序了,用汇编写程序,用MOV指令,直接寻址方式赋值,如MOVTMOD,#20HMOVTH0,#3CHMOVTL0,#0B0H用C语言写程序就更简单,也好理解,还是上面三个寄存器赋值TMOD0x20;TH00x3c;TL00xb0;。

保存到:

相关文章

Top