51单片机 2.数码管概述及显示

数码管知识

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

在这里插入图片描述

数码管引脚定义

●单个数码管
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
● 四位一体数码管
在这里插入图片描述
四位一体数码管实际一次也只能显示一个数字,即使多个数码管点亮显示的都是同一个数字;

数码管的动态显示是对每个数码管采用分时复用的方式轮流点亮每个数码管,在同一时间只会点亮一个数码管。

分时复用的扫描显示利用了人眼的视觉暂留特性,如果公共端的控制信号刷新速度足够快,人眼就不会区分出LED的闪烁,认为4个数码管是同时点亮。

●译码器
在这里插入图片描述

通过译码器位选,可以选择具体一个LED口,比如CBA的值为3,那么Y3=0,即LED4=0,即选中第5个数码管显示数字

●数码管段码表
在这里插入图片描述
0x80 dp亮

数码管静态显示

例:第5个数码管(LED4) 显示数字3,且dp点亮

#include <REGX52.H>

void main()
{
   
	P2_4 = 0; //C
	P2_3 = 1; //B
	P2_2 = 1; //A  
/* 138译码器:CBA的值决定哪个Y口为0,其他Y口都为1;也即选中LED(Y+1)口为0;*/
	
	P0 = 0x4F+0x80; //1100 1111; //P0的每一位决定dp,g,f,e,d,c,b,a
	while(1);
}

在这里插入图片描述

模块化封装

只需要将需要点亮的数码管编号和显示的数字提供给接口

#include <REGX52.H>

unsigned char NixieTable[] = {
   0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};

void NixieTube( unsigned char NixieTubeNum,digit,dp 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值