我是靠谱客的博主 清脆小伙,最近开发中收集的这篇文章主要介绍单片机蓝桥杯——LED,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        在开始之前,我们首先需要对两个芯片——74HC138和74HC573进行学习。我们都知道单片机可用的IO口是有限的,但是需要控制多个器件,如LED、数码管、独立按键、矩阵键盘以及蜂鸣器继电器等,要想实现对这多个模块的控制,就需要对IO口进行扩展。单片机蓝桥杯的板就是通过74HC138和74HC573两个芯片实现的。

刚开始学习时,可以观看小蜜蜂老师的讲解视频,我觉得讲的还是很细致的

【小蜜蜂笔记】蓝桥杯大赛-单片机设计与开发基础技能与进阶强化教程_哔哩哔哩_bilibili

74HC138译码器

三八译码器,三个输入控制八路互斥的低有效输出。

引脚图:

 功能表:

C(P2.7)    B (P2.6)    A(P2.5)

1                    0                   0                 Y4为低(有效)

1                    0                   1                 Y5为低(有效)

1                    1                   0                 Y6为低(有效)

1                    1                   1                 Y7为低(有效)

        此74hc138译码器片选四个74hc573,所以只使用Y4、Y5、Y6、Y7即可。再通过74hc02(或非门),为138译码输出提供反相。即当Y4为0时,输出Y4C为1,便于后续74hc573锁存器的控制

74HC573锁存器

功能表

电路连接图:

        通过控制P2.7、P2.6、P2.5三个引脚的电平,便可以控制输出哪一位有效,进而去控制不同模块。例如,分别给P2.7、P2.6、P2.5引脚1、0、0,便可以控制Y4为有效,此时Y4为低电平。经过74hc00反相后变为高电平,此时输出的Y4C为高电平。在电路图中Y4C又连接着LED所对应的74HC573锁存器, 由上图可知,当Y4C为高电平时,输出Q1~Q7与输入D1~D7相同,此时P0口直接控制LED,为0点亮,为1熄灭。当Y4C为低电平时,数值被锁存起来,输出的Q1~Q7不变,即不再随着输入而变化。

代码实现:

//*******************引脚为0时,对应LED亮

#include"reg51.h"

sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;

void Delay (unsigned int t)//简单的延时函数
{
	while(t--);
	while(t--);
}

void Init74HC138(unsigned char n)
{
	switch(n)
	{
		case 4://Y4有效,P0直接控制LED
			HC138_A=0;
			HC138_B=0;
			HC138_C=1;
			break;
//**当Y5、Y6、Y7有效时,控制其他器件,这些我们下一章继续学习
//		case 5://Y5有效,P0控制蜂鸣器、继电器
//			HC138_A=1;
//			HC138_B=0;
//			HC138_C=1;
//			break;
//		case 6://Y6有效,P0控制数码管位选
//			HC138_A=0;
//			HC138_B=1;
//			HC138_C=1;
//			break;
//		case 7://Y7有效,P0控制数码管段选
//			HC138_A=1;
//			HC138_B=1;
//			HC138_C=1;
//			break;			
	}
}

//******简单的流水灯子程序******
void LEDRuning()
{
	unsigned char i;
	
//全灭
	P0=0xff;
	Delay(90000);
//全亮
	P0=0x00;
	Delay(90000);
//依次一个个点亮
	P0=0x01;
	for(i=0;i<8;i++)
	{
		P0 <<= 1;
		P0=~P0;
		Delay(9000000);
			P0=~P0;
	}
}

//*************主函数************
void main()
{
	Init74HC138(4);
	while(1)
	{
		LEDRuning();
	}
}

最后

以上就是清脆小伙为你收集整理的单片机蓝桥杯——LED的全部内容,希望文章能够帮你解决单片机蓝桥杯——LED所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部