38译码器:通过3位输入控制输出8位中的一位,起到一个片选的作用

原理图中的ABC对应的是P25.26.27口 输出8位中 目前只用到了Y4567

通过25.26.27口 使得Y4567位低电平,那么对应的27(C)26(B)25(A)口十进制数分别是4567

Y4:100(CBA)Y5:101,Y6:110 Y7:111 因为原理图是ABC这按CBA排序好理解

例:如果要给Y6输出一个低电平对应的十进制是6 二进制则为110 那么就是C(1)B(1)A(0)

74h573锁存器:透明的锁存器不会进行翻转:当LE给高电平时不会进行所存,来的是什么数据就输出什么数据,LE为低电平时不工作,不会连通

P0口对应的是led灯,但不能直接给低电平进行点亮 首先要将74H138译码器的Y4输出一个低电平,经过或非门变成高电平然后使能74HC357的LE打通锁存器,然后P0给低电平 点亮led灯

步骤:给锁存器的P252627定义变量 然后对变量赋值(C(1)B(0)A(0)) 输出低电平经过反相器(Y4)打开相应的锁存器,定义一个延时函数(unsigned int i) 一般定义两个while的死循环(t=60000), 然后用二进制对每个二极管赋值默认为高电平,点亮为低电平(0x00),高电平为(0xff). 跑马灯需要进行一位操作可以利用for循环将每个变量进行一位(P0=(0xff<<i)) 然后可以进行移位操作

总结: 74h138选择或非门的通道可以直接用一个函数封装起来,然后进行操作,led口是P0口,且是共阳的,点亮需要低电平,对于跑马灯的实现利用for循环进行移位操作。

看代码总结:点亮led P0=0x00,关闭P0=0xff, 跑马灯是 P0=0xff<<i;(移动一位自动补0)

#include <STC15F2K60S2.H>void select138(unsigned char n){switch(n){case 4:P2=(P2&0x1f) | 0x80;break;case 5:P2=(P2&0x1f) | 0xa0;break;case 6:P2=(P2&0x1f) | 0xc0;break;case 7:P2=(P2&0x1f) | 0xe0;break;}}void  delay(unsigned int i){while(i--);while(i--);}unsigned char i;void led(){select138(4);for(i=0;i<3;i++){P0=0x00;delay(10000);wwdelay(10000);P0=0xff;delay(10000);delay(10000);}for(i=1;i<=8;i++)  //  一位一位的点亮 变量的定义是1-8{P0=0xff<<i;delay(10000);delay(10000);}for(i=1;i<=8;i++){P0=~(0xff<<i);delay(10000);delay(10000);}}void main()
{while(1){led();}
}

