这一次给大家带来的项目是课堂作业级别的51单片机数码管显示,本次的项目着重于讲解原理,让大家明白单片机的io对于外界设备的控制是如何进行的。

共阳极和共阴极数码管的差异

(1)驱动方法的差异。一个数码管内部的8颗LED是独立驱动的。如果8颗LED的正极接在一起接到VCC上(负极分别接到单片机的不同引脚),这种接法就叫共阳极。反之如果8颗LED负极接在一起然后接到GND(正极就分别接到单片机的不同引脚)就叫共阴极。两种接法都可以驱动数码管显示,但是用来显示的单片机程序不同(共阳极时单片机0是亮,共阴极时单片机的1是亮)。

(2)驱动电流需求差异。数码管(其实就是LED)如果按照共阳极接法则单片机可以直接驱动显示,如果按照共阴极接法则单片机不能直接驱动,因为单片机的IO口提供的电流大小不够驱动数码管内部的LED显示,需要外部电路来提供一个大电流驱动的芯片来解决(一般会采用74HC245等数据缓冲器)。

数码管显示原理

静态数码管:
静态数码管显示原理为:数码管内部的led灯珠和外部引脚一一对应,利用总线式编码即可实现对八个led的统一编码,并且led顺序为顺时针旋转,可以通过0-F数字的笔画确定led状态,进而得到编码。
动态数码管:
动态数码管的显示分为两个部分,段选和位选,段选就是和静态数码管的显示一样,通过控制led的亮灭来表达字符。位选则是通过选通数码管的公共端来实现数码管的亮灭。由于八位并行I/O口仅能一次性输出一个数字,所以我们需要通过高速位选,利用视觉残留来实现八位数码管一起点亮,故称之为动态数码管。

按照上述的知识点,我们可以搭建下面的原理图:

部分代码示例

代码相对于其他项目来说较为简洁,但是由于字符编码问题,导致粘贴时出现乱码,这个大家不用担心,项目工程里面都是由注释的。

