收藏 分享(赏)

单片机之led显示.pptx

上传人:天天快乐 文档编号:1100829 上传时间:2018-06-11 格式:PPTX 页数:22 大小:654.47KB
下载 相关 举报
单片机之led显示.pptx_第1页
第1页 / 共22页
单片机之led显示.pptx_第2页
第2页 / 共22页
单片机之led显示.pptx_第3页
第3页 / 共22页
单片机之led显示.pptx_第4页
第4页 / 共22页
单片机之led显示.pptx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、,2018/6/11,1,3.4 LED数码管原理与编程,1.认识LED数码管,LED显示元件是常见的人机交互输出设备,其作用是指示中间运行结果与运行状态。LED种类较多,常见的LED如图所示。,图1 LED实物图,(1)单个LED的驱动,常见的单个LED的驱动电路如下图所示电路,(a)图中端口引脚输出低电平,则LED点亮,R1为限流电阻,避免流过LED电流过大。(b)图中端口引脚输出低电平,则Q1导通,LED点亮,R2为限流电阻。,图2 常见的单个LED驱动电路,(2)单个数码管的驱动,将多个LED封装在一起,即可构成笔划式数码管。 数码管内部由七个条形发光二极管和一个小圆点发光二极管组成,

2、根据各管的亮暗组合成字符。,七段式LED显示器有两种结构:共阴极接法和共阳极接法,共阴极接法。把发光二极管的阴极连在一起构成阴极公共引脚com。使用时阴极公共引脚接地,这样阳极引脚上加高电平的发光二极管就导通点亮,而加低电平的则不点亮。, 共阳极接法。把发光二极管的阳极连在一起作为阳极公共引脚com。使用时阳极公共引脚接+5 V。这样阴极引脚上加低电平的发光二极管即可导通点亮,而加高电平的则不点亮。,单个数码管的引脚配置为:,com端为公共端,使用时,共阴极数码管公共端接地,共阳极数码管公共端接电源。静态显示时,推荐使用1015mA驱动电流;动态扫描时,平均电流45 mA。由于常规的数码管起辉

3、电流只有12 mA,最大极限电流也只有1030 mA,所以它的输入端在5 V电源或高于TTL高电平(3.5 V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。,2.数码管的字形编码与显示方式,(1)数码管的字形编码,数码管的8段正好组成一个字节。当单片机的并行口P0P3驱动数码管时,通常要求数据位D0D7分别与数码管的a、b、c、dp对应相连,即数据位D0驱动a字段,数据位D1驱动b字段,依此类推,如表1所示。,表1 数据位与各显示段的对应关系,当单片机P1口驱动数码管时,P1口各管脚与数码管各显示段的连接关系如图所示。,(a) 与共阳极数码管相连 (b) 与共阴极数码管相连 图 单片机

4、并行口与数码管的连接关系,单片机P1口驱动数码管时,无论是驱动共阴极还是共阳极数码管,P1口各管脚与数码管的连接关系相同,如图所示,单片机其它并行口和数码管各显示段的对应连接关系与P1口相同。,字形编码(段码)的值与数码管公共引脚的接法(共阳极和共阴极)有关。显示十六进制数的段码值在下表中。,实例:LED数码管显示,原理图如下图所示,使之循环显示0-9数字。,段码的读取方法:将段码按显示值大小顺序存入一个数组中。使用时,只需将待显示值最为该数据的下标变量即可取得相应的段码。,unsigned char duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0

5、x7f,0x6f;,分析:将显示码循环输出到P0口即可实现循环显示。但由于数字09的显示段码没有规律可循,需要采取查表方式进行操作:,将显示码按序存放在一个数组中, 顺序号与代表的显示字符相对应。(如,char led_mod =x1,x2,.,xn通过循环变量指定待送出的数组元素,参考程序,#include#define uint unsigned int#define uchar unsigned charuchar duan=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴“0”“9”uchar i;void delay(uin

6、t z)uint x,y;for(x=z;x0;x-)for(y=125;y0;y-);,void main() while(1) for(i=0;i0;x-)for(y=125;y0;y-);void main()unsigned char i;While(1) for(i=0;i0;x-) for(y=125;y0;y-);void main()unsigned char i;While(1)for(i=0;i0;x-) for(y=125;y0;y-);, if(button=0) for(i=0;i2;i+)P3=weii;P2=duani;delay(10); else for(i=0;i2;i+)P3=weii; P2=duani+2;delay(10);,void main() uchar i; while(1),运行效果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报