永发信息网

单片机程序中sbit p1_1=P1^0是什么意思?

答案:6  悬赏:80  手机版
解决时间 2021-04-26 21:34
#include<reg52.h>sbit p1_1=P1^0;unsigned int a ;void main(){ while(1) { a=51000; p1_1=0; while(a--); a=51000; while(a--);
p1_1=1; a=51000; while(a--); a=51000; while(a--); }}程序中的第二行是什么意思啊?求详解.....
最佳答案

#include<reg52.h>


sbit p1_1=P1^0;


unsigned int a ;


void main()


{while(1)


 {


 a=51000;


 p1_1=0;


 while(a--);a=51000;while(a--);
p1_1=1;


 a=51000; while(a--);a=51000; 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;


unsigned int a ;


void main()


{while(1)


 {


 a=51000;


 led=0;


 while(a--);a=51000;while(a--);
 led=1;


 a=51000; while(a--);a=51000; while(a--); }


}


与你上面的程序一样的效果!


如有不清楚欢迎追问!

全部回答
那个只是一个定义,以后你就可以去读或者写数据到p1_1,那他就会相对对P1.0进行操作了,p1_1只是一个你自己定义的名字而已,这个可以随便起的。这个只是做一个延时输出,在P1.0这个脚输出一个低电平,然后延时,在输出高电平,然后又延时。
sbit p1_1=P1^0的意思是 定义P1^0这个位的名字为p1_1;之后写p1_1的地方就是P1^0这个I/O口,你也可以不用,凡是有p1_1的地方就写P1^0也可以~~

每个端口都有默认值的,一般情况下是0,你不赋值并不代表他没有值,你可以每次都给他赋予不用的端口确定的值

用P1_1这个变量名来代替P1.0位

把p1.0位的值送入P1.1位
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何看待真诚的演讲稿
超级QQ要怎样升VIP2?
福建龙岩有什么好玩的地方?
如何恢复windows7开机,四瓣的那个动态logo不
闽东机电怎么去啊,有知道地址的么
别人给我申请的QQ会员,是用的手机,我能查出
麦迪什么时候复出?真的能回到当年吗?
奋斗中,米莱对陆涛那么执着,可她最后什么也
我姐的女儿今年两岁半,她每晚都大哭一场哭累
用手机整蛊人的方法有?
小学大门口两侧标语,小学生标语
氧元素相同的SO2和SO3 两种气体质量比 为多少
开心网农场怎么玩
拟物的句子以物写物,有一个成语是不是叫以物
哪里能买到电热手套,能邮购吗?
推荐资讯
青龙堰月刀怎么才打我2000+
形容杏叶的句子
牛肉可以和豆腐一起吃吗
我的天下2(网易的)被盗如何找回!!急
山东蓝翔可信不
我现在在吃左漩肉碱减肥药,瘦是瘦了!但是不
求教电脑高手!!
问道怎么速度弄声望?
莞一网要怎么才能加入?
去螨虫最直接最有效的方法?
远征ol60级武圣平均攻击多少?
2010版qq旋风图标隐藏
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?