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

单片机——数码管

1. 数码管简介

数码管:也称为LED数码管,基本单元是发光二极管(LED)。分为七段数码管和八段数码管(多一个小数点DP)。
- 共阳数码管:所有LED的阳极连接到一起形成一个公共阳极接VCC,单片机需要控制某段LED的阴极为低电平时,相应led就会点亮
- 共阴数码管:所有LED的阴极连接到一起形成一个公共阴极接GND,单片机需要控制某段LED的阳极为高电平,相应LED会点亮。:单片机上IO口的电压不足以驱动数码管的led,因此共阴数码管的阳极一般并不直接连到单片机的IO上,而是中间再接一个电源。
在这里插入图片描述

动态数码管:两个或两个以上单个数码管并列在一起形成的多位数码管,内部分为公共端和段码端。多位数码管上的所有数码管在同一时刻现实的数字是一样的,因为它们共用段选线,而在极短的时间内通过“位选”不同的数码管显示不同的数字,从视觉上实现了多个数码管在同一时间的动态显示不同数字。

  • 公共端:各个数码管相互独立,负责控制多位数码管中具体哪个数码管工作
  • 段码端:各个数码管共用用七段/八段的段选线

2. 原理图分析

静态数码管:静态化数码管是共阳数码管,可以直接通过单片机输出低电平来控制对应的数码管led是否亮
在这里插入图片描述

动态数码管:动态化数码管是共阴数码管,通过单片机控制段线实现控制数码管的显示具体数字,通过单片机控制位线实现控制具体哪个数码管显示
在这里插入图片描述

74138译码器:默认状态输出的8个IO口(Yn)都是高电平,通过3个输入IO口(A、B 、C)组成的8种状态,实现对8个输出IO口(Yn)具体哪个IO口输出低电平
在这里插入图片描述

3. 代码编写

共阳数码管码表
在这里插入图片描述
静态数码表

uunsigned char val[16] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e};
void delay()
{
	int i = 100, j = 100;
	while(i--)
	{
		while(j--)
		{}
	}
}

void main(void)
{
	while (1)
	{
		for(int i=0; i<15; i++)
		{
			P0 = val[i];
			delay();
		}
	}
}

共阴数码管码表
在这里插入图片描述
动态数码表

unsigned char led_select[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char bit_select[8] = {0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f};
void delay()
{
	int i = 2, j = 100;
	while(i--)
	{
		while(j--)
		{}
	}
}
void main(void)
{
	while (1)
	{
		for(int i=0; i<8; i++)
		{
			P2 = bit_select[i];	//位选
			P0 = val[i];		//段选
			delay();
			P0 = 0x0;			//清空两个段选数字之间的影响
		}
	}
}

38译码器真值表
在这里插入图片描述

unsigned char led_select[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay()
{
	int i = 2, j = 100;
	while(i--)
	{
		while(j--)
		{}
	}
}
void main(void)
{
	while (1)
	{
		for(int i=0; i<8; i++)
		{
			P2 = i;				//通过译码器位选
			P0 = val[i];		//段选
			delay();
			P0 = 0x0;			//清空两个段选数字之间的影响
		}
	}
}

相关文章:

  • 教你学做窗帘的网站/上海牛巨微网络科技有限公司
  • 网站设计公司竞争优势/女教师遭网课入侵直播
  • linux做网站优势/福州百度seo
  • 蝶山网站建设/淘宝新店怎么快速做起来
  • asp网站开发需要什么/app推广接单
  • php网站开发文章管理系统/金华seo
  • 家居建材行业数字化重构,依靠CRM打通全流程
  • 智创万物,数赢未来——如何助推数智时代的发展浪潮
  • DNS记录类型介绍(A记录、MX记录、NS记录等)
  • SpringBoot整合Mybatis之动态SQL
  • 前端基础_组合多个图形
  • hive实现近6周的下单趋势分析
  • SPDK线程模型
  • 攻防世界-easytornado
  • PS的安装、背景、背景练习、雪碧图、线性渐变、径向渐变、电影卡片练习——06fontbackground
  • Kafka资源配置估算
  • Cookie 和 Session 的工作流程
  • dpdk编译