基于51单片机实现8位数码管显示表白数字(Proteus仿真)

2023-11-18

wechat:【嵌入式工程师成长日记】

 

具体功能实现:

8位数码管从左往右显示“5201314”,并且不闪烁。

使用器件:

若干电阻、4只LED红灯、8位数码管、总线、排阻、NPN三极管、AT89C51芯片

Proteus仿真原理图:

WeChat:【愿随你心】

仿真测试:

 知识介绍:

Proteus布线

为了让整个原理图看上去简洁明了,我们对元器件的导线进行标号,而不是直接和芯片相连。

数码管共阳、阳极断码

共阳极(1-9):

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,

0x90

共阴极(1-9):

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,

0x6f

主要代码(C语言)KEIL5实现:

wechat:【嵌入式工程师成长日记】

#include <REGX52.H>
#include <intrins.h>

unsigned code Code[]={0x92,0xa4,0xc0,0xf9,0xb0,0xf9,0x99};

void delay(unsigned char x){
  unsigned char t;
  while(x--)
    for(t=0;t<120;t++);
}

void main(){
  int i=0,wei=0x80;
  while(1){
      for(i=0;i<8;i++)
    {
      P0=0xff;
      P0 = Code[i];
      wei = _crol_(wei,1);
      P2=wei;
      delay(1);
    }
  }
}

问题解答:

问:共阴极和共阳极数码管的区别?

答:

问:Proteus如何快速布线?

答:按键按下大写的A,输入指令net=P0.#,然后点击“单击对象”,最后想要给哪根导线标号只需点击一下即可。

问:设计思路

答:首先确定数码管是共阴极还是共阳极,然后确定其段选码,导入intrins.h头文件,调用_crol_()左移函数,每隔一段时间对下一位数码管进行点亮,即位选。

问:如何让数码管不闪烁

答:闪烁的根本原因发生在delay()延时函数上,当我们设置的时间短时,数码管扫描的速度越快,肉眼无法分辨出数码管是否在移动,因此在肉眼下我们看到的是静止不动的。

WeChat:【嵌入式工程师成长日记】

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于51单片机实现8位数码管显示表白数字(Proteus仿真) 的相关文章

  • 一文掌握 MobileNetV3 在 TorchVision 中的实现细节

    TorchVision v0 9 中新增了一系列移动端友好的模型 可用于处理分类 目标检测 语义分割等任务 本文将深入探索这些模型的代码 分享值得注意的实现细节 解释这些模型的配置和训练原理 并解读模型优化过程中官方做出的重要权衡 本文的目
  • Linux Redis-v6.2.7的安装与配置

    Redis v6 2 7的安装与配置 官网下载页地址 1 下载 解压 编译安装 wget https download redis io releases redis 6 2 7 tar gz cp redis 6 2 7 tar gz u
  • localhost: Error: JAVA_HOME is not set. [Hadoop] Error: JAVA_HOME is not set

    localhost Error JAVA HOME is not set 在namenode启动脚本 Hadoop HOME bin start dfs sh的时候发现datanode报错 Error JAVA HOME is not se
  • 非确定性算法_近似算法

    晓强Deep Learning的读书分享会 先从这里开始 从大学开始 大家好 我是晓强 计算机科学与技术专业研究生在读 我会不定时的更新我的文章 内容可能包括深度学习入门知识 具体包括CV NLP方向的基础知识和学习的论文 网络表征学习的相
  • Pycharm无法正常安装第三方库的时候,有以下几条应对方法

    1 首先检查自己的环境变量是否配置正确 点击setting 点击 Python Interpreter 点击Add Interpreter 找到这个界面 点击右方三个点 然后选择正确的python安装位置 点击OK 配置完毕之后再试一次从这
  • android轮播图实现方案,Android轮播图实现教程

    ListView的headerView设置为轮播图之后结合上 下拉刷新 加载的模式成为现在大多数APP的一个必须具备的功能 对于许多初学者来说想要实现轮播图这样一个集线程睡眠 自动处理 替换过程中刷新UI界面的组合功能非常困难 没有思路 感

