单片机开发教程2——点灯

转载自CSDN

1.接线介绍

1.1 面包板

在电子设计中,面包板是最基础、最简单的元件之一,它可以连接各种电子元器件,使用时只需任意插入或拔出,从而免去了焊接的工序,大大方便了电路的设计与调试。

在这里插入图片描述

面包板上有很多插孔,首先需要知道其内部的电气连接。

如图上的红色标注:面包板两侧共有4路电源轨,轨道上所有插孔在内部是导通的;中间纵向分布共有60路接线轨,每个轨道上的5个插孔也是导通的。

使用时,通常把外部电源接到电源轨上,面包板上的元器件在需要供电时,只需要把电源轨上的插孔与接线轨上对应的插孔连接。

接线时需要再三检查!!!不要短接电路!!!尤其是Vcc/5V直接接到GND

1.2 按键

在这里插入图片描述
这是按键的原理图,相距较远的两个脚之间是导通,使用时只需连接1、3(或者1、4)

可能你会疑惑,为什么多出两个引脚?其实多出来的引脚的主要作用是固定作用,因为只有两个引脚时,很容易被折断,影响使用寿命

在这里插入图片描述
采用最简单的连接方式,单片机一个IO口对应一个按键。图上P0口外接了上拉电阻(最小系统板上4组IO都有上拉电阻,不一定用P0),在没有开关按下的时候,是高电平,一旦有按键按下,就被拉成低电平。这种方案优点是电路简单可靠,程序设计也很简单。缺点是占用I/O资源多,不过我们的资源足够,而且用不到太多按键。

1.3 发光二极管

在这里插入图片描述
上图是发光二极管(LED)的常见连接方式,蓝色框中的电阻起到限制电流保护电路的作用,所以也叫做限流电阻,通常为1kΩ电阻,但由于物资里没有,所以也可以不用,但需要注意的是,LED不能直接接Vcc和GND,否则电流太大,LED闪一下就再也不能亮了(不信可以试试)

二极管是有方向的,对于LED,长脚为正短脚为负,当然,接错时LED处于截至状态,相当于断路,并不会烧坏,对应IO口输出低电平时,LED被点亮

1.4 整体接线

请添加图片描述

我这里使用的是串口模块给单片机供电,所以就不需要再接DC电源线了,如果你的电源开关不好用或者坏了,可以选择把串口模块的5V接到单片机3路扩展电源的5V,而开关旁边的Vin还是受到开关控制通断的

2.开发示例

2.1 新建keil项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 代码编写

#include <reg52.h>

sbit L1 = P0^1;
sbit k1 = P0^7;

void delay(unsigned int i)
{
    while(i--);
}

void button()
{
    if(k1==0)
    {
        delay(10);
        if(k1==0)
        {
            L1 = ~L1;
            while(k1==0);
        }
    }
}

void main()
{
    L1 = 0;
    while(1)
    {
        button();
    }
}

在这里插入图片描述

2.3 烧录下载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时,通过按键就可以控制LED的亮灭啦

2 条评论

  1. 动动枪dongdonguns

    0 我想问一下如果前面的步骤都做完了,LED灯还是没办法控制亮灭是什么原因呢?

    • 1 在咨询群里面问吧?

相关推荐

微信扫一扫,分享到朋友圈

单片机开发教程2——点灯