LED灯在单片机中使用几率很高,作为大学生,学习单片机这门课程的第一课,就对LED灯有所了解,在我们的开发板上面也需要我们进行系统性的操作才能点亮LED灯。

下图为我们所用的单片机开发板:

结合例题,在开发板上面进行实际操作时,需要了解74HC138译码器(三八译码器)、74HC573锁存器、74HC02(或非门)。

题目要求:首先让八路LED指示灯闪烁三遍后熄灭,接着依次点亮LED灯,随后依次熄灭LED灯。程序循环实现上述功能。

        首先了解74HC138译码器(三八译码器):4HC138译码器可接受3位二进制加权地址输入(A0, A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。

上图中的A B C 为三个输入端,根据三个输入端可以确定八个输出端输出的高低电平。

为了方便,我们可以这样来确定哪个输出端为低电平经过与非门进行选择高低电平,如下表格所示:

C B A 输出低电平的输出端
0 0 0 Y0
0 0 1 Y1
0 1 0 Y2
0 1 1 Y3
1 0 0 Y4
1 0 1 Y5
1 1 0 Y6
1 1 1 Y7

我们要让Y4C得到低电平,WR为低电平,经过与非门,得到高电平1。

74HC02(与非门)中的逻辑很简单,在此不做介绍。

最后是74HC573锁存器:

74HC573是拥有八路输出的透明锁存器,输出为三态门,是一种高性能硅栅CMOS器件。

SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的,加上拉电阻他们能和LS/ALSTTL输出兼容。

OE非为片选引脚,为高电平,因此74HC573是开启的,LE为选择引脚,得到刚得到的Y4C的高电平,寄存器开始工作,进行数据传输,当LE为低电平时,八个输入端无论如何变动,八个输出端不会受到任何影响,开始寄存数据的功能。

以上的介绍就是写代码的整体思路。

代码如下:

#include <REG52.H>
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
unsigned char i;
void delay(unsigned int t)    //延时函数
{while(t--);while(t--);
}
void LEDrunning()    //LED进行闪烁操作函数
{HC138_C = 1;    //令Y4为低电平进而使Y4C为高电平,则选择引脚LE为高电平HC138_B = 0;HC138_A = 0;for( i = 0; i < 3; i++)    //八个LED全亮并闪烁三次{P0 = 0x00;delay(60000);delay(60000);P0 = 0xff;delay(60000);delay(60000);}for( i =1; i<=8; i++)    //依次点亮{P0 = 0xff << i;delay(60000);delay(60000);}for( i =1; i<=8; i++)    //依次熄灭{P0 = ~(0xff << i);delay(60000);delay(60000);}
}
void main()    //主函数
{while(1){LEDrunning();}
}

单片机--LED灯的基本操作相关推荐

  1. 52单片机led灯闪烁c语言程序,单片机LED灯闪烁程序

    原标题:单片机LED灯闪烁程序 点亮 小灯的程序我们第二课完成了,就是让 LED = 0.熄灭小灯的程序也很简单,就是 LED = 1.点亮和熄灭都会了,那么如果我们在亮和灭中间加个延时,反复不停的点 ...

  2. 【TB-02模组专题⑤】微信小程序通讯TB02 模块控制 STM32 单片机LED灯

    本<安信可ble mesh蓝牙模组TB-02模组专题>系列博客学习由官方博客 CSDN安信可博客 潜心所力所写.如有不对之处,请留言,我们及时更改. 1.BLE MESH开发环境linux ...

  3. 单片机--LED灯基础知识

    单片机-LED灯基础知识 1.有两种编程方法: (1)并行操作:P1=0X## -在LED灯编程中,数字1代表灯关,0代表灯亮,P1代表所有LED灯. -可以通过2进制数转16进制数来控制灯的开关,前 ...

  4. Proteus:单片机LED灯一秒钟的亮灭模拟

    题目概述: 单片机LED灯一秒的亮灭. 编程: #include<reg52.h> sbit LED=P0^0; unsigned char num=0; void main() { LE ...

  5. 单片机———LED灯(Proteus和KeilC51)

    单片机----LED灯(Proteus和KeilC51) LED灯的简单介绍 练习 led灯两灯闪烁 8盏花样流水灯 1357,2468轮流点亮 从下到上两遍,从下到上两遍,中间到两头两遍 两边到中间 ...

  6. c51单片机led奇数偶数亮_单片机LED灯花式闪烁电路图及程序

    单片机LED灯花式闪烁电路图及程序 在点亮LED灯的程序中我们知道开发板上的LED灯是接到高电平的,如果单片机引脚输出电平,LED导通发亮.如果单片机引脚输出高电平,LED截止熄灭.知道这个原理后我们 ...

  7. STC89C52单片机 LED灯闪烁

    LED闪烁 循环语句 循环语句 (1)while(条件表达式){语句} 只有当 while 后面圆括号内条件表达式的值为真时,程序才会重复执行花括号内语句,当条件表达式为假时则不执行花括号内语句. ( ...

  8. 单片机led灯闪烁实验总结_51单片机实现LED流水灯

    流水灯 用51单片机实现点亮1个2个3个--8个流水灯.我们选择P1口作为控制端口,输出0时LED灯点亮.流水灯实现步骤如下: 点亮第一个LED灯,对P1口赋值为" 1111 1110&qu ...

  9. 3.1 51单片机-LED灯模块

    实验平台采用: 普中科技HC6800_V30 3.1 LED灯模块 3.1.1 LED原理图 图3-1-1 LED灯原理图 LED灯模块是通过74573锁存器芯片与单片机IO口连接,并与数码管共用IO ...

最新文章

  1. 关于Taptic Engine震动反馈
  2. .NET 6 全新指标 System.Diagnostics.Metrics 介绍
  3. html标签info,HtmlTrInfo 元素
  4. 互联网晚报 | 2月22日 星期二 | 海底捞预告去年最高亏45亿元;奥迪一汽新能源汽车项目启动;英雄互娱更名“英雄游戏”...
  5. 关于numpy mean函数的axis参数
  6. java的vector_Java中 Vector的使用详解
  7. 在python的解释器中使用函数_浅析Windows 嵌入python解释器的过程
  8. 滴滴开源的APM方案Dokit接入
  9. Picsee 1.3.0 (48) 中文版 (可能是最好的图片管理查看工具)
  10. CS217 1_Intro Hardware Accelerators for Machine Learning
  11. ***HDU 3237 - Help Bubu(状压DP)
  12. Linux内核详解与内核优化方案
  13. 解决word无法回退及修改内容不保存问题
  14. plsr matlab,matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
  15. python 哪些比赛-国内数据挖掘比赛有哪些?
  16. WPS转换成PDF在线
  17. 计算机院校看重保研er的本科背景吗?
  18. Java程序百钱百鸡
  19. 前端播放rtmp协议的视频流文件
  20. RCA清洗系统及清洗液自适应预测温度控制

热门文章

  1. 微信公众平台开发(十) 消息回复总结——用其xml模板
  2. UVA 12437 Kisu Pari Na 2
  3. 微信小程序开店这么火,怎么挑选第三方小程序服务商
  4. matlab分割血管图片,MATLAB 图像处理《数字图像处理》作业不会做,谢哈!用MATLAB将一幅含有血管的医学图像进行处理,满足下面的要求:...
  5. 手游天涯明月刀全门派PVE特色分析
  6. HDU-1427-速算24点
  7. 脚本小子最爱的20款黑客工具
  8. 目标检测00-09:mmdetection(Foveabox为例)-源码无死角解析(2)-模型构建总览
  9. 1.并发编程多进程(理论部分)
  10. 如何管理和维护算法族?只需知道策略模式