操作数码管的显示其实与操作led灯的操作本质上差不多,可以把一个数码管当做操作8段led灯来让它显示我们所预想的效果,如下图所示。

假如我想让一个数码管显示1,把我只需把B、C两个LED灯点亮就可以了,数码管的a~dp(数码管的点)对应字节的1~8位,假设为共阳极接法,即为1111 1001对应十六进制的F9

数码管的显示分为静态显示和动态显示

数码管的静态显示其实就是一直给数码管的特定位一直发送一样的数据就可以了,

动态显示的原理其实是一位一位的操作操作每个数码管,因为对每一位的操作特别快,并且在一直轮流给数,原理其实就是利用了人眼的视觉暂留效果和发光管的余晖作用来达到效果,只是操作的比较快,我们人眼视觉分辨不出来,就会觉得是动态显示的。

数码管的接法分为共阳极和共阴极两种接法

共阴极接法只要我们给数码管逻辑高电平即可控制其显示对应的数字

那么共阳极我们只需要给其逻辑低电平就可以控制其显示各个数字

我操作的51单片机的数码管的接法如下图所示

这四个数码管是共阳极接法,当J6跳线帽接上的时候我们对数码管给逻辑低电平就可以对数码进行操作。

就如我上面所提到的,数码管相当于8个LED灯共阳极接在一起,然后用这4个共阳极接法数码管通过各自通过连接一个PNP型的三极管来进行开通与关断,RL1的4个电阻是为了限流,防止电流过大烧坏数码管,当Q1~Q4也就是P20~P23引脚给低电平时,三极管导通,数码管可以被点亮,也就是这四个数码管的位选端,通过P20~P23来控制哪个数码管来亮。

而P00~P07是这4个数码管的段选端并联起来,来进行控制的。

我们来先来实现数码管的静态显示,操作如下。

数码管对每个位选端进行操作显示不同的数字

操作如下(位选的注释有误,应该依次是第一到第四)

经过大神的指正,了解了数码管数字显示不清晰有重影是没有消影导致的,在进行动态显示时,IO口从高电平到低电平,有一定的残留的电流在里面,所以要进行消影,即在送入位选数据之前,需要加一句 “P0 = 0xff”即可。

51单片机数码管的静态与动态显示相关推荐

  1. #51单片机#数码管静态与动态显示

    数码管的静态显示与动态显示 学习数码管的静态与动态显示,首先要清楚,同一个时刻,单片机只能使能一个数码管. 动态显示:轮流点亮数码管,利用人眼的视觉暂留现象,造成多个数码管被点亮的视觉体验. 静态显示 ...

  2. 51单片机数码管显示60秒倒计时(C语言)

    51单片机数码管显示60秒倒计时(C语言) 基于普中51单片机开发板,运用定时器/计数器0和1,实现60秒的倒计时和LED灯0.5s间隔闪烁 文章目录 51单片机数码管显示60秒倒计时(C语言) 前言 ...

  3. 51单片机数码管滚动显示学号_数协微课 | LED数码管与51单片机应用

    遇见工学,学在工学 停课不停学 数协电子组教学微课 它又来了 让我们开始学起来吧! 本期学习内容 LED数码管的结构与工作原理及相关原理图介绍 51单片机的应用:静态数码管显示.动态数码管显示 LED ...

  4. 单片机c语言数码管显示5,51单片机数码管显示实验报告(5页)-原创力文档

    51单片机数码管显示实验 实验内容: 编写程序让8只数码管初始显示0,每隔大约1s加1显示(可以用延时函数实现),到数码管显示9后,再从0开始显示,如此循环反复. C语言程序 #include #de ...

  5. 基于51单片机数码管显示

    基于51单片机数码管显示 ## 数码管显示原理 数码管(LED Segment Displays)由多个发光二极管封装在一起组成"8"字型的器件,引线已在内部连接完成,只需引出它们 ...

  6. 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...

    /********************************************************************** 51单片机数码管倒计时模拟交通灯汇编程序 LED数码管为 ...

  7. 100、基于51单片机数码管温控 温度控制风扇系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.PCB图 六.Protues仿真 七.程序 八.资料包括 摘要 在炎热的夏天人们用电风 ...

  8. 51单片机数码管滚动显示学号_静、动态数码管动态显示

    1. 数码管静态.动态显示原理 静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码.当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止.这种方法的优点是占用CPU时间少, ...

  9. c语言数码管流动显示一个数,51单片机数码管动态显示 - 数码管动态扫描显示01234567程序(三种方案)...

    数码管动态扫描显示01234567程序二--51单片机动态显示共阳数码管01234567 原理图 c语言程序 程序如下: #include #define uint unsigned int #def ...

最新文章

  1. 2018年12月14日 函数 总结
  2. python中tolist_python - 无法使用Gremlinpython使用“ .toList()”列出Janusgraph中存在的所有顶点 - 堆栈内存溢出...
  3. 无法安装.msi文件
  4. 推荐几个好玩又有难度的编程网站
  5. 为PHP5.4开启Zend OPCode缓存
  6. springboot-custom starter
  7. 用蒙特卡洛求pi_蒙特卡洛算法(MCS)及其MATLAB实现
  8. 9 PP配置-生产主数据-工作中心相关-定义工序控制码
  9. PHP5.3以上版本没有libmysql.dll,以及由此带来的困扰
  10. 主库创建存储过程时从库显示 Error 1049
  11. adb命令启动某个action_Android adb shell启动应用程序的方法
  12. 序列化,pickle,shelve,json,configparser
  13. 网站定时监控平台有哪些 7款好用的实时监控网站工具
  14. max31865C语言程序,max31865温度传感器通信驱动代码
  15. 4W家庭理财 V2.0
  16. TortoiseSVN 命令
  17. 如何在Swift中实现状态机?
  18. 基于Java的vtt转txt程序
  19. python表达式3or5的值为_Python表达式10+5%3-True+False的值为____。
  20. 界面原型设计——在线教育app

热门文章

  1. 双眼皮修复的方法有以下几种
  2. vmos框架_VMOS-适配安卓11
  3. 图像去噪 + 低通滤波 opencv
  4. 1 Foreword Preface
  5. 在win 7 上,让thinkpad T60 支持UltraNav
  6. abap alv新增行数据_ABAP_ALV_最好教程 最全知识整理.doc
  7. Oracle Apps(EBS)模块名称 SAP模块名称
  8. (一)Activiti 数据库25张表——流程历史记录表21(ACT_HI_IDENTITYLINK)
  9. LIS3DH完整资料
  10. Unity3D的uniSWF插件动态加载SWF UI资源