小白上路之51单片机(STC89C52)--数码管


数码管介绍

显示器及其接口(本文主要针对LED显示器来介绍)

  单片机系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、TFT液晶显示器等。
  LED显示器的显示结构分为:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。
  LED数码管根据LED的不同接法可以分为共阴和共阳
   共阴极数码管:将8个LED的阴极接到同一管脚上(开发板使用
   共阳极数码管:将8个LED的阳极接到同一管脚上
在这里插入图片描述
  若想在数码管中显示数字或字符,则需在数码管上点亮对应的LED。通常采用的是8段显示,正好凑成8位,也就是一个字节。
  根据电路连接图数码管显示常用的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  无显示

开发板原理图

在这里插入图片描述

数码管是如何显示出字符的

此处就举例说明8~~以显示数字0为例
  要想显示数字0,则需对应同时点亮数码管中的a,b,c,d,e、f 这6个LED;通过开发板原理图可以看出a~dp分别对应74HC245芯片上的P00-P07这8个管脚,因此要点亮abcdef这6个LED则需将P00-P05置为高电平‘1’,而g和dp则为低电平‘0’;最后将对应的电平从P0口的高位写向低位,即从P07对应的dp开始写,并转为十六进制。应为:0011 1111–>0x3f

静态数码管

特点
  每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新的字形码。
优点
  占用CPU时间少、显示便于监测和控制。
缺点
  硬件电路复杂、成本高。(若要用到8个静态数码管,也就是说这8个数码管都是独立的,让其实现静态显示,即要把这8个数码管各自的8段全部接入单片机来控制,显然,单片机的管脚是不够的:单片机只有32个口,而要控制这8个的话,则需8×8个IO口,就需要对单片机的IO口来进行扩展…

数码管静态显示原理

  回到开发板原理图,若只需LED1静态显示,则位选时将LED1置为低电平‘0’(因为开发板上为共阴极数码管)即P22-P24口都为‘0’–>LED1口输出‘0’(原理参见三八译码器),在段选时根据要显示的值将对应的P0口置为高/低电平即可。若只让LED4静态显示,则P24、P23、P22口分别为‘1’、‘0’、‘0’–>LED4则输出为‘0’,即位选选中LED4。
  补充:P0口为漏极开路(即高阻状态,可独立输入/输出低电平和高阻状态,若需要产生高电平,则需使用外部上拉电阻或电平转换芯片),若不加上拉电阻,想对其单独输出高低电平是无法实现的。

74HC573锁存器芯片的使用

  参见开发板原理图,OE为使能端,当其为低电平时,锁存器开始工作,因此在开发板中已经默认让其接地。LE为锁存端,当其为高电平时,Q0-Q7与D0-D7的状态一样,也就是说芯片内部是打通的,即Q0-Q7随着D0-D7变化而变化;为低电平时,Q0-Q7都锁存数据,无论D0-D7如何变化,Q0-Q7都保持锁存的值不变。
  此处使用573来锁存和驱动,将单片机的P00-P07分别接在D0-D7,LE默认让其短接到VCC,即LE为高电平,也就是P00-P07怎么改变,则段选就怎么改变,因此可以通过P0口直接给数码管发送段选数据。

源程序–静态数码管

#include "reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;

sbit LA=P2^2;
sbit LB=P2^3;
sbit LC=P2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值