蓝桥杯-单片机组基础1——LED流水灯

蓝桥杯单片机组备赛指南请查看 :本专栏第1篇文章

本文章针对蓝桥杯-单片机组比赛开发板所写,代码可直接在比赛开发板上使用。

型号:国信天长4T开发板(绿板),IAP15F2K61S2(使用4T蓝板也可以完美兼容,与绿板差别不大)


编程目的

通过代码实现功能:开发板流水灯展示。

如图所示最左边S4~S7位四个独立按键,上方L1~L为八位LED灯。

原理图介绍

1.八位LED灯原理图

(截取自SCH_硬件原理图V30.pdf)

其中,最左边P7~P0为单片机引脚,是我们进行编程的直接控制对象。

74HC573为8位锁存器,其OE端与GND端接低电平,LE端输入为Y4C端口并接一个小电容接地。当Y4C为低电平时,锁存器工作在锁存模式,即表示输入端D7~D0输入信号是多少,输出端Q7~Q0就对应输出多少并锁住信号量。在编程时,应当先设置Y4C端口的输入信号量,确定锁存器工作模式。

L8~L1为对应P0^7~P0^0的八位发光二极管(LED),分别通过1k的电阻接到公共端高电平,为共阳极连接。编程时,对P0任意一个端口赋值为0时都可以使得对应LED亮,赋值1时使对应LED灭。

74HC573真值表如下:(OE:Output Enable,LE:Latch Enable)

输入输出
OELEDQ
0111
0100
00Xno change
1XXZ(高阻态)

Y4C端口短路原理图

(截取自SCH_硬件原理图V30.pdf,不得不说V30版的原理图画的真丑)

这是一块74HC138译码器,互斥低有效输出(互斥表示只有一位有效,低有效表示有效位为低电平,其余位为高电平),作用为将A2~A0输入的二进制编码解码为一位十进制位,例如输入A2~A0为100,对应十进制为4,则Y4位被激活输出低电平,其余Y7~Y5输出高电平。编程时,需要先通过设置单片机引脚P2^7~P2^5设置Y4输出为低电平,从而设置74HC573为锁存模式,进而通过设置P0^7~P0^0引脚值控制LED亮灭。

74HC573真值表如下:

编程代码

        编程时,先设置单片机引脚P2^7~P2^5为100,设置Y4输出为低电平,从而设置74HC573为锁存模式,然后通过设置P0^7~P0^0引脚值控制LED亮灭。

        由于51单片机内部资源空间较小,因此循环变量可采用unsigned char类型,该类型占用两个字节,共16为,可实现256次以内的循环。

#include <REGX52.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 ( )
{
	//设置138译码器为Y4有效,输出低电平
	HC138_A =0;
	HC138_B =0;
	HC138_C =1;

	//通过两个循环实现左右流水灯显示
	for ( i=0 ; i<=8 ; i++ )
	{
		P0=0xff << i;	//移位操作采用的是末尾补零,所以要用0xff
		Delay( 6000);
	}
	for ( i=0 ; i<=8 ; i++ )
	{
		P0=~(0xff << i);
		Delay(6000);
	}
}

void main ()
{
	while ( 1 )
	{
		LEDrunning();
	}
}

由于引脚冲突,烧录后蜂鸣器会一直叫,绿板按几次下载按键后蜂鸣器就会停止。

硬件相关

4T开发板采用的LED封装为:

但其原理与我们常见的发光二极管相同:

当我们把LED的阳极全部连接到一起,就是共阳极连接:

总览概括

难点在于既要设置74HC138译码器,又要设置74HC573锁存器,需要着重记忆二者区别。


  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值