单片机数码管动态显示

在学习 51 单片机的过程中,数码管动态显示是一个非常基础且重要的知识点。通过数码管,我们可以直观地展示数字、字符等信息,在很多电子设备中都有广泛应用,比如电子时钟、数字万用表等。本文将详细介绍 51 单片机数码管动态显示的原理及代码实现。

一、数码管动态显示原理

数码管是由多个发光二极管组成,根据显示段数不同,常见的有七段数码管和八段数码管(多了一个小数点)。以共阴极数码管为例,它的内部所有发光二极管的阴极连接在一起,当某个段的阳极接高电平时,对应的段就会点亮。

动态显示是利用人眼的视觉暂留效应,通过快速轮流点亮各个数码管,只要扫描速度足够快,人眼看起来就像所有数码管在同时显示。例如,我们有 4 个数码管,依次给每个数码管发送显示数据并点亮,然后快速切换到下一个数码管,循环这个过程。

二、硬件连接

假设我们使用的 51 单片机为 STC89C51,数码管为共阴极。将 P0 口连接到数码管的段选端,用于控制显示的内容;P2 口连接到数码管的位选端,用于选择要点亮的数码管。

复制代码
#include <REGX51.H>
 

unsigned char duanxuan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
 
void delay(unsigned int t)
{
	unsigned char i;
	while(t--)
	{
		for(i=0;i<120;i++);
	}
}

void fun1(unsigned char loc,num)
{
	switch(loc)
	{
		case 1:P2_2=1;P2_3=1;P2_4=1;break;
		case 2:P2_2=0;P2_3=1;P2_4=1;break;
		case 3:P2_2=1;P2_3=0;P2_4=1;break;
		case 4:P2_2=0;P2_3=0;P2_4=1;break;
		case 5:P2_2=1;P2_3=1;P2_4=0;break;
		case 6:P2_2=0;P2_3=1;P2_4=0;break;
		case 7:P2_2=1;P2_3=0;P2_4=0;break;
		case 8:P2_2=0;P2_3=0;P2_4=0;break;
	}
		P0=duanxuan[num];
}
 
void main()
{
	
	while(1)
	{
		fun1(1,1);
		delay(500);
		fun1(2,2);
		delay(500);
		fun1(3,3);
		delay(500);
	}
}

四、总结

通过上述代码和原理介绍,我们成功实现了 51 单片机数码管的动态显示。动态显示节省了硬件资源,通过软件编程实现了多个数码管的显示功能。在实际应用中,还可以根据需求扩展显示内容,比如显示字母、符号等,只需修改段选码表即可。希望本文能帮助你更好地理解和掌握 51 单片机数码管动态显示技术。

相关推荐
wuyk5557 小时前
98.C语言易混难点:字符数组与字符串指针的底层差异
c语言·开发语言·c++·stm32·嵌入式硬件·算法
恒锐丰-罗生9 小时前
国产 H 桥驱动 SS6289|18V/4A 有刷电机驱动芯片性与应用分析 内置采样 + 多保护,门锁 / 机器人优选器件
驱动开发·嵌入式硬件·硬件工程
zcmodeltech12 小时前
工程机械与矿山机械沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的露天开采-井下掘进-智慧矿山全场景联动方案
数据库·stm32·单片机·嵌入式硬件·制造·多分类
云泽80813 小时前
深入浅出 STM32(十五):多通道GPIO驱动的软件抽象与实现
stm32·单片机·嵌入式硬件
嵌入式阿蔡13 小时前
OTA 实战五(收官):量产落地 Checklist —— 版本号 / 防回滚 / 灰度 / 断点续传
网络·stm32·单片机·嵌入式硬件·嵌入式实时数据库
碧海银沙音频科技研究院15 小时前
基于杰理AC7016C的GTCRN门控卷积神经网络语音增强方法
人工智能·嵌入式硬件·语音识别
ACP广源盛1392462567315 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 大模型私有化部署中 DP 重定时器 GSV6155 的硬件链路价值与应用场景
大数据·数据库·人工智能·嵌入式硬件·矩阵·开源
遇雪长安16 小时前
STM32_BOOT未引出_串口升级系统Bootloader方案
stm32·单片机·嵌入式硬件·bootloader
dcdannycheung16 小时前
【无标题】
嵌入式硬件
自小吃多16 小时前
Capture软件原理图添加元器件笔记
笔记·嵌入式硬件