当前位置: 首页 > news >正文

蓝桥杯51单片机设计

#hc573问题#

一,问题发现:

在初始化hc573后,蜂鸣器与led灯是关闭状态的

当执行hc573(4)后,蜂鸣器响起,继电器打开

原因查询:

当在执行hc573(4)后,LSA,LSB,LSC三个引脚的数字发生变化

从101变成100,灯执行,却蜂鸣器继电器变化

问题解决:

LSC=1   LSB=0  LSA=0

P2: 111 7通道(打开)

LSC=1;

P2: 111 7通道(打开)

LSB=0;

P2: 101 5通道(打开) 蜂鸣器响起,继电器打开

LSA=0;

P2: 100 4通道(打开) 灯通道打开

在111后面,执行一次000,再执行100,就不会出现101

在display()函数最后,在数码管显示最后加一个hc573(0){LSA=LSB=LSC=0

(因为先进行7通道,7通道为数码管显示通道)

但也只是治标不治本

治本方法:直接全部赋值

P2=0x80:1000 0000 (4通道)

P2=0xa0:1010 0000 (5通道)

P2=0xc0:1100 0000 (6通道)

P2=0xe0:1110 0000 (7通道)

和1&是保留效果,和0&是清除效果

可以先把高三位清0,低五位保留,再利用或运算

与1|是保留,与0|是清除

二,问题发现

当执行上面的问题解决方法后发现,led灯会微微发亮

原因查询:

当执行hc573初始化后,再执行led的相关设置,hc573(4)时,灯有微微亮起

LSA LSB LSC 三个引脚的数字变化从111编程100,灯执行

问题解决:

P2:1111 1111

P0:1100 0000

LSC=1;

P2:1111 1111

P0:1100 0000

LSB=0;

P2:1011 1111

P0:1100 0000

LSA=0

P2:1001 1111

P0:1100 0000(灯L1~L6亮)

在111后面,执行一次000,就可以

在消隐函数的最后放入000模式

hc73(7)

P0=smg_number[]

hc573(0){P2&0x1f}

P0=0xff(关灯)

但解决方法治标不治本

最优解决方法

找出问题:

锁存器运作过程:

开锁存器

P0赋值

开锁存器

P0赋值

……

这样上一个P0值会影响下一个锁存器的打开方式

所以为我们的上一个解决方法是

开锁存器

P0赋值

关锁存器

P0=0xff全部关闭

开锁存器

……

这种发放要考虑好多因素

新的结构:

P0赋值

开锁存器

关锁存器

P0赋值

开锁存器

关锁存器

……

这种结构,对于锁存器无影响

初始化函数

数码管初始化函数

LED初始化函数

http://www.lqws.cn/news/575947.html

相关文章:

  • 青少年编程与数学 02-022 专业应用软件简介 04 矢量图形设计软件:CorelDRAW
  • 华为云Flexus+DeepSeek征文 | Word办公软件接入华为云ModelArts Studio大模型,实现AI智能办公
  • 【Unity】MiniGame编辑器小游戏(七)贪吃蛇【Snake】
  • Rust C++ OpenCV kafka-rs实践
  • 【Wireshark】高级过滤技巧精讲
  • 【c/c++3】类和对象,vector容器,类继承和多态,systemd,stdboost
  • 【c/c++1】数据类型/指针/结构体,static/extern/makefile/文件
  • 利用deepseek学术搜索
  • HTTP中常见的Content-Type
  • [Android]ANR的线程
  • Redis Cluster Gossip 协议
  • C++高效结合主流工具:现代系统底层动力
  • 机电一体化论文写作实战指南:从创新设计到工程验证的完整路径
  • 面试复盘6.0
  • mybatis-plus从入门到入土(一):快速开始
  • Windows安装虚拟机、ROS2
  • 实战四:基于PyTorch实现猫狗分类的web应用【2/3】
  • springboot校园新闻网站
  • 如果将Word里每页的行数设置成50行
  • STM32——HAL库总结
  • ECMAScript 2019(ES2019):数组与对象操作的精细化升级
  • PYTHON从入门到实践10-文件操作与异常
  • MySQL-复合查询
  • 推荐几本关于网络安全的书
  • 暴力风扇方案介绍
  • 【学习】《算法图解》第八章学习笔记:平衡树
  • docker的离线安装
  • [数论](a % MOD + b % MOD) % MOD = (a + b) % MOD
  • 【系统分析师】高分论文:论软件开发模型及应用
  • 引入的js文件里有过引用vue,在外侧仍需再写一次吗