51单片机第一天

LED灯代码

#include <reg51.h>

sbit p1_0 = P1^0;
sbit K1 = P0^0;
sbit K2 = P0^1;

unsigned char i = 0;
unsigned char j = 0;

void delay_us(unsigned char t)     //延迟一微秒
{
    while(--t);
}

void delay_ms(unsigned char t)        //延迟一毫秒
{
    while(t--)
    {
        delay_us(245);
        delay_us(245);
    }
}

void led_left()         //左移
{
    P1 = 0x7f;
    
    if (i <= 8 || i >= 0)
    {
            P1 = P1>>1 | 0x80;
            delay_ms(1000);    
    }i++;
    
    if (i == 8)
    {
        i = 0;
        //P1 = 0x7f;
    }
}

void led_right()        //右移
{
        P1 = 0xfe;
    
        if (i <= 8 || i >= 0)
        {
                P1 = P1<<1 | 0x01;
                delay_ms(1000);
        }i++;
            
        if (i == 8)
        {
            i = 0;
            //P1 = 0xfe;
        }
}

void led_stupid()              //灯亮的顺序
{
            P1 = 0xfe;
            delay_ms(1000);
            P1 = 0xfd;
            delay_ms(1000);
            P1 = 0xfb;
            delay_ms(1000);
            P1 = 0xf7;
            delay_ms(1000);
            P1 = 0xef;
            delay_ms(1000);
            P1 = 0xdf;
            delay_ms(1000);
            P1 = 0xbf;
            delay_ms(1000);
            P1 = 0x7f;
}

int main()
{
    while(1)
    {
            //这里写功能函数
    }
}

猜你喜欢

转载自blog.csdn.net/inconceivableccx/article/details/81149007
今日推荐