LED点阵移动.docx
- 文档编号:26381836
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:16
- 大小:888.12KB
LED点阵移动.docx
《LED点阵移动.docx》由会员分享,可在线阅读,更多相关《LED点阵移动.docx(16页珍藏版)》请在冰豆网上搜索。
LED点阵移动
目录
第一章设计内容和要求1
1.1总体设计要求1
1.2具体要求1
1.3方案1
第二章系统的硬件设计与实现2
2.1电路设计框图2
2.2系统硬件概述2
2.3主要电路的设计2
2.3.1AT89C52单片机2
第三章软件设计7
3.1字母数字编码7
3.2程序流程图9
第四章系统调试10
4.1硬件测试10
4.2软件测试10
第五章设计小结11
参考文献12
附录一元器件清单13
附录二程序清单14
附录三原理图16
附录四实物图17
设计任务书........................................................................................................18
第一章设计内容和要求
1.1总体设计要求
本系统采用单片机AT89C52为LED显示屏的控制核心,制造一种简单的8×8显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字稳定、清晰无串扰,图形或文字显示有静止、移入移出等显示方式。
本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
1.2具体要求
1.运用单色或双色LED显示动态画面;
2.运用单片机和LED字符显示器完成设计;
3.焊接电路板;
4.下载程序进行调试,完成报告.
1.3方案
本设计思路是:
利用单片机对整个系统进行总体控制,进行显示所要显示的字符。
显示方式为:
逐字滚动显示。
显示字模数据由单片机输入显存,点阵的点亮过程有程序控制,点阵采用单色显示,该显示器电路的特点是:
点阵的动态显示过程占用时间比较短,亮度比较高。
根据设计要求,初步确定设计方案如下:
1.选择AT89C52单片机(晶振频率为f=11.0592MHZ)作为整个系统的核心器件,对整个系统进行总体控制,发送并时时处理系统信息。
2.通过编程滚动显示:
“ABC0123456789”。
3.扫描信号连接到单片机的P0口,显示信号连接到单片机的P2口。
4.点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,其中驱动电路采共阴型高态扫描、高态显示信号的驱动电路。
第二章系统的硬件设计与实现
2.1电路设计框图
本文设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如图2.1所示:
图2.1系统框图
2.2系统硬件概述
本字符显示器采用AT89C52单片机作控制器,11.0592MHZ晶振,8*8点阵共阴LED显示器。
2.3主要电路的设计
2.3.1AT89C52单片机
单片机系统电路采用如下图2.2所示的AT89C52芯片,40引脚的双列直插封装方式,允许RAM、定时器/计数器、串口、中断继续工作;作为输出口,每位能驱动8个TTL逻辑电平,能进行定时器/计数器、串口、中断等系列实验。
现在我们对这些引脚的功能加以说明:
a)电源引脚:
VCC、GND
b)时钟引脚:
XTAL1、XTAL2
c)复位引脚:
RST
d)外部程序存储器访问允许控制端:
e)低八位地址锁存允许信号:
ALE
f)片外程序存储器的读选通信号:
g)32个可编程口:
P0、P1、P2、P3
图2.2
2.3.2显示模块的设计
1. 8X8 点阵LED工作原理说明
图2.3为8×8点阵LED外观图,其等效电路如图2.4所示。
图2.38×8点阵LED外观
图2.4
本次科研实践中采用的点阵型号为23088DH-U共阴的8×8点阵LED
23088DH-U点阵的管脚如图2.5所示
图2.5
此8×8LED点阵为共阴极点阵,其中
1至8控制行,行为阳极,低电平1有效。
9至16控制列,列为阴极,高电平0有效。
2.3.374LS245锁存器
74LS245是我们常用的芯片,用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。
74LS245还具有双向三态功能,既可以输出,也可以输入数据。
当8051单片机的P0口总线负载达到或超过P0最大负载能力时,必须接入74LS245等总线驱动器。
当片选端/CE低电平有效时,DIR=“0”,信号由B向A传输;(接收)
DIR=“1”,信号由A向B传输;(发送)当CE为高电平时,A、B均为高阻态。
由于P2口始终输出地址的高8位,接口时74LS245的三态控制端1G和2G接地,P2口与驱动器输入线对应相连。
P0口与74LS245输入端相连,E端接地,保证数据线畅通。
8051的/RD和/PSEN相与后接DIR,使得RD和PSEN有效时,74LS245输入(P0.1←D1),其它时间处于输出(P0.1→D1)。
图2.674LS245管脚图
第三章软件设计
利用数组将各数字字符的编码存放在寄存器中,在执行显示过程中从寄存器中将对应数字或字符编码的数组一一轮流调出即可实现动态。
3.1字母数字编码
charcodea[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
charcodeb[]={0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,
0x7c,0x12,0x11,0x12,0x7c,0x00,
0x41,0x7f,0x49,0x49,0x36,0x00,
0x3e,0x41,0x41,0x41,0x22,0x00,
0x3e,0x41,0x41,0x41,0x3e,0x00,
0x00,0x00,0x42,0x7f,0x40,0x00,
0x72,0x51,0x51,0x51,0x4e,0x00,
0x22,0x41,0x49,0x49,0x36,0x00,
0x18,0x14,0x12,0x7f,0x10,0x00,
0x27,0x45,0x45,0x45,0x39,0x00,
0x3e,0x49,0x49,0x49,0x32,0x00,
0x01,0x01,0x01,0x7d,0x03,0x00,
0x36,0x49,0x49,0x49,0x36,0x00,
0x26,0x49,0x49,0x49,0x3e,0x00,
0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00
};
完整程序
#include"reg52.h"
#include"LEDdata.h"
voiddelayms(unsignedcharms)//延时子程序
{
unsignedchari;
while(ms--)
{
for(i=0;i<120;i++);
}
}
main()
{
inti,j,k;
while
(1)
{
for(k=0;k<85;k++)
for(j=0;j<50;j++)//数据循环;
for(i=0;i<8;i++)//列控制循环;
{
P0=a[i];//列控制数据读取;
P2=b[i+k];//行数据读取
delayms
(1);//延时;
P2=0;//消除托影;
}
for(k=86;k>=0;k--)//数据循环;
for(j=0;j<50;j++)
for(i=7;i>=0;i--)//列控制循环;
{
P0=a[i];//列控制数据读取;
P2=b[i+k];//行数据读取
delayms
(1);//延时;
P2=0;//消除托影;
}
}
3.2程序流程图
×
3.1程序流程图
第四章系统调试
4.1硬件测试
LED字符显示器的电路,很容易出现虚焊,所以焊接不可轻视,只要出于一处的错误,便会造成更多的麻烦虚焊的检查相当的复杂,在用杜邦线插排针时需要注意点阵及芯片的管脚,由于管脚比较多一不小心就容易差错,应该仔细对照管脚图,做到细心有耐心。
我在LED字符显示器的设计调试中遇到了很多的问题,经过排查和思考找到了解决方法。
以下为主要的问题:
(1)在用交流电变压器调试时没有效果显示用开发板有效果
解决:
本来以为是焊接问题,查了好久没有找到原因,后来请教了同学,知道了是整流电路出现了问题,怪不得直流有用交流没用,原来是我的PCB板子的整流模块坏了,然后我自己焊接了一个整流模块,调试成功。
4.2软件测试
LED字符显示器的字符编码较为繁琐。
在编写程序和调试时出现了较多的问题,开始不知道点阵有共阴共阳之分,导致焊接出来完全没有效果,做了很多无用功。
第五章设计小结
以上详细介绍了基于单片机控制的LED点阵显示动态画面的设计,基本思路比较简单。
通过自身的努力,本次设计算是圆满成功,但是限于时间和条件方面的限制,还存在一些不足之处,有待进一步完善。
这次科研实践做的过程中遇到了很大的阻力和挫折,锻炼了我的动手能力,通过上学期的单片机课程设计和这次的科研实践,让我们的知识从理论上慢慢转移到了实践中,专业知识得到了巩固,当然没有同学和老师的指导,此次科研实践难度将会更加大。
同时这次科研实践提高了我独立查找资料解决问题的能力,增加了我的阅历。
参考文献
(1)LED点阵显示与C语言编程(基础篇)
(2)《单片机原理与实用技术》付晓光著清华大学出版社
(3)《单片机应用系统设计技术》张齐朱宁西著电子工业出版社
(4)《单片机原理与应用系统设计》张齐编著电子工业出版社
附录一元器件清单
序号
名称
型号、参数
备注
价格/元
数量
1
CPU
STC89C52
DIP40封装
4.6
1
2
管座
DIP-40
0.4
1
3
晶振
11.0592MHZ
49S型
1
1
4
晶振
32768HZ
0.5
1
5
整流桥
2W10
2A圆桥
0.8
1
6
稳压IC
LM7805
TO-220
1.2
1
7
电解电容
1000uf/16V
0.1
1
8
电解电容
47uf/16V
0.1
2
9
电解电容
10uf/16V
0.1
1
10
独石电容
0.47uf
0.1
2
11
杜邦线
6
20
12
排阻
A10-103或A09-103
直插
0.6
1
13
单排排针
直针1*40
2.54mm
0.4
4
14
变压器
220/9V
6
1
15
电源线
3
1
16
8x8LED字符显示器
23088DH-U
5
2
成本总价
29.9元
附录二程序清单
#include"reg52.h"
#include"LEDdata.h"
voiddelayms(unsignedcharms)//延时子程序
{
unsignedchari;
while(ms--)
{
for(i=0;i<120;i++);
}
}
main()
{
inti,j,k;
while
(1)
{
for(k=0;k<85;k++)
for(j=0;j<50;j++)//数据循环;
for(i=0;i<8;i++)//列控制循环;
{
P0=a[i];//列控制数据读取;
P2=b[i+k];//行数据读取
delayms
(1);//延时;
P2=0;//消除托影;
}
for(k=86;k>=0;k--)//数据循环;
for(j=0;j<50;j++)
for(i=7;i>=0;i--)//列控制循环;
{
P0=a[i];//列控制数据读取;
P2=b[i+k];//行数据读取
delayms
(1);//延时;
P2=0;//消除托影;
}
}
}
LEDdata.h程序
charcodea[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
charcodeb[]={0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,
0x7c,0x12,0x11,0x12,0x7c,0x00,
0x41,0x7f,0x49,0x49,0x36,0x00,
0x3e,0x41,0x41,0x41,0x22,0x00,
0x3e,0x41,0x41,0x41,0x3e,0x00,
0x00,0x00,0x42,0x7f,0x40,0x00,
0x72,0x51,0x51,0x51,0x4e,0x00,
0x22,0x41,0x49,0x49,0x36,0x00,
0x18,0x14,0x12,0x7f,0x10,0x00,
0x27,0x45,0x45,0x45,0x39,0x00,
0x3e,0x49,0x49,0x49,0x32,0x00,
0x01,0x01,0x01,0x7d,0x03,0x00,
0x36,0x49,0x49,0x49,0x36,0x00,
0x26,0x49,0x49,0x49,0x3e,0x00,
0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00
};
附录三原理图
附录四实物图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 点阵 移动