历史上的今天
今天是:2025年07月22日(星期二)
2021年07月22日 | 51单片机学习——4--数码管显示
2021-07-22 来源:eefocus
数码管静态显示原理
显示器及其接口
单片机系统中常用的显示器有:
发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、TFT液晶显示器等。LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。
LED数码管根据LED的不同接法可以分为2类:共阴和共阳。

使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。我们实验板用共阴LED显示器,根据电路连接图显示16进制数的编码已列在下表。
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 无显示
dp g f e d c b a 对应0000 0000
右四位为低位,左四位为高位
如果我们想让某一段点亮,即令这一位为1,再转化为十六进制,按照这个规律我们就可以得到上述对应表
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
数码管动态显示原理
动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。


74HC138译码器
主要特性
� 采用 CMOS 工艺
� 低功耗
� 工作电压:3.0V—5.0V
� 封装形式:SOP16




代码实现
从左到右同时显示76543210
#include typedef unsigned char u8; typedef unsigned int u16; sbit LSA=P2^2; //定义管脚 sbit LSB=P2^3; sbit LSC=P2^4; u8 code smg[]={0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d ,0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c ,0x39 , 0x5e , 0x79 , 0x71}; //数码管段选数据即显示的数字 void delay(u16 i)//延时函数 { while(i--); } //数码管位选数据即让哪个灯亮 void choice(u8 i) { switch(i) { case(0):LSA=0;LSB=0;LSC=0;break;//对应最右边的数码管LSC LSB LSA 000 之和为0 case(1):LSA=1;LSB=0;LSC=0;break;//对应从右边数第二个数码管LSC LSB LSA 001 之和为1 case(2):LSA=0;LSB=1;LSC=0;break;//对应从右边数第三个数码管LSC LSB LSA 010 之和为2 case(3):LSA=1;LSB=1;LSC=0;break;//对应从右边数第四个数码管LSC LSB LSA 011 之和为3 case(4):LSA=0;LSB=0;LSC=1;break;//对应从右边数第五个数码管LSC LSB LSA 100 之和为4 case(5):LSA=1;LSB=0;LSC=1;break;//对应从右边数第六个数码管LSC LSB LSA 101 之和为5 case(6):LSA=0;LSB=1;LSC=1;break;//对应从右边数第七个数码管LSC LSB LSA 110 之和为6 case(7):LSA=1;LSB=1;LSC=1;break;//对应从右边数第八个数码管LSC LSB LSA 111 之和为7 } } void main() { u8 i; while(1) { for(i=0;i<8;i++) { choice(i); P0=smg[i];//接收段选数据 delay(100);//利用视觉暂留效应 P0=0x00;//消影,避免上一次数据的残留 } } }
史海拾趣
|
两种键盘 1.单行的时候有的时候有2个灯在闪烁 2.双行的时候任何时候时候都只一个灯在闪烁 我现在把P3.6口的状态作为单行和双行区别 P3.6=高..单行 P3.6=低..双行 所发为单行键盘 程序,,,哪个帮我添加个功能,,使单行双行都可以 ...… 查看全部问答> |
|
有意向的朋友发mail给我 fmchina@126.com,或者QQ:59394846 Windows Mobile/CE 驱动软件开发工程师 职位描述: 1) 负责Windows Mobile/CE BSP移植 驱动移植,开发与调试等工作。 职位要求: 1) 掌握计算机原理、操作系统,通信原理和相关硬件 ...… 查看全部问答> |
|
各位好~我在做一款ARM板,CPU使用AT91SAM9261,WINCE系统.用ADS7843做触摸屏控制,现在的问题是功能实现了,但是在点击触摸屏时,会出现这样的问题.在点击的一点与其他不固定一点拉出一个框框.就类似按住鼠标左键鼠标在电脑桌面上拉动鼠标圈出的框框是 ...… 查看全部问答> |
|
刚学习单片机中,忽然想到程序是怎样下载到ROW中,想不明白啊!编程器的大致原理还请在座那位高手指点一下!我现在所知道的:每种编程器都是针对不同的MCU的,从芯片方面,其厂商的主页上有关于它产品的烧录相关资料,但基本看不懂!而中文网页上搜 ...… 查看全部问答> |