蓝桥杯led流水灯实现(38译码器和锁存器的使用)相关推荐

  1. 单片机蓝桥杯--LED呼吸灯

    在CT107D单片机综合训练平台实现LED的基本控制和其他单片机开发平台不一样,不单单是控制几个LED实现跑马灯这么简单.因为在这个平台上要掌握74CH138译码器和74HC573锁存器的使用才能实现 ...

  2. 51单片机C语言led流水灯及数码管实现秒表

    51单片机C语言练习题 单片机型号 普中科技的 led练习题 led小灯闪烁 #include<reg52.h> sbit LED = P0^0; void main() {unsigne ...

  3. 微型计算机系统与接口流水灯,单片机的LED流水灯系统设计2.doc

    单片机的LED流水灯系统设计2 学号:0809111030 2010 - 2011学年 第2学期 <单片机应用技术> 课 程 设 计 报 告 题 目: 单片机的LED流水灯系统设计 专 业 ...

  4. STM32Cubemx的安装及用寄存器HAL库完成LED流水灯程序

    目录 一.STM32CubeMx安装 (一)简介 (二)下载地址 1.官方下载地址 2.网盘下载地址 二.STM32CubeMX安装过程 三.HAL库安装 四.HAL库实现LED流水灯 (一)新建项目 ...

  5. led流水灯c语言数组程序,LED流水灯程序 一维数组写法

    LED流水灯程序 一维数组写法 /*********** (C) COPYRIGHT 201 2************ * 程序作者: 蓝雨(QQ:983931459 ,Email:chenheng ...

  6. STM32F103C8T6以寄存器方式借助面包板搭建电路点亮LED流水灯详解

    文章目录 一.寄存器原理 1.什么是寄存器 2.如何访问寄存器 二.GPIO端口的初始化设置 1.时钟配置 (1)找到时钟使能寄存器映射基地址 (2)找到端口偏移地址以及对应端口所在位置 (3)使能对 ...

  7. FPGA第一天的学习-LED流水灯

    FPGA第一天的学习-LED流水灯 每一次玩一块新的开发板我们都会首先做出一个流水灯,所以我也做出一个流水灯并且结合网上教程和自己的理解来试着将代码理解得更透彻. 1.硬件部分 由原理图我们可以知道时 ...

  8. 【嵌入式04】用寄存器HAL库完成LED流水灯程序

    目录 一.原理学习 1.寄存器映射原理 2.GPIO端口的初始化设置步骤 二.LED流水灯 1.程序设计思路 2.寄存器方式编程实现 3.HAL库编程实现 4.软件仿真 三.总结 四.参考链接 一.原 ...

  9. STM32F103寄存器方式点亮LED流水灯

    实验要求:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB.GPIOC.GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒.1)写出 ...

  10. 【嵌入式基础】用C语言编程、寄存器实现LED流水灯程序;stm32CubeMX+Keil使用HAL库点亮流水灯

    本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤.利用C语言编程和寄存器点亮流水灯以及stm32CubeMX+Keil使用HAL库点灯 目录 一.STM3 ...

最新文章

  1. Transformer-LS霸榜ImageNet,输入长度提升三倍!极度压缩参数
  2. java task多线程_JAVA语言-多线程实现的四种方式
  3. 倒排索引优化 - 跳表求交集 空间换时间
  4. mysql 存储过程代码_MySQL存储过程及常用函数代码解析
  5. 去除Vue在WebStorm中报命名空间的错误
  6. Linux之find + sed组合替换命令
  7. 关于Unity中DOTween插件的使用(专题一)
  8. java.text.MessageFormat 专题
  9. j2me模拟器自动退出的原因
  10. RF接口测试设计时需要考虑的事(robotframework框架)
  11. SwitchHosts for Mac(mac hosts修改工具)
  12. CAD图形的缩放——放大镜
  13. ddr4 dqs 频率_一张图看懂如何选择DDR4内存频率和容量
  14. STM32F4+W25Q64实现一个U盘
  15. 使用ffmpeg合并多个mp4文件
  16. 拆书帮第14期训练营——作业一:如何进行有目的的练习
  17. SATA Link Power Management的partial和slumber power state区别
  18. ❤️微信小程序 云开发 教程合集(视频+图文)免费❤️
  19. dw常用标签_Dreamweaver常用工具栏介绍
  20. Revit插件技巧:出图插件一键“洞口标注”和一键“洞口定位”

热门文章

  1. 深度学习非自回归语音合成与自回归语音合成对比
  2. 【洋哥聊运营】5点讲透增长
  3. 梅特勒托利多xk3124电子秤说明书_梅特勒托利多电子称设置方法
  4. java代码混淆工具
  5. html设置图片高度宽度自适应屏幕,css让图片自适应屏幕大小的方法
  6. cad转dxf格式文件太大_DWG格式怎么转换成DXF格式?实测好用的转换工具都在这了...
  7. 用分组编码解决算术编码的精度要求问题
  8. 简单的c语言游戏编程打地鼠,少儿创意编程scratch初级游戏--打地鼠
  9. img文件制作linux启动u盘,用syslinux制作简单U盘启动盘教程
  10. 图像标注工具labelImg安装方法(win10 + Python3.7)