单片机-如何让数码管动态显示

这篇具有很好参考价值的文章主要介绍了单片机-如何让数码管动态显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数码管硬件图

单片机-如何让数码管动态显示,单片机,单片机学习-通用知识,电子元器件,单片机,嵌入式硬件

单片机-如何让数码管动态显示,单片机,单片机学习-通用知识,电子元器件,单片机,嵌入式硬件

1、数码管 连接 74HC245 芯片

单片机IO口输出难稳定,需要数码管与单片机连接需要增加驱动电路, 使用 74HC245

abcdefgDP并联导出  74HC245 对数码管进行驱动,P0 是输出电流 来驱动各个段的 驱动芯片

增加电阻 是为了防止电流过大烧坏数码管 。P0输出段选的

2、数码管是2个4位一体的 共阴数码管

共阴 就是所有阴极 连接 在一起,连接在公共端,接地 ,阳极给高电平 就可以导通 发亮

数码管的公共端 引出来

3、用38 译码器 到控制输入,控制位选 数码管 LED1~LED8

38译码器 是 3输入8 输出的芯片 由P2^2 P2^3 P2^4 输入 来控制位选的

4、什么是数码管?

数码管由8个端 或者7个端组成的发光二极管 多一个段是一个点,他可以组成小数点

一个数码管封装 10个引脚

数码管分类:

阳极

          所有二极管的阳极 全部连接起来, 阴极独立, 阴极 给低电平就亮

阴极

        所有二极管的阴极 全部连接起来, 阳极独立, 阳极 给高电平就亮

两种 正极负极是放着来就可导通

单片机-如何让数码管动态显示,单片机,单片机学习-通用知识,电子元器件,单片机,嵌入式硬件


如何显示一个字?

假如以阴极 数码管来显示:

要是显示 0 , 从 阴极二进制就是 DP、g 为 0 低电平 其他为高 0011 1111 换算十六 3f

数码管就亮了

单片机-如何让数码管动态显示,单片机,单片机学习-通用知识,电子元器件,单片机,嵌入式硬件

共阴数码管  abcdefg 要亮的 1111 1100  小数点为P0.7 为数据的高位

得从高位到地位P0.7~0.0   0011 1111 转换十六进制 为 0x3f

共阳数码管就是跟共阴数码管 相反的取值  


什么是段选、什么是位选?

段选 就是 数码管各个发光二极管显示的段 组成的字

位选 就是 公共端引出的引脚,选择哪个数码管来显示 

共阴、共阳 0~F 的段选显示

共阴数码管亮

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

共阳数码管亮

0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92,
0           1        2        3        4       5
0x82, 0xF8, 0x80, 0x90, 0x88, 0x83,
6           7        8        9        A       B
0xC6, 0xA1, 0x86, 0x8E, 0xFF,
C          D        E        F     无显示

如何通过38译码器来选择 哪个LED灯亮?

1、查看芯片的手册

单片机-如何让数码管动态显示,单片机,单片机学习-通用知识,电子元器件,单片机,嵌入式硬件

2、控制位选输出数码管

A1A2A3 都为低电平,000       Y0 为有效      LED1

A1A2A3  为 100                       Y1 为有效   LED2

A1A2A3 为 010                         Y2 为有效  LED3

A1A2A3  为 110                               Y3 为有效 LED4

A1A2A3 为001                                 Y4为有效 LED5

A1A2A3 为101                                 Y5 为有效 LED6

A1A2A3 为        011                        Y6 为有效 LED7

A1A2A3 为        111                         Y7 为有效   LED8 


流程走向图:

单片机-如何让数码管动态显示,单片机,单片机学习-通用知识,电子元器件,单片机,嵌入式硬件

消影

用人眼余晖,延时来 让人感觉数码管动态显示文章来源地址https://www.toymoban.com/news/detail-700037.html

软件编程:

#include "reg52.h"


typedef unsigned int u16;
typedef unsigned char u8;

#define SMG_A_DP_PORT	P0


u8 gsmg_code[17] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
						0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};	  // 段选0-F



// 位选
sbit LSA = P2^2;
sbit LSB = P2^3;
sbit LSC = P2^4;


void delay_time(u16 times)
{
	while(times--);
}		  

