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();
}
相关推荐
杜子不疼.5 小时前
结构体的嵌套问题
c语言·c++
一ge科研小菜鸡6 小时前
编程语言的演化与选择:技术浪潮中的理性决策
java·c语言·python
永夜的黎明7 小时前
【二进制安全作业】250616课上作业1-栈溢出漏洞利用
c语言·汇编·安全
缘友一世7 小时前
创业知识概论
经验分享·笔记·职场和发展·创业创新
天才测试猿7 小时前
软件测试环境搭建及测试过程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
hwj运维之路8 小时前
大数据系统架构实践(一):Zookeeper集群部署
大数据·zookeeper·系统架构
范纹杉想快点毕业9 小时前
Qt构造函数详解:布局与快捷键实战
c语言·开发语言·数据库·c++·qt·命令模式
Memories off10 小时前
小论文投稿记录
职场和发展
正旺单片机11 小时前
单片机3种按键程序消抖方法
c语言·单片机·嵌入式硬件
int型码农14 小时前
数据结构第八章(六)-置换选择排序和最佳归并树
java·c语言·数据结构·算法·排序算法