0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

51单片机数码管静态显示

小黄1176 来源:小黄1176 作者:小黄1176 2024-02-26 11:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数码管静态显示其实在实际应用中很少,除非项目中就只用到了一位数码管显示,否则的话静态显示非常占用IO口。但是,静态显示又是动态显示的基础,所以,在这里我打算跟大家分享一下,数码管静态显示的工作原理编程方法。

一、电路原理

wKgaomXb_mWAXi-lAAC5jucLeQc137.png

备注:这是一个6位数码管的电路,在本项目中我们只用到其中的一个,电路中74LS04电路在这里主要是用作驱动芯片,用于提高单片机IO口的驱动能力。

二、相关知识

1、数码管的结构

wKgZomXb_-qAI4ABAAB3ektUM2Q849.pngwKgZomXb_oSAFOOBAABc6aIbJ-8856.png

数码管内部结构其实就是由8颗LED按照8自形排列组成,而根据结构的不同,数码管可分为共阳极数码管和共阴极数码管,其中把所有LED的阴极连接到一起做引出端的成为共阴极数码管,其中把所有LED的阳极连接到一起做引出端的成为共阳极数码管。

2、取码方式

数码管的使用过程中,我们通过点亮数码管的不同笔段组合,来达到显示不同数字的效果,这就是取码,段码一般按照16进制书写。而共阴极数码管和共阳极数码管的的段码也不一样。

(1)共阴极数码管的取码方式

“0”的段码:取码时a为对应地位,h对应高位

wKgZomXb_qaAcYnnAANkqLskVDc840.png

“1”的段码:取码时a为对应地位,h对应高位

wKgZomXb_tKAPAM-AAOsa4fUWN4945.png

根据这种方式我们可以总结得出,共阴极数码管的段码表

0x3f 0x06 0x5b 0x4f 0x66 0x6d 0x7d 0x07
0 1 2 3 4 5 6 7
0x7f 0x6f 0x77 0x7c 0x39 0x5e 0x79 0x71
8 9 A B C D E F

如果将段码表使用c语言数组的方式书写则为:

unsigned char table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0~f

(2)共阳极数码管的取码方式

“0”的段码:取码时a为对应地位,h对应高位

wKgZomXb_vmAM_oZAAQWWlzpnfI995.png

“1”的段码:取码时a为对应地位,h对应高位

wKgZomXb_x6AF_ZvAAQqwMUhHsc988.png

根据这种方式我们可以总结得出,共阳极数码管的段码表

0xc0 0xf9 0xa4 0xb0 0x99 0x92 0x82 0xf8
0 1 2 3 4 5 6 7
0x80 0x90 0x88 0x83 0xc6 0xa1 0x86 0x8e
8 9 A B C D E F

如果将段码表使用c语言数组的方式书写则为:

