C51单片机3461AS-1型号数码管字型编码和相关代码

目录

一、3461AS-1LED数码管的结构

1.数码管的工作原理

2.数码管字型编码

3.数管码常用的几个字型码集合

4、C51单片机数码管位选码

二、数码管显示0-F程序代码 

三、数管码显示2023程序代码


一、3461AS-1LED数码管的结构

        单个 LED 数码管的外形和外部引脚如图下所示。 LED 数码管由8个发光二极管(以下简称段)构成,通过不同的发光段组合可显示数字0~9、字符 A ~ F 、 H 、 L 、 P 、 R 、 U 、 Y 、符号"-"及小数点"."等信息。

1.数码管的工作原理

3461AS-1数码管是共阴极,数码管的内部结构如上图a所示。是由8个发光二极管的阴极连接在一起,作为公共控制端(com),接低电平。阳极作为“段”控制端,当输入的控制端为高电平时,该段对应的发光二极管导通并点亮。

2.数码管字型编码

2461AS-1数码管字型编码

显示

字符

dpgfedcba字型符
0001111110x3F
1000001100x06
2010110110x5B
3010011110x4F
4011001100x66
501101101

0x6D

6011111010x7D
7000001110x07
8011111110x7F
9011011110x6F
A011101110x77
B011111000x7C
C001110010x39
D010111100x5E
E011110010x79
F011100010x71
H011101100x76
L001110000x38
P011100110x73
R001100010x31
U001111100x3E
Y011011100x6E
_010000000x40
.100000000x80
熄灭000000000x00

3.数管码常用的几个字型码集合

1.

A-F={0x77,0x7C,0x39,0x5E,0x79,0x71}

2.

0-9={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}

3.

0-F={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}

4.

A-Y={0x77,0x7C,0x39,0x5E,0x79,0x71,0x76,0x38,0x73,0x31,0x3E,0x6E}

4、C51单片机数码管位选码

0xFF,0xFB,0xF7,0xF3,0xFE,0xEB,0xE7,0xE3

二、数码管显示0-F程序代码

#include <reg52.h>
#define GPIO2 P2
#define GPIO P0
#define uint unsigned int
#define uchar unsigned char
void delay_xms(uint xms);
uchar SEG_Code[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
void main(void)
{
	uint i;
	while(1)
	{
		for(i=0;i<16;i++)
		{
			GPIO2=0xFE;
			GPIO=SEG_Code[i];
			delay_xms(500);
		}
	}
}
void delay_xms(uint xms)
{
	uint i;
	while(xms--)
	{
		for(i=0;i<234;i++);
	}
}

三、数管码显示2023程序代码

#include <reg52.h>

#define uchar unsigned char    // UINT8, u8
#define uint unsigned int      // UINT16, u16
#define GPIO P0
#define GPIO2 P2
#define XMS 5



uchar SEG_Code[4] = {0x5B, 0x3F, 0x5B, 0x4F};    // 2023的段码
uchar SEG_Bit[4] = {0xFF,0xFB, 0xF7, 0xF3};     // 数码管位选端位码

void delay_xms(uint xms);

void main(void)
{
	uchar i;
	GPIO = 0xFF;     // 初始化端口
	GPIO2 = 0xFF;
	while(1)
	{
		for(i=0; i<4; i++)
		{
			GPIO = SEG_Code[i];
			GPIO2 = SEG_Bit[i];
			delay_xms(XMS);
			GPIO = 0xFF;           // 消隐
		}
	}
}

void delay_xms(uint xms)
{
	uint i;
	while(xms--)
	{
		for(i=0; i<234; i++);
	}
}

  • 44
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值