// 定义数码管显示的函数
void smg_display(void)
{
	u8 i = 0;  // 用一个循环,需要定义一个变量 
	for(i=0;i<8;i++)
	{
		//每次循环选择一个段选
		switch(i)
		{
			case 0:LSC=1; LSB=1; LSA=1; break;	  // Y7 输出
			case 1:LSC=1; LSB=1; LSA=0; break;	  // Y6 输出
			case 2:LSC=1; LSB=0; LSA=1; break;	  // Y5 输出
			case 3:LSC=1; LSB=0; LSA=0; break;	  // Y4 输出
			case 4:LSC=0; LSB=1; LSA=1; break;	  // Y3 输出
			case 5:LSC=0; LSB=1; LSA=0; break;	  // Y2 输出
			case 6:LSC=0; LSB=0; LSA=1; break;	  // Y1 输出
			case 7:LSC=0; LSB=0; LSA=0; break;	  // Y0 输出
		}
		SMG_A_DP_PORT = gsmg_code[i];
		delay_time(100);   // 1ms = 100 us 
		SMG_A_DP_PORT = 0x00;
	}	
}

void main()
{
	while(1)
	{
		smg_display();			
	}

}

到了这里,关于单片机-如何让数码管动态显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机控制数码管动态显示

    首先打开proteus,导入8位数码管和89c51。 然后如图连线,分清断码和位码, 断码就是一个数码管的7个LED灯。 位码:就是第几位显示,由于是共阴极,所以哪位接地就显示哪位。 下面通过改变位码的接线就可以看出不同的效果 下面就编写程序,从第1位到第8位显示从0到7的八

    2023年04月21日
    浏览(46)
  • 【STC15单片机】动态数码管

    目录 点亮一位数码管 动态数码管 100s倒计时 动态数码管封装代码 段选:选中哪一位数码管 位选:选中的数码管要显示的内容 这是我对段选位选的理解,就是选中某个位置,赋值字形码,显示想要的图形 如果只想让第一个数码管显示,就只需要让com1 = 1即可,其他comx都=0 如

    2024年02月13日
    浏览(46)
  • 51单片机动态数码管显示自己学号

    实验题目:使用51单片机实现动态数码管显示自己8位学号,例如20220018 在此原理图又分两种连接方式: 第一种是8位数码管接38译码器来减少端口使用。 第二种是,没有端口要求接好就可以那就是,把位选端接P3口,段选端接P0口,这样占用端口多,一般实验都是使用第一种接

    2024年02月13日
    浏览(58)
  • 【51单片机】数码管的静态与动态显示(含消影)

    数码管在现实生活里是非常常见的设备,例如 这些数字的显示都是数码管的应用。 注意 :数码管有 共阴 和 共阳 的区分。 在自己设计电路时,应当选用一种数码管时需要选用相应的译码器(共阴配共阴,共阳同理) 数码管的使用: 数码管其实就是一段一段LED构成的,51单

    2024年01月19日
    浏览(41)
  • C51单片机-共阳极数码管循环显示数字0至9,共阴极数码管循环显示5201314(动态)

    keil uVision4界面: proteus仿真界面:

    2024年02月06日
    浏览(58)
  • 单片机C语言实例:3、数码管累加与累减动态显示

    程序实例1: 程序实例2: 程序实例3: 程序实例4: 程序实例5: 程序实例6: 程序实例7: 程序实例8: 程序实例9: 程序实例10: 程序实例11:

    2024年02月09日
    浏览(41)
  • 学习笔记|小数点控制原理|数码管动态显示|段码跟位码|STC32G单片机视频开发教程(冲哥)|第十集:数码管动态显示

    上述图片引用自:51单片机初学2-数码管动态扫描 用一排端口来控制段码,需要显示哪几个就点亮哪几个段,和看电影一样,一个一个的打开,关闭,一个个的画面,组成动画。 具体的控制的流程如图所示,N表示有几个数码管! 其中需要注意每个延时不能太短,我们这边程

    2024年02月07日
    浏览(44)
  • 利用AT89C52单片机实现数码管的静态与动态显示

            资源work1和work2(完整工程文件在笔者本人主页的资源中,免费欢迎下载)分别完成下面两个任务:         1、单片机接矩阵键盘和2个静态数码管,自行设计硬件电路,利用汇编语言,要求将按键值(0~15)在数码管显示。         主要代码: ……      

    2024年02月02日
    浏览(49)
  • 【单片机】【数码管】数码管显示

      1. 数码管的显示器及其接口 单片机系统中 常用的显示器有: 发光二极管LED显示器、液晶LCD显示器、TFT液晶显示器。本文主要是关于LED显示器的说明。 LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5x8、8x8点阵等)。 LED数码管根据接法可以分为共阴和共

    2024年02月08日
    浏览(54)
  • 单片机数码管

    LED数码管(LED Segment Displays)是由8个发光二极管构成,并按照一定的图形及排列封转在一起的显示器件。其中7个LED构成7笔字形,1个LED构成小数点(固有时成为八段数码管)。 LED数码管有两大类,一类是共阴极接法,另一类是共阳极接法。 共阴极:公共端为阴极,加阳极数

    2024年02月15日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包