#include<reg52.h>
#define uchar unsigned char
void delay(unsigned int x)
{
unsigned int i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void main ()
{
uchar a;
a=0xfe;//1111 1110
P0=a;
unsigned int k;
for(k=6;k>=0;k--)
{
delay(500);
P0^k=0;
P0^(k+1)=1;
}
}
单片机控制led灯一个一个的亮,程序错在哪啊。。。菜鸟求帮助
答案:2 悬赏:0 手机版
解决时间 2021-02-14 08:51
- 提问者网友:欲望失宠
- 2021-02-13 17:13
最佳答案
- 五星知识达人网友:孤独入客枕
- 2021-02-13 17:48
大哥,我不知道你是刚学的还是怎的,程序一点都不规范,而且P0^k?有这样的表示方法吗?肯定错啊。。。你如果想要led轮流点亮的话用个P0>>=1|0x01;就行了,自己再研究一下吧
希望对你有帮助
希望对你有帮助
全部回答
- 1楼网友:纵马山川剑自提
- 2021-02-13 18:28
同学,你好,你先要跟我说下你那些k是低电平有效还是高电平效。还有led是底电平亮还是高电平亮。k与led是通过那些i/o口与单片机连在一起的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