【ct107d】流水灯程序设计

控制流水灯程序

在ct107d原理图上找到对应的led模块
该图是led的模块

这里能发现这个led灯的控制并不像其他单片机开发平台的一样,不单单是控制几个LED实现流水灯这么简单。因为在这个平台上要掌握74CH138译码器和74HC573锁存器的使用才能实现对LED的基本控制。因此,这个单元的重点不是LED的控制,而是掌握译码器和锁存器的基本使用。

1、74HC138:三八译码器
用非专业的语言来解释,这个芯片实现的功能就是用3个输入引脚,实现8个输出引脚,而且这个八个输出引脚中只要一个低电平。对于这个芯片,你不需要搞清楚它的内部结构和工作原理,只需要把真值表记住就行了。注意:是要记住

在这里插入图片描述

2、74HC573:锁存器
用非专业的语言来解释,锁存器就是能够把输出的数据保存住,不会受到输入变化的影响。
573锁存器有20个引脚,D1D8是数据输入端,Q1Q8是数据输出端,LE为锁存控制端。当锁存使能端LE为高时,573的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
简单的说就是,LE为高电平时,Q1Q8输出和D1D8输入是一样的;LE为低电平时,Q1Q8输出不受D1D8输入的变化影响。明白这个就掌握了该锁存器的使用。

3、74HC02:或非门
从电路原理图上可以分析出,单片机的WR引脚或者GND和译码器的Y4引脚作为74HC02的输入。可以通过J13的跳帽选择是WR还是GND作为74HC02的输入。如果译码器的Y4输出低电平,那么74HC02的输出Y4C将为高电平,而该引脚接到74HC573锁存器的LE引脚,这时候锁存器处于数据联通的开放状态,也就是单片机可以控制LED灯。如果单片机不向外设输出数据,或者译码器的Y4没有输出低电平的话,则74HC573处于锁存状态,即单片机不能控制LED灯。

在这里插入图片描述控制led的基本思路1:打通74HC573锁存器
如何打通:即让74HC573锁存器的第11管脚Y4C为高电平即可

2:那么要找Y4C对应的标号,如原理图所示在74HC02这个或非门中,在此之前要设置单片机的io模式即j13的2,3管脚接地。那么根据或非门若让Y4C输出高电平既让Y4输入低电平即可。
在这里插入图片描述
3:控制Y4的是一个74HC138三八译码器,根据这个译码器的真值表可知,让1,2,3管脚输入L,L,H的电平就能输出低电平的Y4。

步骤:
1:让led的锁存器打通——Y4C为高电平——74HC573锁存器
2:控制或非门中Y4的输入来控制Y4C——74HC02或非门
3:通过控制译码器中p2.5 p2.6 p2.7管脚让Y4输出0——74HC138译码器
即让p2.5 p2.6 p2.7 输出 0 0 1即可控制led的选通此时给p0口送数输出就是po

代码:

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define led P0
uint i;
sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;

void delay(uint a)
{
	while(a--);
}

void ledrun()
{				   
   for(i=0;i<8;i++)
	{
		led=~(0x01<<i);
		delay(50000);
	}
}

void main()
{  
	P2=0XA0;
	P0=0X00;
	P2=0X00;
    HC138_A=0;
	HC138_B=0;
	HC138_C=1;
	P0=0X01;
   while(1)
	{
 	  ledrun();
	}
}

如发现错误请诸位雅正!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你我山巅自相逢y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值