当前位置: 首页 > article >正文

LED点阵显示(Proteus 与Keil uVision联合仿真)(点阵字模提取)

点阵字模提取: https://pan.baidu.com/s/1DZSeLyD_SUkaHRgTm26o-A

提取码: 1111 

 一、LED点阵显示器结构

点亮点阵中一个发光二极管条件:对应行为高电平,对应列为低电平。如在很短时间内依次点亮很多个发光二极管,LED点阵就可显示一个稳定字符、数字或其他图形。控制LED点阵显示器显示,实质就是控制加到行线和列线上编码,控制点亮某些发光二极管(点),从而显示出由不同发光点组成的各种字符。

         16×16 LED点阵显示器的结构与8×8LED点阵显示模块内部结构及显示原理是类似的,只不过行和列均为16。16×16是由4个8×8 LED点阵组成,且每个发光二极管也是放置在行线和列线的交叉点上,当对应某一列置0电平,某一行置1电平时,该发光二极管点亮。

二、LED点阵显示器显示原理

下面以显示字符“子”为例

显示过程如下:

        先给LED点阵的第1行送高电平(行线高电平有效),同时给所有列线送高电平(列线低电平有效),从而第1行发光二极管全灭;      

        延时一段时间后,再给第2行送高电平,同时给所有列线送“1100 0000 0000 1111”,列线为0的发光二极管点亮,从而点亮10个发光二极管,显示出汉字“子”的第一横;      

        延时一段时间后,再给第3行送高电平,同时加到列线的编码为“1111 1111 1101 1111”,点亮1个发光二极管;    

        ……;      

         延时一段时间后,再给第16行送高电平,同时给列线送“1111 1101 1111 1111” ,显示出汉字“子”的最下面的一行,点亮1个发光二极管。然后再重新循环上述操作,利用人眼视觉暂留效应,一个稳定字符“子” 显示出来。

三、单片机控制16×16点阵显示屏显示“江”字

(1)原理图     

         利用单片机及 74LS154(4-16译码器)、74LS07、16×16 LED点阵显示屏来实现字符显示。 

        图中16×16 LED点阵显示屏16行行线R0~R15电平,由P1口低4位经4-16译码器74HC154的16条译码输出线L0~L15经驱动后的输出来控制。16列列线C0~C15的电平由P0口和P2口控制。剩下问题是如何确定显示字符的点阵编码,以及控制好每一屏逐行显示的扫描速度(刷新频率)。

        扫描显示时,单片机通过P1口低4位经4-16译码器74HC154的16条译码输出线L0~L15经驱动后的输出来控制,逐行为高电平,来进行扫描。由P0口与P2口控制列码的输出,从而显示出某行应点亮的发光二极管。

(2)源代码
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define out0 P0
#define out2 P2
#define out1 P1
void delay(uint j)		//延时函数
{
  uchar i=250;
  for(; j>0; j--)
  {
    while(--i);
    i=100;
  }
}
uchar code string[]=
{
0xFF,0xFF,0xFB,0xFF,0x17,0xC0,0xF7,0xFD,0xFE,0xFD,0xFD,0xFD,0xED,0xFD,0xEF,0xFD,
0xF7,0xFD,0xF7,0xFD,0xF8,0xFD,0xFB,0xFD,0xFB,0xFD,0x0B,0x80,0xFB,0xFF,0xFF,0xFF,/*"江",2*/
/* (16 X 16 , 宋体 )*/
};

void main()
{
  uchar i,j,n;
  while(1)
  {
    for(j=0; j<3; j++)			//共显示4个汉字
    {
      for(n=0; n<40; n++)			//每个汉字整屏扫描40次
      {
        for(i=0; i<16; i++) 		//逐行扫描16行
        {
          out1=i%16;			//输出行码,
          out0=string[i*2+j*32];      //输出列码到C0~C7,逐行扫描
          out2=string[i*2+1+j*32]; //输出列码到C8~C15,逐行扫描
          delay(4);			//显示并延时一段时间
          out0=0xff;		//列线C0~C7为高电平,熄灭发光二极管
          out2=0xff; 		//列线C8~C15为高电平,熄灭发光二极管
        }
      }
    }
  }
}
(3)显示结果

四、思考题

1、与数码管显示相比,LED点阵显示的优势是什么?

答:(1)高分辨率:LED点阵显示屏可以显示更复杂的图案、文本和动画等,具有较高的分辨率,能够展示更多的细节和更丰富的图像。

        (2)显示灵活性:点阵屏可以显示更多的像素和细节,适用于需要显示复杂图案、文本和动画等信息的应用,比数码管更加灵活和多样化。

        (3)控制复杂性:虽然点阵屏的控制较为复杂,但这种复杂性带来了更大的显示灵活性,允许创建更为精细和动态的显示效果。


http://www.kler.cn/a/381343.html

相关文章:

  • 【ONLYOFFICE文档】8.2版本测评
  • Linux中的软硬链接文件详解
  • FITS论文解析
  • 盘点 2024 十大免费/开源 WAF
  • mysql之命令行基础指令
  • Android App 技能在DuerOS的调试方法
  • 伍光和《自然地理学》电子书(含考研真题、课后习题、章节题库、模拟试题)
  • 在一个项目中同时应用OpenAPI、JSON Schema和OAuth2三个规范
  • 如何获取 Django 模型中所有带有选择的字段?
  • 自己生成的页面,保存为图片,并下载word
  • Java+Swing学生信息管理系统
  • JZ8二叉树的下一个结点
  • P10 Pytorch入门实战——Pytorch实现车牌识别
  • WPF 特性------Binding
  • PySpark任务提交
  • Pr 沉浸式视频 - 自动 VR 属性
  • 查找重复的电子邮箱
  • Java 实现接口幂等的九种方法:确保系统稳定性与数据一致性
  • C语言字符数组 java封装
  • sql中判断一个字段是否包含一个数据的方法有哪些?
  • Spring Boot框架在教育领域的创新应用:导师双选系统
  • golang 实现比特币内核:处理椭圆曲线中的天文数字
  • uniapp在js方法中,获取当前用户的uid(uni-id-user)表中的用户id
  • OCR与PaddleOCR介绍
  • 服务器配置一个固定的IP然后可以通过ssh登录作为管理接口
  • 瑞派宠物医院轮值总裁胡文强受邀出席第三届宠物产业大会