单片机流水灯 因为这程序只能单向流水,我想让他流过去再返回来,求大神改完发一下

单片机流水灯因为这程序只能单向流水,我想让他流过去再返回来,求大神改完发一下长*出口参数:无***************************************... 单片机流水灯
因为这程序只能单向流水,我想让他流过去再返回来,求大神改完发一下长
* 出口参数:无
*********************************************************************************************/
void delay(uint count)
{
uint i;

while(--count != 0)
{
for(i = 0; i < 125; i++); // ";" 表示空语句,CPU空转。
} // i 从0加到125,在12M晶体下CPU大概耗时1毫秒
}

void main(void)
{
uchar temp;
P0=0xfe;
temp=0xfe;
delay(200);
while(1)
{

temp=(temp<<1)|0x01;
P0=temp;
delay(200);
if(temp==0x7f)
{
temp=0xfe;
P0=temp;
delay(200);
}
}
}
展开
 我来答
5922771321
2016-11-21 · TA获得超过1438个赞
知道小有建树答主
回答量:1410
采纳率:100%
帮助的人:371万
展开全部
void main(void)
{
uchar temp;
P0=0xfe;
temp=0xfe;
delay(200);
int i;
while(1)
{

for( i = 0;i<8;i++)
{
temp=(temp<<1)|0x01;
P0=temp;
delay(200);
}

for(int i = 0;i<8;i++)
{
temp=(temp>>1);
P0=temp;
delay(200);
}
}

}
main函数里面改成这样试一下
更多追问追答
追问
不行,不对
追答
void main(void)
{
uchar temp;
P0=0xfe;
temp=0xfe;
delay(200);
int i;
while(1)
{
P0 = 0xfe;
for( i = 0;i>1);
P0=temp;
delay(200);
}
}

}
这个呢,什么现象
迪凯特科技(北京)有限公司_
2025-01-03 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式