随机推荐

  • 实验吧 web题--代码审计类

    一 因缺思汀的绕过 1 web题常规套路就是查看源代码 于是右击查看源代码发现 br 构造url http ctf5 shiyanbar com web pcat source txt 查看php代码 2 关键php代码 if mysql
  • [HashMap源码学习之路]---put方法中的hash方法介绍

    HashMap中的put方法中的hash方法 以下是put方法的代码 public V put K key V value return putVal hash key key value false true 当我第一次看到这个地方的时候
  • 2022年,能让你月入过万的5个副业,不信试试

    2021年已经过去了 不管过去的一年 是成功还是失败 一切都过去了 新的一年要开始做新的规划 当务之急 搞钱最为重要 01 自媒体写作 以前我总是觉得会写文章不算什么技能 工作之后才发现 文字功底好优势好大 无论是工作还是做副业 发现会写文
  • 10.29奇偶交换排序

    奇偶交换排序如下所述 第一趟对所有奇数i 将a i 和a i 1 进行比较 第二趟对所有的偶数i 将a i 和a i 1 进行比较 若a i gt a i 1 则将两者交换 第三趟对奇数i 第四趟对偶数i 依次类推直至整个序列有序为止 in
  • Flask 学着用模板 render_template

    上一章节是做到了在本地浏览器上打印出hello world 如果你要更加复杂 可以像下面一样在return结果里添加内容 但是 简单的几句话你可以这么写 要是整的一个网页 你可没法把代码都拖在return后面吧 所以 后面引入了模板功能 模
  • 抽象函数(Java)

    我们现在深入理解一下抽象数据类型背后的理论 这些理论不仅本身很有趣 它们在ADT的设计与实现中也很有意义 如果你能够很好的理解它们 你将会设计出更好的抽象类型 并且远离那些隐晦的陷阱 在研究抽象类型的时候 先思考一下两个值域之间的关系 表示
  • console错误合集

    handlers i call is not a function 从报错的handlers i call 入手查找原因 这个错误是 调用相关的生命周期钩子函数引起来的错误 查看你的页面相关 生命周期钩子函数 是否有 声明了未定义方法 或是
  • 程序员的小浪漫----烟火

    多代码 慎读 预览 完整项目预览 预览地址 属性设计 烟花状态 烟花应有三个状态 升空 等待炸裂 炸裂后 烟花 发射点 x y 爆炸点 xEnd yEnd 升空后等待炸裂时间 wait 炸裂后微粒个数 count 烟花半径 radius 烟
  • 数据产品经理基础之写好报表需求文档

    今天业务部门向我提了个需求 想要在BI上实现一份日报表 并提供了一份日报表的excel文档样例 我为了 敏捷开发 没写需求文档 直接把excel扔给了开发 结果就导致一系列后遗症 首先是开发在写sql的过程频繁确认需求 xxx字段是什么意思
  • 白盒测试相关的一些知识

    在白盒测试中 可以使用各种测试方法进行测试 下面这篇文章 可能比较枯燥 如果不乐意读 可以先收藏 如果在你的工作中真遇到白盒测试的话 可以回过头再来看看 还是值得读一读 一般来说 白盒测试时要考虑以下5个问题 1 测试中尽量先用自动化工具来
  • 数据结构之链表与线性表

    数据结构之链表与线性表 线性表 顺序线性表 顺序表 顺序线性表 使用数组实现 一组地址连续的存储单元 数组大小有两种方式指定 一是静态分配 二是动态扩展 优点 随机访问特性 查找O 1 时间 存储密度高 逻辑上相邻的元素 物理上也相邻 缺点
  • JVM面试FAQ分析

    JVM面试FAQ分析 1 入门部分 1 1为什么要学习JVM 1 2 你了解哪些JVM产品 1 3 JVM的构成有哪几部分 2 类加载部分 2 1 你知道哪些类加载器 2 2 什么是双亲委派类加载模型 2 3 双亲委派方式加载类有什么优势
  • AdaBoost算法

    参考 https www bilibili com video BV1ix411i7yp p 26 机器学习技法 之 聚合模型 Aggregation Model 士杰的博客 CSDN博客 聚合模型
  • Java当中解析ini文件对应到JavaBean当中

    目录 1 ini文件简介 2 ini文件 3 ini解析工具类 4 示例运行结果 1 ini文件简介 ini 文件是Initialization File的缩写 即初始化文件 是windows的系统配置文件所采用的存储格式 统管window
  • 使用Nginx做反向代理超时的问题

    使用Nginx做反向代理时 当被代理服务器没有在指定时间内创建连接 接受请求或返回响应时 Nginx就会断开连接 并返回给客户端 504 Gateway Time out 错误 关于Nginx做反向代理超时 可以通过proxy connec
  • java判断是否为金额

    金额验证 public static boolean isNumber String str java util regex Pattern pattern java util regex Pattern compile 1 9 1 d 0
  • VsCode 常用好用插件/配置+开发Vue 必装的插件

    一 VsCode 常用好用插件 1 实时刷新网页的插件 LiveServer 2 open in browser 支持快捷键与鼠标右键快速在浏览器中打开html文件 支持自定义打开指定的浏览器 包括 Firefox Chrome Opera
  • vue3+tsx+element-plus封装组件总结

    最近在做vue3 plan tsx element plus的项目 tsx在我这里是用来做组件的 以往的开发方式是sfc 就是vue页面的写法
  • java socket 阻塞模式_关于socket的Accept阻塞模式的退出方法分析

    众所周知 socket的Accept会阻塞当前线程 如果子程序 或者类在被回收时 没有正确的中止socket 则会引发一些异常 我说下常用的一些处理方法 1 强行中断线程 这种方法我觉得是最差的 因为强行中断正在执行的线程 可能会引发一些意
  • 基于51单片机实现8位数码管显示表白数字(Proteus仿真)

    wechat 嵌入式工程师成长日记 具体功能实现 8位数码管从左往右显示 5201314 并且不闪烁 使用器件 若干电阻 4只LED红灯 8位数码管 总线 排阻 NPN三极管 AT89C51芯片 Proteus仿真原理图 WeChat 愿随