这个单片机流水灯程序我只会顺向不会反向和顺向结合着用。求解
答案:2 悬赏:30 手机版
解决时间 2021-11-18 10:11
- 提问者网友:山高云阔
- 2021-11-18 00:53
这个单片机流水灯程序我只会顺向不会反向和顺向结合着用。求解
最佳答案
- 五星知识达人网友:渊鱼
- 2021-11-18 01:45
#include
unsigned char cnt = 0;
unsigned int i;
main()
{
while(1) {
for(cnt = 0; cnt < 8; cnt++) {P1 = ~(0x01 << cnt); for(i = 0; i < 30000; i++);}
for(cnt = 7; cnt > 0; cnt--) {P1 = ~(0x01 << cnt); for(i = 0; i < 30000; i++);}
}
}追问呵呵,大神现在我主要想知道,我用if 语句到底错啦里了,走出逻辑的误区追答你的程序没有错,只是,功能仅有单向(正向)循环。
如果希望反向流动,就得再写一个 while()构成循环。
在外边,还要加上一个while,把正向、反向,都包括在里面。
我写的,只不过就是用 FOR 代替了你写的 WHILE,格式能简单一些。
unsigned char cnt = 0;
unsigned int i;
main()
{
while(1) {
for(cnt = 0; cnt < 8; cnt++) {P1 = ~(0x01 << cnt); for(i = 0; i < 30000; i++);}
for(cnt = 7; cnt > 0; cnt--) {P1 = ~(0x01 << cnt); for(i = 0; i < 30000; i++);}
}
}追问呵呵,大神现在我主要想知道,我用if 语句到底错啦里了,走出逻辑的误区追答你的程序没有错,只是,功能仅有单向(正向)循环。
如果希望反向流动,就得再写一个 while()构成循环。
在外边,还要加上一个while,把正向、反向,都包括在里面。
我写的,只不过就是用 FOR 代替了你写的 WHILE,格式能简单一些。
全部回答
- 1楼网友:鸠书
- 2021-11-18 02:36
原理一定要搞清楚
需要给你写吗追问可以,我是新手啊。。追答好的 丘说吧
需要给你写吗追问可以,我是新手啊。。追答好的 丘说吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