51单片机实验6-LED点阵的应用

实训目的:

1、编写程序通过控制51单片机引脚,在8*8LED点阵上显示循环依次显示0-9几个数字

实训步骤:

(一)LED点阵的应用

电路连接如下:

 主要器件:AT89C51、RES、RESPACK-8,MATRIX-8X8-GREEN

程序代码如下:

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
{	
	0x00,0x38,0x44,0x44,0x44,0x44,0x44,0x38,
	0x00,0x10,0x30,0x10,0x10,0x10,0x10,0x38,
	0x00,0x38,0x44,0x04,0x08,0x10,0x20,0x7c,
	0x00,0x38,0x44,0x04,0x38,0x04,0x44,0x38,
	0x00,0x08,0x18,0x28,0x48,0x7c,0x08,0x08,
	0x00,0x7c,0x40,0x40,0x38,0x04,0x44,0x38,
	0x00,0x38,0x44,0x40,0x78,0x44,0x44,0x38,
	0x00,0x7c,0x04,0x04,0x08,0x10,0x10,0x10,
	0x00,0x38,0x44,0x44,0x38,0x44,0x44,0x38,
	0x00,0x38,0x44,0x44,0x3c,0x04,0x44,0x38,
};
uchar i=0,t=0,h=0,num_index=0,k;
void main()
{	
	P3=0x80;
	num_index=0;
	TMOD=0x01;
	TH0=(65536-5000)/256;
	TL0=(65536-5000)%256;
	TR0=1;
	IE=0x82;
	while(1);
}
void led_screen_display() interrupt 1
{	
	TH0=(65536-5000)/256;
	TL0=(65536-5000)%256;
	P3=_crol_(P3,1);
	k=(num_index*8+i+h)%80;
	P0=~table_of_digits[k];
	i++;
	i=i%8;
	t++;
	if(t%31==0) h=++h%8;
	if(t==248)
	{	
		t=0x00;
		if(++num_index==10) num_index=0;
	}
}

设计一个基于AT89C51单片机和74LS154芯片的动态显示点阵汉字的LED显示屏,首先需要明确各个组件的功能和连接方式。AT89C51单片机作为控制核心,负责生成控制信号和处理用户输入。74LS154是一个4到16线译码器,用于扩展IO口,驱动LED点阵模块。显示屏采用动态扫描方式工作,即轮流点亮每一行的LED,每一行保持极短时间的点亮状态,通过人眼视觉暂留效应,形成稳定的图像。 参考资源链接:[基于单片机LED点阵广告牌设计方案](https://wenku.csdn.net/doc/7s3ra8uqwj?spm=1055.2569.3001.10343) 具体实现步骤如下: 1. 设计电路,将AT89C51单片机的IO口连接到74LS154的输入端,74LS154的输出端分别连接到LED点阵的行驱动电路。 2. 对于LED点阵模块,需要将其列线连接到单片机的另一组IO口,或者通过行列驱动芯片(如74LS154)进行行列控制。 3. 编写程序,使用C语言或汇编语言,控制AT89C51单片机按照预定的顺序和时间间隔输出控制信号,实现对LED点阵的动态扫描。 4. 设计点阵汉字的字模,将汉字转换为点阵数据,存储在单片机的存储器中。 5. 在程序中实现字模数据的读取和发送,控制74LS154译码器根据输入的行列地址点亮对应的LED,形成动态显示效果。 为了实现高质量的动态显示效果,还需要考虑刷新频率和点亮时间的控制。通常,刷新频率要高于50Hz以避免闪烁,每行点亮时间控制在几个毫秒级别,以保证整个屏幕亮度均匀,同时减少动态模糊。 有关于单片机的控制原理、LED点阵的驱动方法,以及点阵字模的设计等内容,在《基于单片机LED点阵广告牌设计方案》一书中都有详细的讲解。这份资料对于设计和开发LED显示屏提供了全面的技术支持和解决方案,是理解与应用的关键资源。 参考资源链接:[基于单片机LED点阵广告牌设计方案](https://wenku.csdn.net/doc/7s3ra8uqwj?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值