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语言底层设计到系统架构评估:软件架构知识体系全景
学习·系统架构·ai写作
jiayong232 小时前
面试中遇到不熟悉问题的应对策略深度解析
面试·职场和发展
JAVA社区3 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
村口张大爷4 小时前
05 — 分层架构与依赖倒置
后端·架构·系统架构
Bluetooth7304 小时前
c语言一维数组
c语言
QiLinkOS5 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
过期动态7 小时前
【LeetCode 热题 100】接雨水
java·数据结构·算法·leetcode·职场和发展
一抹晴空7 小时前
Keil MDK AC6 compiler编译报错,与AC5区别
c语言·arm开发·单片机
Raink老师7 小时前
【AI面试临阵磨枪-086】什么是 AI Agent Skill?与传统 Function Calling、Tool 的区别?
人工智能·面试·职场和发展
czhaii9 小时前
单片机伺服电机加减速控制子程序
c语言·单片机