51_蓝桥杯_led流水灯

一 原理图分析

二 三八译码器工作原理

三八译码器:3个输入控制8路互斥的低电平有效输出。

|-------|-------|-------|--------|
| C | B | A | 输出 |
| 0 | 0 | 0 | Y0 |
| 0 | 0 | 1 | Y1 |
| 0 | 1 | 0 | Y2 |
| 0 | 1 | 1 | Y3 |
| 1 | 0 | 0 | Y4 |
| 1 | 0 | 1 | Y5 |
| 1 | 1 | 0 | Y6 |
| 1 | 1 | 1 | Y7 |

三 锁存器工作原理

锁存器:当使能端LE为高时,输出同步,LE为低时,输出数据被锁存。

|--------|--------|--------|--------|
| OE | LE | 输入 | 输出 |
| 1 | 1 | L | L |
| 1 | 1 | H | H |
| 1 | 0 | X | H |

四 或非门原理

|--------|--------|--------|
| 输入 | 输入 | 输出 |
| A | B | C |
| 1 | 1 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 1 |

五 代码

复制代码
#include "reg52.h"

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

void Delay(unsignde int t)
{
  while(t--);
  while(t--);
}//实现延时功能的函数

void liushuideng()
{
  unsigned char i;//定义char型变量
  HC138_C = 1;
  HC138_B = 0;
  HC138_A = 0;//输出Y4
  
  for(i=0;i<3;i++)
  {
   P0 = 0x00;//实现了全亮
   Delay(60000);
   Delay(60000);//延时
   P0 = 0xff;//实现了全灭
   Delay(60000);
   Delay(60000);//延时
  }由全灭到全亮,循环3次

   for(i=0;i<=8;i++)
  {
   P0 = 0xff<<i;//实现了由全灭到全亮
   Delay(60000);
   Delay(60000);//延时
  }实现了由全灭,再逐个点亮
  
   for(i=0;i<=8;i++)
  {
   P0 = 0x00<<i;//实现了由全亮到全灭
   Delay(60000);
   Delay(60000);//延时
  }实现了由全亮,再逐个灭

}//实现了又全亮到全灭,再逐个亮起,再逐个灭掉的函数功能

void main()
{
  
 while(1)
{
  liushuideng();
}
相关推荐
晨非辰1 小时前
#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
c语言·开发语言·经验分享·学习·visual studio
嫣语岁月2 小时前
【BMS电池管理】基于BQ76920与STM32的BMS设计开发
c语言·vscode·stm32·单片机·嵌入式硬件
汉克老师5 小时前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(5、机甲战士)
c++·算法·蓝桥杯·01背包·蓝桥杯c++·c++蓝桥杯
PAK向日葵7 小时前
【C/C++】面试官:手写一个memmove,要求性能尽可能高
c语言·c++·面试
Jared_devin7 小时前
二叉树算法题—— [蓝桥杯 2019 省 AB] 完全二叉树的权值
数据结构·c++·算法·职场和发展·蓝桥杯
roman_日积跬步-终至千里8 小时前
【系统架构设计(24)】大型网站系统架构演化:从单体到分布式的技术进阶之路
分布式·系统架构
siy23338 小时前
[c语言日记] 数组的一种死法和两种用法
c语言·开发语言·笔记·学习·链表
和光同尘@9 小时前
66. 加一 (编程基础0到1)(Leetcode)
数据结构·人工智能·算法·leetcode·职场和发展
roman_日积跬步-终至千里11 小时前
【系统架构设计(26)】系统可靠性分析与设计详解:构建高可用软件系统的核心技术
系统架构
rit843249911 小时前
基于灰狼算法(GWO)优化支持向量回归机(SVR)参数C和γ的实现
c语言·算法·回归