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

单片机系统常用的显示器有:发光二极管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中。

转载于:https://www.cnblogs.com/czz0508/p/10470613.html

  • 2
    点赞
  • 2
    收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值