【蓝桥杯单片机 控制LED灯电路经典程序】(2)

【蓝桥杯单片机 控制LED灯电路经典程序】(2)
接上篇:上一篇(1)中只介绍了控制LED灯的电路,138译码器打通573锁存器,锁存器再控制八路LED灯。这篇主要介绍如何编写代码控制LED灯的亮灭。搞懂前面两篇内容,也就相当于简单入门了。
比赛时用的是keil uv4编译软件和stc-isp烧录软件,它们的使用这里不多讲了。

一、在keil中写好程序基本构架

#include"reg52.h"  //包含头文件
void Delay(unsigned int t)  //延时t毫秒
{
	unsigned char i, j;
	for(i = t; t > 0; t--)
		for(j = 110; j > 0; j--);
}
void main()  //主函数
{
	while(1)  //死循环
	{
	}
}

二、38译码器程序
上篇(1)说过,要使得控制LED灯的锁存器打通,就要让Y4输出低电平,也即让P25=0,P26=0,P27=1。
在这里插入图片描述在程序上是这样表示的:

sbit HC138_A = P2^5;  //定义译码器中ABC所在引脚
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;

HC138_C = 1//给CBA赋值
HC138_B = 0;
HC138_A = 0

三、573锁存器程序控制LED灯

在这里插入图片描述
上一个程序让Y4C输出了高电平,打通了锁存器,则Dx与Qx电平特性一致。低电平,灯亮;高电平,灯灭。下面是让LED一直闪烁的程序:

注:0x00二进制为00000000,所以P0=0x00就是一次性给P20–P27都赋值为了0; 0xff类似,后面的十六进制数都是要转化为2进制来理解的。

P0 = 0x00;  //让P20--P27输出低电平
Delay(1000);
P0 = 0xff;  //让P20--P27输出高电平
Delay(1000);

将程序写完整是这样的:
在这里插入图片描述

发布了2 篇原创文章 · 获赞 0 · 访问量 2001

猜你喜欢

转载自blog.csdn.net/qq_45382733/article/details/104056091