蓝桥杯单片机开发板LED模块化编程

锁存器,译码器,LED电路,LED模块化编程。

一.锁存器(M74HC573MIR)

在这里插入图片描述
锁存器可以理解为一个开关,它可以控制左侧的数据是否到达右侧。如果我们将左侧数据透到右侧,再关闭锁存器,那么我们改变P0的值,也不会影响LED的显示。

M74HC573MIR由D锁存器组成,而研究D锁存器,要先研究基础的RS锁存器

1.RS锁存器

在这里插入图片描述

当R=S=0,RS锁存器就具有锁住数据的特性。

2.D锁存器

在这里插入图片描述

EN = 0时,R和S都输入0,输出保持不变。

EN = 1时,如果D是1,R是0,S是1,Q是1;如果D是0,R是1,S是0,Q是0。

总之,EN = 0,数据锁住;EN = 1,数据透过去。

3.M74HC573MIR

在这里插入图片描述

在这里插入图片描述
当LE为高电平时,锁存器可以将数据从左侧透到右侧,LED显示不受P0口控制;当LE为低电平时,锁存器将数据锁住,LED显示不受P0口控制。

在这个图中,LE通过Y4C控制,而Y4C要通过138译码器控制。

二.74HC138译码器

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

在这里插入图片描述

在这里插入图片描述

74HC138译码器通过3个输入可以控制8个输出,来控制锁存器的开断,这样可以通过一种I/O口(P0)就控制多种外设,节约I/O口。

三.LED电路

1.LED原理

在这里插入图片描述

2.LED电路

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.LED编程

(1).编程原理

先通过138译码器打开锁存器,然后给P0口值,再关闭锁存器,将数据锁住。

(2).LED的模块代码
//led.c 头文件部分
#include"led.h"

void led_bright(unsigned char led_b)
{
	P0 = ~led_b;//P0是1的时候LED亮
	P2 = P2 & 0X1F | 0X80;//将P27赋值为1,打开Y4C,可以将P0数据传输给LED
	P2 &= 0X1F;//将LED对应锁存器关闭

}
//led.h头文件部分
#include <STC15F2K60S2.H>//头文件

void led_bright(unsigned char led_b);
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值