静态数码管工作原理及代码实现

单片机系统常用的显示器有:发光二极管LED显示器、液晶LCD显示器、TFT液晶显示器等等。LED显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5x8、8x8点阵等)。

LED数码管根据LED的不同接法可以分为2类:共阴和共阳

使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。我们实验板用共阴LED

显示器根据电路连接图显示16进制数的编码如下图:

静态显示原理:LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于检测可控制。缺点是硬件电路比较复杂,成本较高。

其中321是控制74HC573锁存功能。

静态数码管显示数字0的代码如下:

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

sbit LSA P2^2;
sbit LSB P2^3;
sbit LSC P2^4;

u8 code smgduan[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 
             0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};

void main()
{
    LSA=0;
    LSB=0;
    LSC=0;
    P0=smgduan[0];
    while(1);
}

code的作用:code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改。程序可以简单的分为code(程序)区,和data (数据)区,code区在运行的时候是不可以更改的,data区放全局变量和临时变量,是要不断的改变的。code区也可以放在rom里面,也可以放在ram里面,data只能放在ram中。

posted @ 2019-03-04 14:43  车路历程  阅读(3891)  评论(0编辑  收藏  举报