51单片机入门学习 第四天

提示:今天是学习51单片机的第四天,以下就是今天的笔记(我买的是普中的开发板,学习笔记是根据普中的视频进行学习)


目录

静态数码管实验

1.数码管介绍

2.硬件设计

3.软件设计


静态数码管实验

1 数码管介绍

2 硬件设计

3 软件设计

1.数码管介绍

1.1 数码管简介 数码管是一种半导体发光器件,其基本单元是发光二极管。数码管也称 LED 数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要 显示的内容。按能显示多少个可分为 1 位、 2 位、 3 位、 4 位、 5 位、 6 位、7 位等数码管。

按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极 COM 接到地线 GND 上,当某一字段发光 二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

1.2 数码管显示原理:不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内 部的发光二极管来发光,下面我们就来讲解一个数码管是如何亮起来的。数码管内部电路如下图所示:

从上图可看出,一位数码管的引脚是 10 个,显示一个 8 字需要 7 个小段, 另外还有一个小数点,所以其内部一共有 8 个小的发光二极管,最后还有一个 公共端,多数生产商为了封装统一,单位数码管都封装 10 个引脚,其中第 3 和 第 8 引脚是连接在一起的。而它们的公共端又可分为共阳极和共阴极,图中间为共阳极内部原理图,右图为共阴极内部原理图。

对共阴极数码来说,其 8 个发光二极管的阴极在数码管内部全部连接在一起, 所以称“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。 当我们给数码管的任意一个阳极加一个高电平时,对应的这个发光二极管就点亮 了。如果想要显示出一个 8 字,并且把右下角的小数点也点亮的话,可以给 8 个阳极全部送高电平,如果想让它显示出一个 0 字,那么我们可以除了给第“g, dp” 这两位送低电平外,其余引脚全部都送高电平,这样它就显示出 0 字了。 如果使用共阴数码管,需要注意增加单片机 IO 口驱动电流,因为共阴数码 管是要靠单片机 IO 口输出电流来点亮的,但单片机 I/O 口难以输出稳定的、如此大的电流,所以数码管与单片机连接时需要加驱动电路,可以用上拉电阻的方法或使用专门的数码管驱动芯片,比如 74HC573、74HC245 等,其输出电流较大, 电路接口简单。

共阳极数码管其内部 8 个发光二极管的所有阳极全部连接在一起,电路连接时,公共端接高电平,因此我们要点亮哪个发光管二极管就需要给阴极送低电平, 此时显示数字的编码与共阴极编码是相反的关系,数码管内部发光二极管点亮 时,也需要 5mA 以上的电流,而且电流不可过大,否则会烧坏发光二极管。因此不仅要防止数码管电流过大,同时要防止流经数码管的电流集中到单片机时电流不能过大,否则会损坏主芯片。 一般共阳极数码管更为常用因为数码管的非公共端往往接在 IC 芯片的 I/O 上,而 IC 芯片的驱动能力往往是比较小的,如果采用共阴极数码管,它的驱动端在非公共端, 就有可能受限于 IC 芯片输出电流不够而显示昏暗,要外加上拉电阻或者是增加三极管加大驱动能力。但是 IC 芯片的灌电流, 即输入电流范围比较大。所以使用共阳极数码管的好处是:将驱动数码管的工作 交到公共端(一般接驱动电源),加大驱动电源的功率自然要比加大 IC 芯片 I/O 口的驱动电流简单许多。另一方面,这样也能减轻主芯片的负担。 我们开发板上使用的数码管是 2 个四位一体的共阴极数码管(即 8 个 LED 的阳极全部并联一起引出,阴极分别引出如 A、 B...DP)。

1.3 数码管静态显示原理 LED 数码管显示器工作方式有两种:静态显示方式和动态显示方式。

静态显 示的特点是每个数码管的段选必须接一个 8 位数据线来保持显示的字形码。当送 入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优 点是占用 CPU 时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高,比如使用 4 个静态数码管,那么就得 32 个 IO 来控制,这对 51 单片机来说 是无法承受的。

动态显示的特点是将所有数码管的段选线并联在一起,由位选线控制是哪一 位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位 数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所 以在选择限流电阻时应略小于静态显示电路中的。

2.硬件设计

开发板上的静态数码管模块电路如下图所示

3.软件设计

控制静态数码管显示数字 0,即让 P0 端口输出数字 0 的段码 0x3f(共阴)。

#include "reg52.h"

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};//共阴

void main()
{	
	SMG_A_DP_PORT=gsmg_code[0];		
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值