当前位置: 首页 > article >正文

单片机数码管动态显示

在学习 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 单片机数码管动态显示技术。

 


http://www.kler.cn/a/509566.html

相关文章:

  • HTML应用指南:利用GET请求获取全国特斯拉充电桩位置
  • 无人机(Unmanned Aerial Vehicle, UAV)路径规划介绍
  • Linux下源码编译安装Nginx1.24及服务脚本实战
  • 物联网网关Web服务器--Boa服务器移植与测试
  • Vue3中ref和reactive的区别
  • vue 学习笔记 - 创建第一个项目 idea
  • Android SystemUI——CarSystemBar视图解析(十一)
  • springboot使用websocket
  • 什么是FPGA开发?
  • Java 接口安全指南
  • TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文
  • AttributeError: ‘super‘ object has no attribute ‘__sklearn_tags__‘
  • InVideo AI技术浅析(三):计算机视觉
  • 深入理解 Windows Server 的核心功能:现代 IT 架构的基石
  • springboot基于微信小程序的健康管理系统
  • 力扣7-删除有序数组中的重复项
  • Python在多个Excel文件中找出缺失数据行数多的文件
  • OA-CNN:用于 3D 语义分割的全自适应稀疏 CNN
  • 数据增强方法及其工具
  • 模板编辑器(PHP)(小迪网络安全笔记~
  • 尺取法(算法优化技巧)
  • 瑞利衰落信道机理的详解
  • 利用逻辑回归进行分类
  • 了解MyBatis:一个灵活高效的O/R Mapping解决方案
  • 【博客之星2024】技术洞察:前沿技术趋势与创新实践
  • java项目之陕理工图书馆管理系统的设计与实现源码(ssm)