LED 数码管的译码电路_第1页
LED 数码管的译码电路_第2页
LED 数码管的译码电路_第3页
LED 数码管的译码电路_第4页
LED 数码管的译码电路_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LED数码管的译码电路BCD七段数码管译码器电路图分段式显示器(LED数码管)由7条线段围成8型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光,有红、黄、绿等色。只要按规律控制各发光段的亮、灭,就可以显示各种字形或符号。图4-17(a)是共阴式LED数码管的原理图,图4-17(b)是其表示符号。使用时,公共阴极接地,7个阳极a~g由相应的BCD七段译码器来驱动(控制),如图4-17(c)所示。BCD七段数码管数字显示译码器电路BCD七段译码器的输入是一位BCD码(以D、C、B、A表示),输出是数码管各段的驱动信号(以Fa~Fg表示),也称4—7译码器。若用它驱动共阴LED数码管,则输出应为高有效,即输出为高(1)时,相应显示段发光。例如,当输入8421码DCBA=0100时,应显示,即要求同时点亮b、c、f、g段,熄灭a、d、e段,故译码器的输出应为Fa~Fg=0110011,这也是一组代码,常称为段码。同理,根据组成0~9这10个字形的要求可以列出8421BCD七段译码器的真值表,见表4-12(未用码组省略)。bcd七段译码器真值表MSIBCD七段译码器就是根据上述原理组成的,只是为了使用方便,增加了一些辅助控制电路。这类集成译码器产品很多,类型各异,它们的输出结构也各不相同,因而使用时要予以注意。图4-17(c)是BCD七段译码器驱动LED数码管(共阴)的接法。图中,电阻是上拉电阻,也称限流电阻,当译码器内部带有上拉电阻时,则可省去。数字显示译码器的种类很多,现已有将计数器、锁存器、译码驱动电路集于一体的集成器件,还有连同数码显示器也集成在一起的电路可供选用。

STM32实例-数码管显示实验数码管介绍数码管是一种半导体发光器件,其基本单元是发光二极管。数码管也称LED数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3位、4位、5位、6位、7位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。了解LED数码管的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图,如下图所示。如果开发板上使用的是一个共阳数码管,即8个LED的阳极全部并联一起引出,阴极分别引出如A、B...DP。如果要让共阳极数码管显示数字0,即对应的段ABCDEF要点亮即给它低电平,其他的段熄灭即给它高电平硬件设计通常数码管模块电路如下图所示。相同网络标号表示它们是连接在一起的,因此数码管的8个段选口(A-DP)是连接在STM32的PC0-7管脚上,这个和LED模块电路是共用PC0-7引脚的,因此控制数码管时也会控制LED,控制LED也会控制数码管。由于开发板上使用的数码管是共阳,所以要点亮对应的数码管段,需要让PC引脚输出一个低电平。本章我们所要实现的功能是让数码管间隔1秒显示0-F。软件设计数码管初始化函数在工程中新建smg.c文件,里面代码如下:#include"smg.h"/**************************************************************函数名:SMG_Init*函数功能:数码管初始化*输入:无*输出:无**************************************************************/voidSMG_Init(){GPIO_InitTypeDefGPIO_InitStructure;//声明一个结构体变量,用来初始化GPIO/*开启GPIO时钟*/RCC_APB2PeriphClockCmd(SMG_PORT_RCC,ENABLE);/*配置GPIO的模式和IO口*/GPIO_InitStructure.GPIO_Pin=SMG_PIN;//选择你要设置的IO口GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(SMG_PORT,&GPIO_InitStructure);/*初始化GPIO*/}SMG_Init()函数用来初始化蜂鸣器的端口及时钟,同样的在函数内我们看到有几个参数不是库函数内的,这种情况一般是我们自己定义的宏,通常放在对应的头文件内,我们打开smg.h,可以看到如下代码:#ifndef_smg_H#define_smg_H#include"system.h"/*数码管时钟端口、引脚定义*/#defineSMG_PORTGPIOC#defineSMG_PIN(GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7)#defineSMG_PORT_RCCRCC_APB2Periph_GPIOCvoidSMG_Init(void);//数码管初始化#endif里面就将数码管的GPIO端口及管脚进行了宏定义,这样做是方便大家移植程序,只需要对这个宏修改就能实现数码管的初始化修改。主函数我们打开工程中main.c文件,里面代码如下:/*************************************************************函数名:main*函数功能:主函数*输入:无*输出:无************************************************************/intmain(){u8i=0;SysTick_Init(72);LED_Init();SMG_Init();while(1){for(i=0;i<16;i++){GPIO_Write(SMG_PORT,(u16)(~smgduan[i]));delay_ms(1000);}}}主函数实现的功能比较简单,首先将使用到的外设硬件进行初始化,然后进入while循环,通过GPIO_Write库函数将数码管段码数据发送到数码管段选口,我们将0-F的段码数据存储在smgduan数组内,这是共阴数码管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论