unsigned char table[]{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//0~f

3、数显方式

如果我们想要在数码管上显示数字,只需要把相应的段码送到IO口,即可让数码管显示。

三、例程

​#include<  reg52.h  >

#define uint unsigned int
#define uchar unsigned char

sbit LED1=P2^0;

uchar table_K[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//共阴极数码管段码表

/*-------微秒延时--------*/
void delay_us(uint z)
{
	uint x;
	for(x=z;x>0;x--);
}
/*--------毫秒延时--------*/
void delay_ms(uint z)
{
  uint x,y;
	for(x=z;x>0;x--)
	   for(y=110;y>0;y--); 
}

/*----------主函数-----------*/
void main()
{
	uchar i=1;
	P0=0x00;P1=0xff;P2=0x00;P3=0x00;  //IO口状态初始化
	while(1)
	{
    LED1=1;
		for(i=0;i<  16;i++)  //循环16次 i从0~15
		{
			P0=table_K[i]; //把0~f的段码一次送到P0口
			delay_ms(1000);//等待1秒
		}
  }
}

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 51单片机
    +关注

    关注

    277

    文章

    5714

    浏览量

    132057
  • 数码管
    +关注

    关注

    32

    文章

    1891

    浏览量

    93700
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144553
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第5章 定时器与数码管基础(5.3)

    5-2所示。 图5-2 数码管原理图 这是比较常见的数码管的原理图,Kingst51开发板子上一共有6个数码管。前边有了LED小灯的学习,数码管
    的头像 发表于 12-02 15:57 116次阅读
    第5章 定时器与<b class='flag-5'>数码管</b>基础(5.3)

    单片机学习的8个知识点分享

    的耐压值需要高于电源电压,以确保管子不会因为过压而损坏。 6、数码管 数码管单片机应用中的显示器件,可将数字或字母等信息以LED形式显示
    发表于 11-20 07:58

    原厂 FZH114C  一款LED(发光二极数码管、点阵屏)驱动控制专用芯片

    。封装形式 SOP16封装:引脚排列紧凑,适合标准PCB设计。 应用场景 消费电子产品:如数码管显示面板、空调/洗衣控制屏、机顶盒显示等。 工业设备:需多位
    发表于 11-19 14:43

    FZH114  LED(发光二极数码管、点阵屏)驱动控制专用芯片,集成数字通讯电路、 解码电路、数据锁存器、震荡器

    )FZH114 是一款LED(发光二极数码管、点阵屏)驱动控制专用芯片,内部集成了数字通讯电路、解码电路、数据锁存器、震荡器、LED驱动电路。通讯方式采用异步串口通信(UART)协议,因芯片只接收单片机发来
    发表于 11-19 11:13

    级联动态扫描显示数码管问题

    GD32F103C8T6 硬件SPI连接移位寄存器74HC595级联,动态扫描显示五位数码管 是否需要电平转换芯片TXB0104 数码管选择共阴极和共阳极区别是什么 若使用TXB0104,TXB0104的OE脚在代码书写时是否需
    发表于 10-07 20:36

    【应用】工业现场的“智能显示管家”:亿佰特EID051-1xx系列 Modbus数码管解析

    数码管。亿佰特新推出的EID051-1xx系列Modbus数码管,以多种核心优势,成为工业现场的一大助力。一.什么是Modbus数码管?Modbus数码管是一种通过R
    的头像 发表于 07-17 19:34 383次阅读
    【应用】工业现场的“智能<b class='flag-5'>显示</b>管家”:亿佰特EID051-1xx系列 Modbus<b class='flag-5'>数码管</b>解析

    基于51单片机的多功能万年历设计

    基于51单片机的多功能万年历设计    本项目是基于51单片机STC89系列,运用protues仿真软件开发,使用模块化编程方法,模块化电路设计,硬件部分采用
    发表于 06-03 17:17 1次下载

    C51单片机及C语言知识点必备秘籍

    定时/计数器实验 21:单片机串行口介绍 系列四 22:单片机串行口通信程序设计 23:LED 数码管静态显示接口与编 24:动态
    发表于 05-15 14:00

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    库函数实现流水灯 第2篇 内外部资源操作篇 3.1 数码管显示原理 3.2 数码管静态显示 3.3
    发表于 04-15 13:57

    数码管单片机的连接方式

    在电子技术飞速发展的今天,数码管单片机作为电子系统中的基础组件,被广泛应用于各种电子产品之中。数码管为人们提供直观的数字显示,而单片机则如
    的头像 发表于 02-05 17:44 2219次阅读

    如何利用万用表检测数码管

    数码管,作为一种广泛应用于电子设备中的显示器件,其稳定性和可靠性对于设备的正常运行至关重要。为了确保数码管的质量,使用万用表进行检测是电子工程师和维修人员的常用手段。本文将详细介绍如何利用万用表检测
    的头像 发表于 02-05 17:39 2817次阅读

    数码管的结构与原理

    数码管,也被称作辉光或LED数码管,是一种能够显示数字、字母、符号等信息的电子设备。它广泛应用于各种电子设备中,如计算器、电子钟表、电子秤、数码
    的头像 发表于 02-05 17:32 4048次阅读

    数码管共阴和共阳的区别

    在电子设备的众多显示元件中,数码管以其简单直观、成本低廉等特点,广泛应用于各类电子仪器仪表、数码时钟、电子秤等设备上,承担着数字和简单字符的显示任务。对于电子工程师和电子爱好者而言,深
    的头像 发表于 02-05 17:29 7666次阅读

    51单片机pwm和spwm

    51单片机pwm
    发表于 01-08 15:54 3次下载

    求解答!用STC89C51系列数字秒表

    实验室学51单片机,用STC89C51系列,作业太难了,求佬给源代码帮助一下谢谢 1.通过定时器,8位数码管,8个独立按键完成1000秒以内的数字秒表,最小分辨0.1秒,设置启动计秒键
    发表于 12-08 16:48