数码管显示原理——MCU51
以8段数码管为例
一、数码管概念
根据内部的连接进行分类,可以分为共阴极和共阳极。8段数码管内部有8颗LED组成,控制相应的LED亮起,其他熄灭就可以显示出想要的字形。如下图所示,第二幅图是共阴极,第三幅是共阳极。第一幅图中是共阴极,接GND。
原理图
1.74HC573锁存器工作原理
真值表
通过真值表可知:
输出口Q要想输出高低电平OE脚必须接GND。
LE脚为高时,输出端Q随输入端D的数据而变化。
LE脚为低时,输出端Q数据保持不变,输入端D数据变化不会改变Q的数据。
【注】因此,当我们在锁存器中输入想要维持不变的数据时,先输入数据使Q变化,再将LE置为低,此时Q的数据就会被锁住!
2.接上拉电阻原因
由原理图可知,P0口接了RL1和RL2俩个上拉电阻,原因在于当P0口作为输入/输出口时,上电复位后处于开漏模式。P0口内部无上拉电阻,所以作I/O口必须外接10K-4.7K的上拉电阻。
注:G级导通,管脚置低电平
【注】三级管介绍
1. PNP管子是发射极流入后从基极和集电极流出,NPN管子是基极和集电极流入从发射极流出。
2. PNP管子工作在放大区时电压是,Ue>Ub>Uc,NPN管子工作在放大区时电压时Uc>Ub>Ue。
3. PNP是共阴极,即两个PN结的N结相连做为基极,另两个P结分别做集电极和发射极;电路图里标示为箭头朝内的三极管。NPN则相反。4. PNP管子:发射极电流 = 集电极电流 + 基极电流5. NPN管子:集电极电流 = 发射极电流 + 基极电流
何为开漏模式
开漏电路概念中提到的“漏”就是指MOS FET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOS FET的漏极为输出的电路。开漏输出:OC门的输出就是开漏输出;OD门的输出也是开漏输出。它可以吸收很大的电流,但是不能向外输出的电流。所以,为了能输入和输出电流,它使用的时候要跟电源和上拉电阻一齐用。
点亮第一个数码管显示2
#include <reg52.h>
#include <intrins.h>sbit WEI = P2^7; //数码管位选
sbit DU = P2^6; //数码管段选int main()
{WEI = 1;P0 = 0XFE;//1111 1110 选定第一位WEI = 0;DU = 1;P0 = 0X5B;//0101 1011 显示2DU = 0;while(1);
}
运行结果
二、数码管动态显示
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
#include <reg52.h>//包含51头文件
#include <intrins.h>//包含移位标准库函数头文件#define uint unsigned int
#define uchar unsigned charsbit DU = P2^6;//数码管段选
sbit WE = P2^7;//数码管段选//共阴数码管段选表0-9
uchar code tabel[]= {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F,};/*====================================
函数 : delay(uint z)
参数 :z 延时毫秒设定,取值范围0-65535
返回值 :无
描述 :12T/Fosc11.0592M毫秒级延时
====================================*/
void delay(uint z)
{uint x,y;for(x = z; x > 0; x--)for(y = 114; y > 0 ; y--);
} /*====================================
函数 :display(uchar i)
参数 :i 显示数值,取值范围0-255
返回值 :无
描述 :三位共阴数码管动态显示
====================================*/
void display(uchar i)
{uchar bai, shi, ge;bai = i / 100; //233/ 100 = 2shi = i % 100 / 10; //233 % 100 / 10 = 3ge = i % 10;//233 % 10 =3//第一位数码管 P0 = 0XFF;//清除断码WE = 1;//打开位选锁存器P0 = 0XFE; //1111 1110WE = 0;//锁存位选数据DU = 1;//打开段选锁存器P0 = tabel[bai];//DU = 0;//锁存段选数据delay(5);//第二位数码管P0 = 0XFF;//清除断码WE = 1;//打开位选锁存器P0 = 0XFD; //1111 1101WE = 0;//锁存位选数据DU = 1;//打开段选锁存器P0 = tabel[shi];//DU = 0;//锁存段选数据delay(5);//第三位数码管P0 = 0XFF;//清除断码WE = 1;//打开位选锁存器P0 = 0XFB; //1111 1011WE = 0;//锁存位选数据DU = 1;//打开段选锁存器P0 = tabel[ge];//DU = 0;//锁存段选数据delay(5);
}void main()//main函数自身会循环
{ while(1){display(233); //数码管显示函数}
}
运行结果:
数码管显示原理——MCU51相关推荐
- Arduino:数码管显示原理详解和Proteus仿真实验
Arduino:数码管显示原理详解和Proteus仿真实验 Proteus仿真 数码管介绍 数码管是半导体发光元件,其基本单元是发光二极管.根据段数,数码管分为七段管和八段管. 八段管比七段管还多一个 ...
- 二、数码管显示原理及应用实现
数码管显示原理及应用实现 视频链接 对应课程:P11-P12 数码管显示原理 我们先看一下一个数码管是如何亮起来的.数码管内部电路如图所示: 为了封装统一,生产商为单位数码管都封装了10个引脚,其中第 ...
- 数码管显示原理:共阴极和共阳极的区别,静态显示程序。
数码管显示原理:共阴与共阳 LED发光原理是PN结光电二极管将电能转化为光能的结果.当半导体芯片两端加正反向电压时,当电子从n区域注入p区域时,它们与p区的空穴结合并释放能量,这些能量以光子的形式发射 ...
- STC51入门笔记(郭天祥C语言)---第三节:数码管显示原理及应用实现
这里是引用 声明:本篇文章只是个人知识盲区.知识弱点.重点部分的归纳总结,望各位大佬不喜勿喷.梳理顺序是按照书籍的实际顺序梳理,转载请注明出处. 作者:sumjess 一.数码管显示原理 我们先来看几 ...
- python数码管绘制原理_Micropython入门四位数码管显示原理
原理非常简单,控制各个针脚的高低电平来显示数字,这里我用的是共阳的数码管.不过有一个问题,我第一次显示的时候代码输入数字是9.876不过数码管显示9.875,刚开始我以为代码错了,仔细检查了几遍没有问 ...
- 新手必看 四位数码管显示原理
原理非常简单,控制各个针脚的高低电平来显示数字,这里我用的是共阳的数码管.不过有一个问题,我第一次显示的时候代码输入数字是9.876不过数码管显示9.875,刚开始我以为代码错了,仔细检查了几遍没有问 ...
- 51单片机按键值显示在数码管上,数码管亮度控制,数码管显示原理
项目场景: 51单片机按下按键在数码管上显示相应的值 问题描述 平常按键检测程序,按下延时消抖,记录一个数字,再按下另一个记录一个数字,然后在一位数码管上显示,就出现了问题.数码管一直显示0 . 下面 ...
- 数码管显示原理与驱动方式
目录 一.数码管内部结构 二.数码管的显示方式 三.数码管显示编程思想 一.数码管内部结构 1.内部结构有八个发光二极管,一个8字只需要显示7段,但是有一个小数点,dp,所以有八个发光二极管. 2.单 ...
- 共阳数码管段码表_C51编程7数码管显示原理
如果将单片机的比喻计算的主机,而按键相当于电脑的输入设备(键盘或者鼠标),那么LED灯可以作为输出设备的显示器:如果8位数据,使用8个LED显示数据表示,相当于是以二进制显示数据,非常不利于阅读. 为 ...
- 基于51单片机的数码管显示方案
这一次给大家带来的项目是课堂作业级别的51单片机数码管显示,本次的项目着重于讲解原理,让大家明白单片机的io对于外界设备的控制是如何进行的. 共阳极和共阴极数码管的差异 (1)驱动方法的差异.一个数码 ...
最新文章
- C# 5.0中引入了async 和 await
- 碰到IBM笔记本电脑无线网络故障确认与排除方法
- 集成Lua到你的Android游戏(常见问题补充,解决,)
- 出现“adb不是内部或外部命令,也不是可运行的程序或批量文件。”
- NOIP2017总结与反思
- 不同阶QAM调制星座图中,符号能量的归一化计算原理
- 石油勘探是属于计算机应用中的,计算机在石油勘探开发中的应用论文
- Electron 遭封杀,Web 开发者在苹果平台上举步维艰!
- 你的账户配置为阻止使用计算机,Win10打开软件提示为了对电脑进行保护,已经阻止此应用解决方法...
- 非参数统计的Python实现——卡方独立性检验
- MTTR、MTTF、MTBF详解
- MySQL连接工具(SQLyog、Navicat)下载安装
- windows中oracle自动备份
- 我做游戏交互实习这段时间,总结了这8个点
- 利用Linux系统搭建网站(含相关,域名申请,服务器选择,Java JDK安装,数据库配置,域名绑定服务器,服务器绑定域名),最终实现通过域名访问你的网站项目,创作不易,如果对你有帮助的还请点赞支持
- JS 移动端网页特效(二)
- QQ潮玩展2021QTX摄影作品 (zhaoolee出品)
- 温故知新(八)——永磁电机容错控制
- 关于进程线程和Go协程总结
- CAD2022下载 简体中文64位