MCU-51:静态数码管显示

本文详细介绍了LED数码管的工作原理、引脚定义,以及如何利用C语言进行数码管显示。内容涵盖数码管的静态和动态显示,包括单个数码管的显示方法、定位函数的使用,以及动态数码管显示时的残影问题及其解决方案。同时,讨论了C语言中的数组和子函数在数码管显示中的应用。

一、数码管介绍

2.1 介绍

LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件
在这里插入图片描述

2.2 数码管引脚定义

单个引脚:
数码管分为共阳极连接和共阴极连接两种:
1,共阴极连接就是说3,8这一头连得是负极,所以在下面的那头给上高电平(即置1)就可以使二极管发光
2,共阳极连接就是说3,8这一头连得是正极,所以在下面的那头给上低电平(即置0)就可以使二极管发光
注意:在实际编写代码的时候这一点一定要搞清楚,或者进行实验后发现亮光的二极管的位置和预想的不对,那么对赋值的I/O口使用取反符号~也行
在这里插入图片描述
在这里插入图片描述
多个引脚管:
在这里插入图片描述

2.3 原理图

在这里插入图片描述

二、要用到的C语言知识

2.1 数组

把相同类型的一系列数据统一编制到某一个组别中,可以通过数组名+索引号简单快捷的操作大量数据

int x[3];			//定义一组变量(3个)
int x[]={
   
   1,2,3};	//定义一组变量并初始化
x[0] 		//引用数组的第0个变量
x[1] 		//引用数组的第1个变量
x[2]			//引用数组的第2个变量

2.2 子函数

将完成某一种功能的程序代码单独抽取出来形成一个模块,在其它函数中可随时调用此模块,以达到代码的复用和优化程序结构的目的

void Function(unsigned char x, y)
{
   
   
	
}

返回值 函数名(形参)
{
   
   
	函数体
}

三、数码管显示

3.1 单个数码管显示

第三个数码管显示6:
结合原理图可以看到要使得第三位显示为6
LED6对应Y5,Y5对应的二进制为101,要让低电平Y5通电
对应由高位到低位得

#include <REGX52.H>
void main()
{
   
   
	P2_4=1;
	P2_3=0;
	P2_2=1;
	P0=0x7D;
	while(1)
	{
   
   
	}
}

3.2 通过定位函数实现数码管显示

#include <REGX52.H>
unsigned char NixieTable[]={
   
   0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void Nixie(unsigned</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello xiǎo lěi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值