void DigDisplay()
{u8 i;for(i=0;i<8;i++){switch(i)   //λѡ£¬Ñ¡ÔñµãÁÁµÄÊýÂë¹Ü£¬{case(0):LSA=0;LSB=0;LSC=0; break;//ÏÔʾµÚ0λcase(1):LSA=1;LSB=0;LSC=0; break;//ÏÔʾµÚ1λcase(2):LSA=0;LSB=1;LSC=0; break;//ÏÔʾµÚ2λcase(3):LSA=1;LSB=1;LSC=0; break;//ÏÔʾµÚ3λcase(4):LSA=0;LSB=0;LSC=1; break;//ÏÔʾµÚ4λcase(5):LSA=1;LSB=0;LSC=1; break;//ÏÔʾµÚ5λcase(6):LSA=0;LSB=1;LSC=1; break;//ÏÔʾµÚ6λcase(7):LSA=1;LSB=1;LSC=1; break;//ÏÔʾµÚ7λ    }P1=xuehao[i];//·¢ËÍѧºÅdelay(100); //¼ä¸ôÒ»¶Îʱ¼äɨÃè P1=0x00;//ÏûÒþ}
}

同样,在编写代码和仿真后,我们还是绘制了PCB版图给需要制作实物的朋友,这个PCB布局较为宽大,便于新学者手工焊接。


文档中主要包含:keil5 C语言代码+Proteus 8.6仿真+ad原理图/PCB+说明书/相关知识点讲解

基于51单片机的数码管显示方案相关推荐

  1. 基于51单片机密码锁数码管显示步进电机开锁设计

    视频演示地址:https://www.bilibili.com/video/BV1Eg411G7JW/ 该设计是由AT89C51单片机为主控芯片数码管显示 开机后输入密码正确步进电机转半圈错误蜂鸣器报 ...

  2. 51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真

    51单片机+DS18B20+数码管显示+串口通讯+Proteus仿真 本实验通过51单片机读取DS18B20温度传感器的温度,然后通过数码管显示,并通过串口,将读取到的温度数据发送出去. 本案例需要使 ...

  3. 51单片机实现数码管显示小数

    51单片机实现数码管显示小数 要求 1 Proteus 面向编程的模型搭建 2 代码实现 2.1. 实现数码管刷新 2.2 对小数进行分解的函数 3 测试用例 4 仿真结果 要求 要求1:根据整数部分 ...

  4. 51单片机七段数码管显示时钟无按键控制—①—74HC595版

    参考链接: 51单片机七段数码管显示时钟加按键控制-③-74HC595版 51单片机七段数码管显示时钟加按键控制-②-74HC595版 文章目录 一.实验内容: 二.实验分析: 三.仿真图: 四.源代 ...

  5. 普中51单片机按键-数码管显示

    基于普中单片机按键-数码管显示 简介 1.硬件部分 普中单片机开发板 数码管 独立按键 2.软件部分 keil软件 硬件部分 普中单片机开发板 数码管 独立按键 (这些都是开发板的最基本的配置) 软件 ...

  6. 51单片机控制数码管显示

    前言 今天学习51单片机的数码管模块 我的学习板上面的数码管是4为一体由12个引脚控制的模块. 今天就编程控制它显示我们想要的输出. 数码管本质上是由8个LED拼接而成的,他们分别叫做a,b,c,d, ...

  7. 基于51单片机的数码录音放音系统设计

    摘  要 随着语言的处理技术在工业生产.交通.通信等方面的运用得到不断创新.数码录音放音系统已得到了越来越多的人的青睐,通过对多种录音放音系统的设计方案进行了比较和分析,本论文最终选定以STC89C5 ...

  8. 基于51单片机的数码管闹钟设计

    系统功能:利用定时器实现时钟,时钟可以通过独立按键设置,设有一个闹钟,闹钟时间可通过按键进行设置,时钟界面和闹钟界面可通过按键切换,当时钟和闹钟时间相同,蜂鸣器响,提示闹钟时间到等. 此系统重点在于: ...

  9. 51单片机 静态数码管显示

    本章博客讲述使用51单片机编写程序静态数码管显示 1.新建工程,选择芯片型号,这里注意--为了防止出现在插入头文件reg时出现某些引脚不定义的情况 可尝试切换为AT89C52型号的芯片,插入头文件即为 ...

最新文章

  1. char栈java,Java数据结构与算法-栈和队列(示例代码)
  2. 链表系列之单链表——使用单链表实现大整数相加
  3. 无障碍开发(九)之tabindex属性
  4. 【Tools】MarkDown教程(五)-CSDN MarkDown介绍
  5. EF Code First 学习笔记:关系(转)
  6. mysql 部署到服务器_服务器快速部署--使用Docker部署MySQL
  7. vb怎样同时打开2个excel工作簿_【赠书】不打开工作簿也能批量合并不同文件夹下多个表格的数据...
  8. 《Bible》各版本
  9. ttest求pvalue_统计中t检验法中P值该怎样计算
  10. 实验二 贪吃蛇游戏开发
  11. [漏洞挖掘]SRC-泛微OA文件上传
  12. 概念:蓝筹主板创业板新三板科创板
  13. apache整合tomcat实现web服务器的动静态资源的分离解析
  14. 基于飞桨图像分类套件PaddleClas的柠檬分类竞赛实战
  15. 主动学习(active learning)
  16. 虚拟机容器嵌合体—— Kata Containers正式走出实验室
  17. IE8适配总结(一)
  18. 清理蓝藻的机器人_水上清污机器人:自动巡航,漂浮物打捞率达99%以上丨寻访黑科技...
  19. 元宇宙地产:概念、价值与未来
  20. ICRA的5篇最佳操作机械手论文逐个看 | ICRA 2017

热门文章

  1. android程序中关于webview加载html文件
  2. 网管员、工程师 、专家 的岗位描述
  3. 网页编程技术三(H5中表格的用法)
  4. Linux笔记 rm -rf 嘻嘻
  5. [UE4]响应鼠标点击
  6. javascript原生事件总结
  7. hibernate缓存问题
  8. [转载]Netvault:操作Informix APM将A机备份的数据恢复到B机
  9. C++中 类与类之间的关系
  10. 大数据_Flink_数据处理_运行时架构4_作业调度原理及思考问题---Flink工作笔记0019