51 单片机 点阵 LED 显示屏程序

news/2024/11/25 11:41:29/

在这里插入图片描述
在这里插入图片描述
我们把 9 脚置成高电平、13 脚置成低电平的话,左上角的那个 LED
小灯就会亮了。下面我们就用程序来实现一下,特别注意,控制点阵左侧引脚的 74HC138是原理图上的 U4,8 个引脚自上而下依次由 U4 的 Y0~Y7 输出来控制。

在这里插入图片描述

#include <reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
unsigned char code image[] = { //图片的字模表0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3,0xFF,0x99,0x00,0x00,0x00,0x81,0xC3,0xE7,0xFF,0x99,0x99,0x99,0x99,0x99,0x81,0xC3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};void main()
{EA = 1; //使能总中断ENLED = 0; //使能 U4,选择 LED 点阵ADDR3 = 0;TMOD = 0x01; //设置 T0 为模式 1TH0 = 0xFC; //为 T0 赋初值 0xFC67,定时 1msTL0 = 0x67;ET0 = 1; //使能 T0 中断TR0 = 1; //启动 T0while (1);
}
/* 定时器 0 中断服务函数 */
void InterruptTimer0() interrupt 1
{static unsigned char i = 0; //动态扫描的索引static unsigned char tmr = 0; //250ms 软件定时器static unsigned char index = 0; //图片刷新索引TH0 = 0xFC; //重新加载初值TL0 = 0x67;
//以下代码完成 LED 点阵动态扫描刷新P0 = 0xFF; //显示消隐switch (i){case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=image[index+0]; break;case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=image[index+1]; break;case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=image[index+2]; break;case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=image[index+3]; break;case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=image[index+4]; break;case 5: ADDR2=1; ADDR1=0; ADDR0=1; i++; P0=image[index+5]; break;case 6: ADDR2=1; ADDR1=1; ADDR0=0; i++; P0=image[index+6]; break;case 7: ADDR2=1; ADDR1=1; ADDR0=1; i=0; P0=image[index+7]; break;default: break;}//以下代码完成每 250ms 改变一帧图像tmr++;if (tmr >= 250) //达到 250ms 时改变一次图片索引{tmr = 0;index++;if (index >= 32) //图片索引达到 32 后归零{index = 0;}}
}

效果图:
在这里插入图片描述


http://www.ppmy.cn/news/520146.html

相关文章

湖南2014CPC 超大型LED显示屏

Description Input 输入包含不超过100组数据。每组数据第一行为"START hh:mm:ss"&#xff0c;表示比赛开始时刻为hh:mm:ss。最后一行为"END hh:mm:ss"&#xff0c;即比赛结束时刻。二者之间至少会有一个SCORE信息&#xff0c;格式为"SCORE hh:mm:ss t…

深圳40年灯光秀之LED显示屏显示技术

那就先上几幅图吧。深圳40年灯光秀的照片吧。 每一张照片都是分为上下2个部分是吧。上面的部分&#xff0c;是一个一个立起来的高楼。如果你在深圳&#xff0c;在莲花山&#xff0c;很容易就能看出来。腾讯大厦就在那里。下面是显示的画面&#xff0c;是实际上播出的画面。我们…

联诚发将携超高清LED显示屏产品亮相2022PLS独角兽活动现场

2022 PLS独角兽活动 | 联诚发将携多项黑科技产品重磅亮相 2022年2月25-28日&#xff0c;PLS独角兽系列活动之沉浸式娱乐空间将在广州中国进出口商品交易会展馆盛大举行。作为国家级高新技术企业、国家级专精特新小巨人企业&#xff0c;联诚发致力于数字内容科技应用&#xff0c…

端午作业1

只要文件存在&#xff0c;就会有唯一对应的inode号&#xff0c;且相应的会存在一个struct inode结构体。在应用层通过open&#xff08;&#xff09;打开一个设备文件&#xff0c;会对应产生一个inode号&#xff0c;通过inode号可以找到文件的inode结构体 根据inode结构体中文件…

LED显示屏、LED照明、LED亮化展业生产--深圳利用价格的科技有限公司

深圳市利宇佳光电科技有限公司-全彩LED显示屏批发,led显示屏专业生产厂,LED亮化,LED照明,全彩LED显示屏批发,led模组批发,led显示屏专业生产厂商led单元板led模组,led单元板&#xff0c;食人鱼&#xff0c;日光管&#xff0c;射灯&#xff0c;球灯&#xff0c;利宇佳光电&#…

7.4_2B树的插入删除

我们先设置根节点 我们再往里面插入关键字 比如说&#xff1a;80 中间位置为49&#xff1a;&#xff08;5/2&#xff09;向上取整为3 新元素一定要插入到最底层”终端结点“&#xff0c;用”查找”来确定插入位置。 失败节点&#xff08;叶子节点不属于同一层&#xff09; 讲…

XP系统安装Office 2010出现:windows installer服务不能更新一个或多个受保护的windows文件 解决方法

安装Office 2010时就出现了下面的错误&#xff1a;windows installer服务不能更新一个 或多个受保护的windows文件 。 解决方法&#xff1a; 将 Fp4autl.dll、Fpencode.dll、Fp4awel.dll三个文件拷贝到”C: \Program Files\Common Files\Microsoft Shared\web server extens…

wine安装office_如何使用Wine在Linux上安装MS Office 2007

wine安装office As a Linux user, I must keep a copy of Windows. One reason is that I should edit MS Office files, such as .doc, .ppt, .xls and .xml (office 2003 xml format) required by, created by or for other using Windows. Wine worked for me with Office 2…