微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一颗 LED灯移动

一颗 LED灯移动

时间:10-02 整理:3721RD 点击:
#include<reg51.h>
unsigned char code LED[9]={0X00,0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80};
void main( )
{
    unsigned int a,b;
        while(1)
        {
         for(a=0;a<9;a++)
         {
            P0=LED[a];
            for(b=0;b<30000;b++)
             {
             }
         }        
        }                               
}
//想要改为其它样式直接改数组就行

#include<reg51.h>
unsigned char code LED[9]={0X00,0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80};
void main( )
{
    unsigned int a,b,c;
        c=5;//想运行几次可改c的值
        while(c--)
        {
         for(a=0;a<9;a++)
         {
            P0=LED[a];//调用函数
            for(b=0;b<30000;b++)//灯移动的时间
             {
             }
         }         
        }
         P0=0X00;//灯全灭
         while(1)//停止
         {
         }                                
}

上面调用函数,应该改为调用数组 LED[9]={0X00,0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80};

0X00=00000000
0X01=00000001
0X02=00000010
0X04=00000100
0X08=00001000
0X10=00010000
0X20=00100000
0X40=01000000
0X80=10000000
注意观查1的位置,通过循环调用这几个数来实现LED灯的移动

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

网站地图

Top