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

蓝桥杯单片机开发板LED模块化编程,第1张

锁存器,译码器,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 //头文件

void led_bright(unsigned char led_b);

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1323974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存