单片机第二讲 点亮第一盏灯

在学习单片机时,我们需要有一定的数字电路基础,这里我主要讲LED灯实现的过程。
实现LED灯的闪烁需要软件和硬件的结合,下面我来讲一下我所用到的东西。
1.keil5软件:用于编写C语言代码,实现不同模式下交通灯的闪烁。
2.stc-isp软件:STC-ISP 是一款单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。
3.德飞莱51单片机开发板:通过硬件实现LED灯的闪烁。
首先把单片机开发板和电脑连接起来,其次在keil5中写你要实现的代码,最后通过stc下载代码到开发板上。
这是我在keil5上写的代码:

#include <reg51.h>
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
sbit LED5 = P1^4;
sbit LED6 = P1^5;
sbit LED7 = P1^6;
sbit LED8 = P1^7;
void DelayUs2x(unsigned char n);
//微妙级延时,t = 2n + 6(us),若要精确时延请使用汇编
//毫秒级延时,t = n(ms);
void DelayMs(unsigned char n);
void main()
{
    int flag;
    unsigned char i,w;
    while(1)
    {
        for(i = 0,w = 0x80; i < 8; i++)
        {
            P1 = ~w;
            w >>= 1;
            DelayMs(200);
        }
    }
}
void DelayUs2x(unsigned char n)
{
    while(--n);
}
void DelayMs(unsigned char n)
{
    while(n--)
    {
        DelayUs2x(245);
        DelayUs2x(245);
    }

}
这段代码可以实现8个LED灯从右往左不间断的闪烁,其实可以按照你所想要的方式来实现LED的闪烁,只需要修改while循环里的代码就可以了。

猜你喜欢

转载自blog.csdn.net/tjy199610_10/article/details/81146620
今日推荐