微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么我的程序一个回合后出现8个LED同时闪烁的现象?谢谢!

为什么我的程序一个回合后出现8个LED同时闪烁的现象?谢谢!

时间:10-02 整理:3721RD 点击:
8个LED来回流动(从左到右再从右到左,不断循环),流动时让蜂鸣器响。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P2^3;
void delay(uint);
uint aa[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};        
uchar i;
void main()
{
        while(1)
        {
                for(i=0;i<8;i++)
                        {
                                P1=aa[i];
                                beep=0;
                                delay(50);
                                beep=1;
                                P1=0xff;
                                delay(50);
                        }
                delay(250);
                for(i=7;i>=0;i--)
                        {
                                P1=aa[i];
                                beep=0;
                                delay(50);
                                beep=1;
                                P1=0xff;
                                delay(50);       
                        }
                delay(250);
        }
}
void delay(uint x)
{
        uint y,z;
        for(y=x;y>0;y--)
                for(z=110;z>0;z--);
}

我学的也不好,我认为主函数的for循环不太对。见丑了

for(i=0;i<8;i++)

for(i=8;i>0;i--)

为什么没发全?

额,乱码?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top