美文网首页嵌入式 Linux C ARM
2019-09-24单片机控制第一个外设-LED灯

2019-09-24单片机控制第一个外设-LED灯

作者: 嵌入式Linux小白 | 来源:发表于2019-09-26 15:13 被阅读0次

1.单片机编程的一般步骤

1.1、目标分析

我们的目标是点亮开发板上的LED灯

1.2、原理图分析

(1)目标器件(LED)工作原理
(2)相关模块电路连接
(3)控制线路分析:相关IO端口是哪些?

1.3、代码编写

1.4、下载与调试

2.原理图与控制方法分析

2.1、原理图概况浏览

(1)目的1:把原理图相关部分摘录出来重点看
(2)目的2:把相关部分的原理图关键部分重点看

2.2、74HC573芯片介绍

(1)要知道这个芯片怎么工作,就要看他的数据手册
(2)第一步:找到它的数据手册


74HC573芯片

(3)OE(output enable),LE(latch enable)
(4)74HC573芯片是一个锁存器,简单来说就是由输入引脚Dx来控制输出引脚Qx(x等于0-7)。OE和LE影响Dx控制Qx的结果。
(5)当OE为L,LE为L时,74HC573工作在锁存模式,此时Qx的输出被锁存(进入锁存状态之前是高就一直是高,是低就一直是低,这就叫锁存)。这就是锁存器的作用。
(6)当OE为L,LE为H时74HC573工作在跟随模式,此时Qx的输出跟随Dx的输入变化而变化。此时逻辑上可以认为74HC573是透明的。

2.3、硬件原理图分析结论

(1)原理图及开发板默认跳线帽方式为:OE=L,LE=H,此时74HC573工作在跟随模式下,相当于是透明的。当我们接线(接线方式为P0端口和J12用杜邦线连接起来,当然其实也可以和P1或者其他端口连接起来)后,其实相当于P0端口和LED的正极直接相连了,而LED的负极接地。
(2)结论:P0端口的8个引脚输出高电平时,则LED亮,输出低电平时则LED灭。

3.第一个实验:点亮LED

3.1、创建工程与文件

(1)创建空工程
(2)创建led.c并关联到工程
(3)模式书写:头文件包含和main函数外壳

3.2、如何用C语言进行IO端口控制

(1)P0这个符号在C语言代码中的特殊含义
(2)十六进制数
(3)位、字节、IO端口、IO口(即IO端口的每一个)
(4)硬件接线方式对编程的影响

3.3、点亮LED

(1)点亮8颗LED灯
(2)点亮4颗LED灯
(3)隔一颗亮隔一颗灭
(4)全灭

#include <reg51.h>

void main(void)
{
    // 点亮8颗LED灯
    // p0 = 0xff;                     // P0端口的8个引脚都输出高电平
    // 点亮4颗LED灯
    // p0 = 0xf0;
    // p0 = 0x0f;
   // 隔一颗亮隔一颗灭
  // p0 = 0xAA;
  // 全灭
  p0 = 0x0;
}

4.如何让LED闪烁

4.1、闪烁的本质含义:亮-延时-灭-延时

(1)由于人的眼睛有视觉暂留,所以亮和灭之间的延时时间选择非常重要。
(2)如果延时时间太短(比如20ms),这时候上一次灭眼睛还没反应过来就到了下一次亮。此时你会觉得灯是一直亮着的。和一直亮着的区别是亮度低一点。但是是看不到闪烁的。
(3)延时时间逐渐增大慢慢就能看到闪烁的,大到一定程度就能看到明显的一亮一灭了。

4.2、单片机如何实现延时

(1)单片机执行每一条指令需要一定的时间
(2)单片机开机后不能休息
(3)单片机可以“空转”或“浪费时间”

4.3、C语言实现延时

使用C语言循环语句实现延时

#include <reg51.h>

void delay(void)
{
    unsigned char i = 100;
    unsigned char i = 100;
    while (i--)
    {
        while (j--);
    }
}

void main(void)
{
    p0 = 0xff;
    delay();
    p0 = 0x0;
    delay();
}

相关文章

  • 2019-09-24单片机控制第一个外设-LED灯

    1.单片机编程的一般步骤 1.1、目标分析 我们的目标是点亮开发板上的LED灯 1.2、原理图分析 (1)目标器件...

  • 51单片机通过WIFI模块ESP8266控制LED灯

    一、系统方案 手机APP通过ESP8266 WIFI模块与51单片机通信控制LED灯的开关。下位机由单片机、ESP...

  • MHT5-交通灯套件

    功能介绍: 本套件是基于51单片机的交通灯模拟设计,通过对单片机编程,控制数码管显示和LED亮灭的变化。有深夜模式...

  • MHT13-七彩炫光心形流水灯套件

    功能介绍:32个七彩LED在单片机程序的控制下,单片机哪一个管脚输出低电平,对应的LED点亮,可以编程控制每一个L...

  • 跪求单片机大佬

    [题]LED流水灯左循环点亮:用AT89C51单片机和C51语言实现8个LED灯的左循环依次流水点亮,两个LED灯...

  • 2018-04-01 单片机流水灯

    单片机基础实验之流水灯 对于很多单片机初学者来说,点亮第一盏LED灯是最基础的实验,而点亮LED其实是对...

  • NRF52832学习笔记(26)——BSP按键短按和长按

    一、简介 在蓝牙协议栈下,库函数文件提供了一个 BSP(板级支持包) 来支持硬件外设上的按键和 LED 灯的控制,...

  • 单片机开发,流水灯+蜂鸣器

    最默认的全图唤醒LED灯代码 单片机的LED唤醒,首先最麻烦的就是一个一个打,后面如果自己组织了许多的LED灯的话...

  • LED灯控制

    前言 最近做了一个调节LED灯的demo, 实现的效果是发送给云端的是R,G,B这三个值, App页面上显示值是H...

  • 树莓派按键控制LED灯

    上一次学习了用树莓派控制一个led灯。 那么如何用按键来控制led灯呢? 就是说有一个按键,我们按下的时候led灯...

网友评论

    本文标题:2019-09-24单片机控制第一个外设-LED灯

    本文链接:https://www.haomeiwen.com/subject/uzbbuctx.html