标题: 51单片机 正反流水灯问题 [打印本页]

作者: 宋十三点    时间: 2020-2-21 16:58
标题: 51单片机 正反流水灯问题
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit led1 = P1^0;
void delay(int xms) {
        uint i,j;
        for(i=0;i<=82;i++)
                for(j=0;j<=xms;j++);
}
void main() {
        uint i;
        while(1) {
                P1 = 0xfe;
                delay(200);
                for(i = 0;i < 8;i++) {
                        P1 = (P1 << 1)|(P1 >> 7);
                        delay(200);
                }
                for(i = 0;i < 8;i++) {
                        P1 = (P1 >> 1)|(P1 << 7);
                        delay(200);
                }
        }
}
在执行完正向流水灯后 P1.0 亮,在方向流水灯 为什么


作者: csmyldl    时间: 2020-2-22 01:03
算法有问题:
修改如下:
while(1)
{
               P1=0xfe;
                for(i = 0;i < 8;i++)
                      {
                        delay(200);
                        P1 = (P1 << 1)+1;
                }
                P1=0x7f;
                for(i = 0;i < 8;i++)
                {
                        delay(200);
                        P1 = (P1 >> 1)+0x80;
                }
        }
作者: cphnkj188    时间: 2020-2-22 11:01
把 i<8 改为 i<7 试试




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1