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

51单片机学习日志-7

现在来学习一下,如何通过单片机控制两个数码管。在上一个实验中,我们通过单片机的多个端口实现了对单个数码管的控制,其中学习了如何通过数组和显示状态的对应关系,来实现对数码管的精确显示。现在如果是要控制多个数码管,又应该如何去做呢,这个时候因为每个数码管都有八个发光二极管,所以其实按照之前的方法都话,就需要通过单片机额的16个端口来进行控制,但是这样的话就会比较浪费资源,毕竟单片机也只有32个端口,那如何能够用更少的端口来控制两个数码管呢,这时候就要用到一种方法叫做动态扫描的方法。这种方法利用的是人眼的视觉暂留效应以及发光二极管的余辉效应,简单来说就是先给其中一个数码管点亮,在短暂延迟之后马上再点亮第二个数码管,同样延迟非常短的时间,点亮下一个数码管,最后返回第一个数码管,最后每一个数码管就会形成间隔点亮的状态,而如果这个间断时间非常小,那么实际上就会形成一直点亮的效果,而这个间断时间其实就和每个数码管点亮时的延迟时间相关,所以可以通过设置这个时间来对这种现象进行调整。下面来看一下电路的连接情况。
截屏2026-03-27 下午2.34.14
可以看到这里有两个数码管,而数码管的相同的驱动端口以并联的方式连接在单片机上,用来接收单片机发送的驱动信息,同样也需要有上拉电阻的作用。除此之外,和前面实验不同的是,两个数码管的阴极并没有直接连接电源负极,而是分别连接在单片机的两个端口,这样就可以通过控制数码管阴极端口的信号来控制数码管的显示,这也是比较关键的地方。因为由于单片机在某个时刻只能控制一个单片机的显示,而此时需要通过对数码管阴极的控制来实现,也就是说,在第一个数码管显示的时候,需要保持两一个数码管阴极接高电平,这样就可以保持另一个数码管是处于关闭状态。这样就能保证在某一时刻,只有一个数码管处于显示状态。然后由于这里用到了额外的两个输出端口,所以在最开始的时候需要对这两个端口进行配置,就像是之前说的那样,由于对于这两个端口来说,是低电平有效的,所以不需要使用上拉电阻就能实现效果。下面来介绍一下,如何通过代码编写来实现。
在原来代码的基础上,增加了对额外的两个端口的配置,之后就可以进行代码的编写了,由于只是显示两个数码管,不需要进行变换,所以不需要通过自增的整形变量来进行变化,只需要实现在数码管上有两个数字能够看就就行了。根据之前的想法,先是要对其中一个数码管显示,延时一段时间,再显示第二个数码管。所以在最开始可以将两个数码管都关闭,到了大循环之后,先对寄存器进行赋值,再打开第一个数码管开关,延时一段时间后关闭,之后对寄存器进行赋值,注意这时是显示第二个数码管,再打开第二个数码管开关,延时一段时间,再关闭,接着进入第二次循环,所以的话,就可以不断循环,最后达到理想效果,下面是代码部分。
截屏2026-03-27 下午2.54.39
截屏2026-03-27 下午2.54.50
截屏2026-03-27 下午2.54.59

http://www.jsqmd.com/news/544501/

相关文章:

  • 别再死磕VGG了!用PyTorch从零搭建ResNet-18,手把手教你理解残差连接(附完整代码)
  • 多摄像头视觉三维定位与轨迹跟踪系统关键技术研究与工程化应用
  • 数电课设实战:从555定时器到74LS190,手把手搭建一个密码锁系统
  • 20254127 2025-2026-2 《Python程序设计》实验1报告
  • LivePortrait企业级肖像动画部署方案:从架构设计到生产环境性能调优
  • Ubuntu双网卡同时上网:有线+无线保姆级配置指南(附netplan实战)
  • MiniCPM-V-2_6模型蒸馏实践:从Qwen2-7B到轻量级适配版本迁移
  • 4.高精度计算
  • 【生产环境实录】Mojo嵌入Python解释器时core dump突增300%:我们如何通过LLVM IR层Hook定位并修复内存所有权越界
  • 2025-2026年抗老护肤品推荐:敏感肌温和抗初老口碑产品及用户反馈汇总 - 十大品牌推荐
  • 如何用GPT-4和EEG信号生成文本?Thought2Text技术详解
  • 告别“秃”然!头发稀疏最新解决方案大揭秘 - 品牌测评鉴赏家
  • 脂溢性脱发救星|实测封神的纹发机构,告别油头秃感不踩雷 - 品牌测评鉴赏家
  • CD266 (TWEAKR/Fn14) 靶点技术深度解析:从信号机制到药物研发
  • AB Download Manager终极指南:告别杂乱下载,3步打造高效下载工作流
  • 从像素到坐标:多摄像头三维定位如何把视频变成空间计算引擎?
  • Android13编译内存不足?手把手教你用Swap分区解决Ninja报错137
  • 1Panel v2.0.5及以下版本紧急加固指南:除了升级,这3个临时措施也能防住RCE
  • 微算法科技(NASDAQ:MLGO)后量子区块链安全架构:基于模块化格密码的抗量子签名机制
  • 不用Arduino IDE也能烧录ESP32-CAM?试试这个更简单的工具
  • 二甲双胍与双洛平区别全解析:机制、效果与适用场景 - 品牌排行榜
  • Win11 任务栏Copilot图标消失?三步教你快速恢复
  • 流式清洗新标准:Polars 2.0 Streaming ETL在Kafka-ClickHouse链路中的低延迟落地(端到端<120ms)
  • 2025-2026年抗老护肤品推荐:熬夜肌修护焕亮口碑精华及用户反馈汇总 - 十大品牌推荐
  • 续约落定:安徽智捷与摘星 AI 将合作延续至 2027 - 2026年企业推荐榜
  • 自动化内容审核:OpenClaw+GLM-4.7-Flash的敏感词过滤系统
  • OpenClaw技能开发入门:为Qwen3-VL:30B编写图片翻译插件
  • 避开这些坑!高德DragRoute插件获取路线坐标的5个常见问题解决方案
  • nli-distilroberta-base在Ubuntu20.04上的部署与优化指南
  • 小白也能搞定!用Docker和Halo 2.10搭建个人博客,再也不用担心公网访问问题