51单片机之动态数码管显示

一、硬件介绍

LED数码管是一种由多个发光二极管(LED)封装在一起,形成"8"字型的显示器件。它广泛用于仪表、时钟、车站、家电等场合,用于显示数字、字母或符号。

通过控制点亮a b c d e f g dp来显示数字,本实验开发板的数码管是两个四位一体的。

二、原理图

2.1 动态数码管

从电路图中看出,动态数码管的上端分别为LED1-8,通过控制LED1-8的电平来控制某一位的数码管显示,称之为:位选;

在数码管的下方是每个LED的8个位a,b,c,d,e,f,g,dp。通过电路与 74HC245相连,通过控制74HC245的输出来控制某一数码管显示的数字,即a-dp的哪些段,称之为:段选;

位选:控制LED1-8,用于确定8个数码管的某一位;(如第一个数码管亮)。

段选:控制a,b,c,d,e,f,g,dp,用于确定某一个数码管显示的数字;(如显示的数字为6)。

其中 74HC245芯片用来增加单片机引脚的驱动能力。

2.2 74HC138译码器

其输入端为P22-P24,输出端为LED1-LED8,为一种三通道输入、八通道输出译码器,通过P22-P24控制LED1-LED8,是一种低电平有效器件。即将3位二进制(P22-P24),译码成8种输出状态,并且一共有8个输出I/O,这8位输出的特点是:同时只有一位有效、低电平表示有效,表示选中,74HC138实现了用3根线选择8根线(8选1)的功能。

2.3 消影问题

动态数码管显示存在消影问题

导致消影问题的原因如下:

  1. 视觉暂留效应:人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间后,光的感觉才会消失,这个短暂的时间称为视觉暂留时间。在数码管动态显示中,如果刷新速度不够快,前一个显示内容的残像会在视觉上残留一段时间,导致重影现象。

  2. 刷新速度限制:数码管的刷新速度受到硬件和软件控制的影响。硬件上,如驱动电路的速度、锁存器的响应时间等;软件上,如控制程序的执行效率、延时函数的设置等,都会影响数码管的刷新速度。

  3. 数据残留:在动态显示过程中,如果前一个显示内容的数据在P0口或其他控制端口上残留,而没有及时清除,那么在下一个显示周期中,这些残留数据可能会与新数据发生冲突,导致显示异常。

解决办法:在位选和段选之间进行清零处理,即P0=0x00。

三、实验

3.1 代码示例

objectivec 复制代码
#include <REGX52.H>
unsigned char NixieTable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//Êý×Ö0-9

void Delay(unsigned int xms)	//@12.000MHz
{
	unsigned char data i, j;
	while(xms--)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}


void Nixie(unsigned char Location, unsigned char Number)  //Á½¸ö²ÎÊý£¬Ò>>¸öÊǾßÌåÄĸöÊýÂë¹Ü£¬ÁíÒ>>¸öÊÇÐèÒªÏÔʾµÄÊý×Ö
{
	switch(Location)
	{
		case 1:
			P2_4=1;P2_3=1;P2_2=1;break;
		case 2:
			P2_4=1;P2_3=1;P2_2=0;break;
		case 3:
			P2_4=1;P2_3=0;P2_2=1;break;
		case 4:
			P2_4=1;P2_3=0;P2_2=0;break;
		case 5:
			P2_4=0;P2_3=1;P2_2=1;break;
		case 6:
			P2_4=0;P2_3=1;P2_2=0;break;
		case 7:
			P2_4=0;P2_3=0;P2_2=1;break;
		case 8:
			P2_4=0;P2_3=0;P2_2=0;break;
	}
	P0=NixieTable[Number];
	Delay(1);
	P0=0x00; //清零
}
void main()
{
	
	while(1)
	{
		Nixie(1,1);
		Delay(20);
		Nixie(2,2); 
		Delay(20);
		Nixie(3,3);
		Delay(20);
	}
}

3.2 实验现象

动态数码管

相关推荐
omnibots1 小时前
ESP-ADF外设子系统深度解析:esp_peripherals组件架构与核心设计(输入类外设之触摸屏 Touch)
嵌入式硬件·架构·iot
逼子格3 小时前
十二种存储器综合对比——《器件手册--存储器》
单片机·嵌入式硬件·硬件工程·硬件工程师·存储器·硬件工程师真题
使者大牙3 小时前
【嵌入式系统设计师(软考中级)】第一章:计算机系统基础知识(中)
嵌入式硬件·软件构建
田甲3 小时前
【STM32】STemWin库,使用template API
stm32·单片机·嵌入式硬件
四夕白告木贞3 小时前
stm32week11
stm32·单片机·嵌入式硬件·学习
the sun344 小时前
深入理解单片机的运行流程
stm32·单片机·嵌入式硬件
努力创造奇迹4 小时前
STM32 HAL库 低功耗的实现
stm32·单片机·嵌入式硬件
Despacito0o4 小时前
FreeRTOS二值信号量详解与实战教程
驱动开发·stm32·单片机·嵌入式硬件·mcu·51单片机·嵌入式实时数据库
IDIOT___IDIOT7 小时前
GPIO输出模式
单片机·嵌入式硬件
子墨城西8 小时前
DSP、MCU、FPGA 的详细总结
单片机·嵌入式硬件·fpga开发