【蓝桥杯单片机1】LED指示灯的基本控制

1、74HC138三八译码器

真值表: 

(L:低电平 H:高电平 X:状态未定)
E1、E2、E3是芯片使能控制端口,A0、A1、A2是芯片的数据输入端口,Y0-Y7是芯片的数据输出端口。通过真值表可以知道,只有当使能端口E1、E2为低电平(L)E3为高电平(H)的时候,数据的输出端Y才可以被输入端A控制。在此连接方式下,通过对A0-A2口进行编码(0表示低电平、1表示高电平)就可以控制输出端状态(如下表):

A2A1A0码值选中数据端(默认高电平,选中后变为低电平)
0000Y0
0011Y1
0102Y2
0113Y3
1004Y4
1015Y5
1106Y6
1117Y7

2、74HC573锁存器

 

 74HC573工作原理:

  1.  八路3态输出的非反转透明锁存器。
  2. 当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

真值表:

  3、74HC02或非门

 

4、LED指示灯电路原理

 5、实验代码

/****************************************************************
文件名称:Led的基本控制实验
实验现象:首先让8路LED指示灯闪烁3遍然后熄灭,接着依次
					点亮LED指示灯,最后依次熄灭指示灯,程序循环实现上述功能。
****************************************************************/
#include "STC15F2K60S2.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--);
 }
 
 //led控制程序 
 void led_proc()
 {
	 unsigned char i;
		HC138_A = 0;
		HC138_B = 0;
		HC138_C = 1;
	 
	 //闪烁三次
	 for (i=0;i<3;i++)
	 {
		 P0 = 0x00;				//低电平点亮
		 Delay(60000);
		 Delay(60000);
		 P0 = 0xff;				//关闭LED
		 Delay(60000);
		 Delay(60000); 	 
	 }
	 //依次点亮LED指示灯
	 for(i = 0;i<=8;i++)
	 {
		 P0 = 0xff << i;
		 Delay(60000);
		 Delay(60000); 
	 }
	 	//依次熄灭LED指示灯,将点亮取反即可
	 	 for(i = 0;i<=8;i++)
	 {
		 P0 = ~(0xff << i);
		 Delay(60000);
		 Delay(60000); 
	 }
 }
	 
 void main()
 {
	 while(1)
	 {
		 led_proc();
	 }
 }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值