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

Proteus中数码管动态扫描显示不全(已解决)

文章目录

    • 前言
    • 解决方法
    • 后记

前言

我是直接把以前写的 51 数码管程序复制过来的,当时看的郭天祥的视频,先送段选,消隐后送位选,最后来个 1ms 的延时。

代码在 Proteus 中数码管静态是可以的,动态显示出了问题——显示不全,我在网上搜的说是 Proteus 的 Bug,需要先送位选再送段选,我试了试也不行。

image

最后在我多次实验下,终于让我解决了,可以完全显示,而且显示的非常平稳。
image

这里记录一下:

解决方法

Proteus 中不需要任何设置,只需要将消隐的顺序换一下,把消隐放在送完位选之后,然会延时即可。

for(i = 0;i < 8;i++)
{// 送段选NIXIE_TUBE_D = 1;P0 = d_table[i];NIXIE_TUBE_D = 0;// 送位选NIXIE_TUBE_W = 1;P0 = w_table[i];NIXIE_TUBE_W = 0;// 消隐P0 = 0xff;// 延时bsp_DelayMS(1);
}

下面是 51 单片机在晶振为 11.0592MHz 时毫秒级的延时函数,STM32 单片机可以使用 HAL 库自带的HAL_Delay进行延时。

void bsp_DelayMS(uint32_t n)    //@11.0592MHz
{uint8_t data i, j;if (n == 0){return;}while(n--){_nop_();i = 2;j = 199;do{while (--j);} while (--i);}
}

后记

对你有所帮助的话,可以点赞支持一下。

http://www.lryc.cn/news/481453.html

相关文章:

  • 证件照尺寸168宽240高,如何手机自拍更换蓝底
  • 力扣.167 两数之和 II two-sum-ii
  • ipconfig
  • Qt_day3_信号槽
  • 求从2开始的第n个素数
  • 【Android】View—基础知识,滑动,弹性滑动
  • MYSQL中的两种转义操作
  • 力扣题目解析--删除链表的倒数第n个节点
  • Knowledge Graph-Enhanced Large Language Models via Path Selection
  • Android 项目模型配置管理
  • 「QT」几何数据类 之 QSizeF 浮点型尺寸类
  • Essential Cell Biology--Fifth Edition--Chapter one(2)
  • 大语言模型LLMs在医学领域的最新进展总结
  • 云防护单节点2T抗攻击能力意味着什么?
  • IDEA在编译时: java: 找不到符号符号: 变量 log
  • HTML 基础架构:理解网页的骨架
  • FPGA学习笔记#5 Vitis HLS For循环的优化(1)
  • web实操4——servlet体系结构
  • Linux开发讲课48--- Linux 文件系统概览
  • Node.js 模块详解
  • 大厂面试真题-说说tomcat的优缺点
  • Linux系统编译boot后发现编译时间与Windows系统不一致的解决方案
  • WPS Office手机去广高级版
  • Python爬虫基础-正则表达式!
  • Python处理PDF组件使用及注意事项
  • langgraph_plan_and_execute
  • [代码随想录打卡Day8] 344.反转字符串 541. 反转字符串II 54. 替换数字
  • DCN DCWS-6028神州数码 AC 设备配置笔记
  • Go语言的常用内置函数
  • 华为OD技术一面手撕题