
sbit k1 = P1^0//按键1 开关
sbit p6 = P1^6//输出1 灯慎纤猜
bit t1, t2
void main(void)
{
while(1)
{
if(k1==0 &&t1==0) {t1=1p6=~p6}
if(k1==1 ) {t1=0}
}}
// 下面是四个开关,两个灯 的实竖高例
http://zhidao.baidu.com/question/532520062.html
程序是没空兄咐有问题的其实你的理解就错在第一步,后面的都是对的,P1口的初始状态不是11111111而是与开关的状态有关的,比如有些位的开关处在把这位置0的位置(假设是P1.6)其它位是把IO置1的位置,那么P1的状态就是1011XXXX,右移相或后就是11111011,就可以控制相应的灯了,再下个循环读的时候还是一样,读IO是当前外部电平的高低,与上次IO输出无关!所以读回来还是开关的状态!
temp=P1>>4
这句就是在读开尘袭关的状态,同时进行移斗纯位处理等效于:
temp=P1
temp>>=4
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)