已知共阳极8段LED数码管的显示数字的字形码如下(求详解!)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了已知共阳极8段LED数码管的显示数字的字形码如下(求详解!)相关的知识,希望对你有一定的参考价值。

参考技术A

数码管定义如下图:共阳极数码管编码为:

LEDTAB:
  DB 0C0H ;"0" 00H
  DB 0F9H ;"1" 01H
  DB 0A4H ;"2" 02H
  DB 0B0H ;"3" 03H
  DB 99H ;"4" 04H
  DB 92H ;"5" 05H
  DB 82H ;"6" 06H
  DB 0F8H ;"7" 07H
  DB 80H ;"8" 08H
  DB 90H ;"9" 09H
  DB 88H ;"A" 0AH
  DB 83H ;"B" 0BH
  DB 0C6H ;"C" 0CH
  DB 0A1H ;"D" 0DH
  DB 86H ;"E" 0EH
  DB 8EH ;"F" 0FH
  DB 0FFH ;" " 10H

当A为某一个数时,查表就得到这个数编号的段码,比如A为1,那么就是“1”的编码,F9H。

c51语言设计数码管,中断设计1s显示0~F,采用proteus仿真


徐浩宇 川师工学院电气2018级 2021.5.8

如何通过数码管显示0~F?

  • 数码管有共阴和共阳两种
    共阳型阳极为公共端,阳极为段选信号输入
    共阴型阴极为公共端,阴极为段选信号输入
  • 注:段选输入方式直接决定了这一位输出的字形
    eg:
    共阳极数码管的段选编码应为:11000000B= 0xC0H
    共阴极数码管的段选编码应为:00111111B = 0x3FH

中断设计1s显示0~F实验源码

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
int	i=0;
int flag=0;
uchar code DSY_CODE[]=    //通过16进制数,设置数码管显示内容

  0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
	0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff
;

void main()

	TMOD=0x10;           				 //工作于方式1
  EA=1;               				     // 中断允许
  ET1=1;						 		 // 中断1打开
	TH1=(65536-50000)/256; 	             // (65536-50000)/256=60.6875
	TL1=(65536-50000)%256;      
	TR1=1;
  while(1)


void timer1(void) interrupt 3
 

  TH1=(65536-50000)/256;
	TL1=(65536-50000)%256;
  flag++;
	if (flag==20)	            //达到1s
		
			flag	=0;
			P1=~DSY_CODE[i];
			i=(i+1)%16;         //显示0-f
			  			



实验原理图如下

这里的数码管采用以下的两种


另外一种带有9根线的数码管,引脚说明如下,如需采用该种数码管,只需要加入使能即可



附上打包的工程文件:
https://download.csdn.net/download/Alangman/18474884

以上是关于已知共阳极8段LED数码管的显示数字的字形码如下(求详解!)的主要内容,如果未能解决你的问题,请参考以下文章

画出单片机连接两位LED数码管显示器的硬件电路,说明显示原理。

51单片机的初了解(10)

v3学院带你学习数码管

怎么只用2个输入端控制数字七段数码管显示1~4?译码器用7448。可另外加门电路

C51 静态数码管

c51语言设计数码管,中断设计1s显示0~F,采用proteus仿真