历史上的今天
今天是:2025年04月11日(星期五)
2020年04月11日 | 89C51单片机数码管显示
2020-04-11 来源:eefocus
数码管显示分为静态数码管显示和动态数码管显示
学习掌握数码管相关的内容,可以从以下三方面入手:
1.数码管电路图
2.译码器
3.进制转化
直接上图
数码管电路图

数码管电路的接法有共阴和共阳两种,这里采用共阴接法
从其中取出一个数码管进行分析
单个数码管

此处为一个8位的数码管,想要数码管显示出想要的数字,则需要对数码管进行高低电平的设置
1为高电平,0为低电平
分别对 a,b,c,d,e,f,g,dp进行1和0的编写,此处可以理解为二进制进行十六进制的转化

如图中所示,数字2的 八位二进制就可以表示为 0101 1011,读数为从dp依次读到a,转化为十六进制则是0x5b
数码管中各个数值对应的字节
0: 0x3f 1: 0x06 2: 0x5b 3: 0x4f 4: 0x66 5: 0x6d 6: 0x7d 7: 0x07
8: 0x7f 9: 0x6f A: 0x77 B: 0x7c C: 0x39 D: 0x5e E: 0x79 F: 0x71

打开电脑中的计算器中的程序员模式就可以进行检验
下面就剩译码器的问题,本次采用的138译码器,译码器的不同可能会有所差别
先来了解下138译码器的电路图

在138译码器中主要是P22,P23,P24管角的问题,三个管角对数码管LED1~8的控制
138译码器
管角定义

管角说明

真值表
看懂138译码器的真值表非常重要,H代表高电平,L代表低电平,当A0,A1,A2同时为L时,Y0(LED1)才会亮

简单代码演示
#include "reg51.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code dizhi[]={0x3f,0x5e};
void main(){
LSC=0;
LSA=0;
LSB=0;
P0=dizhi[0];
}
史海拾趣
|
3 编码器 3.1 预处理 在MWI中语音信号首先通过一个高通滤波器(见图1)以去掉语音中的直流成分和50 Hz的工频干扰,滤波后的语音将用于后面的所有处理,滤波器采用一阶IIR滤波器, (3)在MWI中α=1, β=127/128。3.2 基音提取 直接提取 ...… 查看全部问答> |
|
任何一个硬件工程师对FPGA都不会陌生,就好比C语言对于软件工程师来说是必修课程一样,只要是电子相关专业的学生,都要学习可编程逻辑这门课程。FPGA的英文全称是Field Programmable Gate Array,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程 ...… 查看全部问答> |
|
近来使用AD623进行热电偶放大,遇到些问题,请各位大侠帮忙! 我使用T型或K型热电偶,使用AD623进行放大,电路图如下: 电路板做好后,我使用一段2CM的热电偶进行试验,编程,用手捏住热电偶的头,可以明显看到AD采样值不断增加,当实际使用时 ...… 查看全部问答> |
|
VS2003的C#的WINCE项目该如何继承本项目中的窗体? 因为我在项目中的每个窗体都会用到一些相同的函数,所以我想写一个包含这些函数的父窗口. 如果我的父窗口是Form1,子窗口是Form2,那么我在VS2005中像下面一样写就可以了 public partial class Form2 : Form1 { & ...… 查看全部问答> |
|
我想用EVC4.0开发一个 能够WINCE5.0下运行的应用程序; 程序中要用到UDP通信 串口通信,以及多线程的一些知识; 我的问题是: 1。我在我的计算机上安装了EVC4.0 + SP4,STANDARDSDK_50,STANDARDSDK_42,,我还要用装其它的软件吗? (程序要运 ...… 查看全部问答> |
|
刚买了一块飞凌公司的ok2440iii开发板,手上有一本韦东山编的嵌入式linux应用开发完全手册,一本c++入门的书籍,刚在电脑上面装上了ubuntu10.04的虚拟系统。想往人机交互qt的方向发展,不过发现困难重重,首先就是arm的汇编指令还有makefile里面的 ...… 查看全部问答> |




