单片机控制LED点阵显示剖析.docx
- 文档编号:23441291
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:15
- 大小:583.05KB
单片机控制LED点阵显示剖析.docx
《单片机控制LED点阵显示剖析.docx》由会员分享,可在线阅读,更多相关《单片机控制LED点阵显示剖析.docx(15页珍藏版)》请在冰豆网上搜索。
单片机控制LED点阵显示剖析
课程设计论文
题目:
单片机控制LED点阵显示
院(系):
机械工程
专业:
机械制造及其自动化
学生姓名:
学号:
指导教师:
职称:
年月日
目录
引言…………………………………………………………………………1
1设计任务与要…………………………………………………………1
1.1设计目的…………………………………………………………………………1
1.2任务要求及器件…………………………………………………………………1
2LED动态显示原理:
………………………………………………2
2.18*8点阵动态显示例……………………………………………………………2
3硬件电路设计…………………………………………………………………3
3.116*16点阵制作………………………………………………………………3
3.2AT89C51特性………………………………………………………………5
3.374HC154…………………………………………………………………6
3.4单片机系统的基本模块…………………………………………………………7
4软件设计…………………………………………………………8
5软件运行结果…………………………………………………13
6结论………………………………………………………………14
7谢辞……………………………………………………………15
8参考文献…………………………………………………………15
引言
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,
广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市
场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本
和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室
内用16*16的点阵LED图文显示屏,图形或文字显示有静止、移入移出
等显示方式。
1.1设计目的:
掌握单片机控制原理与光显示器件的应用
熟悉汇编语言编程
1.2任务要求:
通过AT89C51的P1.0—P1.3连接4—16线译码器74LS154
对16*16LED点阵的每一竖列进行逐列扫描,并将P0与P2端口作为数据输出
端点亮数码管发光显示,实现“新余学院机电工程学院张铸祥单片机课程设计”
字样,并依次左移循环显示
主要器件:
AT89C51,RP1(100K*8),16*16LED点阵(green共阴极),
74H154,晶振(12M),2个30PF电容,0.01UF电容,R1(100K),按钮开关
2.LED动态显示原理:
LED点阵显示系统中各模块的显示方式:
有静态和动态显示两种。
静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。
点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。
将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。
最典型的例子就是电影放映机。
在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。
2.18*8点阵动态显示例
以8×8点阵模块为例,说明一下其使用方法及控制过程。
图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。
相邻两行线间绝缘。
同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。
在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。
则行线和列线的交叉点处的LED就会有电流流过而发光。
比如,Y7为1,X0为0,则右下角的LED点亮。
再如Y0为1,X0到X7均为0,则最上面一行8个LED全现描述一下用动态扫描显示的方式,显示字符“B”的过程。
其过程如图2.1点亮。
现描述一下用动态扫描显示的方式,显示字符“B”的过程。
其过程如图3.1
图2.1用动态扫描显示字符“B”的过程
3.硬件电路设计
3.116*16点阵制作
Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。
下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。
首先,从Proteus7.5的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。
此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。
然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。
并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。
连接好的16×16点阵如图3.1.1所示。
成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。
组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如图3.1.2所示。
图3.1.2
可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。
然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.4所示。
看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。
需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。
然后,我们将其保存,以便以后使用。
3.2AT89C51特性
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
外形及引脚排列如图3.2所示
·
图3.2
3.374HC154
74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。
74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。
该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。
任选一个使能输入端作为数据输入,74HC154可充当一个1-16的多路分配器。
当其余的使能输入端置低时,地址输出将会跟随应用的状态。
1-1113-17:
输出端。
(outputs(activeLOW))
12:
Gnd电源地(ground(0V))
18-19:
使能输入端、低电平有效(enableinputs(activeLOW))
20-23地址输入端(addressinputs)
24:
VCC电源正(positivesupplyvoltage)
H=高电平(HIGHvoltagelevel)
L=低电平(LOWvoltagelevel)
X=任意电平(don’tcare)
只要控制端G1、G2任意一个为高电平,A、B、C、D任意电平输入都无效。
G1、G2必须都为低电平才能操作芯片
3.4单片机系统的基本模块
基本模块的制作是基于单片机的16*16点阵滚动显示的基本思路,也是我们
研究的基于单片机的16*16点阵滚动显示的重要依据。
其中,单片机最小系统包括复位电路、晶振电路和电源电路。
显示部分即点
阵显示电路,驱动部分即74HC154驱动电路。
4.软件设计
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVDPTR,#TAB
MOVR1,#00H
MOVR4,#144
CM:
MOVR5,#5
MOVR3,#16
C1:
MOVR2,#0
C16:
MOVP0,#00H
MOVP2,#00H
CLRP3.0
MOVA,R2
MOVCA,@A+DPTR
MOVP0,A
INCR2
MOVA,R2
MOVCA,@A+DPTR
MOVP2,A
INCR2
MOVP1,R1
INCR1
ACALLD1MS
ACALLD1MS
DJNZR3,C16
MOVR3,#16
DJNZR5,C1
INCDPTR
INCDPTR
DJNZR4,CM
AJMPMAIN
D1MS:
MOVR6,#2
MOVR7,#248
DJNZR7,$
DJNZR6,$-4
RET
TAB:
DB0x08,0x00,0x10,0x20,0xFE,0x1E,0x00,0x02,0x44,0x02,0x28,0x02,0xFF,0x7E,0x10,0x12;
DB0x10,0x12,0xFE,0x12,0x10,0x12,0x54,0x12,0x92,0x12,0x11,0x11,0x14,0x11,0x88,0x10;/*"新",0*/
DB0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x08,0x08,0xF4,0x17,0x83,0x60;
DB0x80,0x00,0xFC,0x1F,0x80,0x00,0x88,0x08,0x88,0x10,0x84,0x20,0xA2,0x20,0x40,0x00;/*"余",1*/
DB0x44,0x10,0x88,0x10,0x88,0x08,0x00,0x04,0xFE,0x7F,0x02,0x40,0x01,0x20,0xF8,0x07;
DB0x00,0x02,0x80,0x01,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00;/*"学",2*/
DB0x00,0x02,0x1E,0x04,0xD2,0x7F,0x4A,0x40,0x2A,0x20,0x86,0x1F,0x0A,0x00,0x12,0x00;
DB0xD2,0x7F,0x12,0x09,0x16,0x09,0x0A,0x09,0x82,0x48,0x82,0x48,0x42,0x70,0x22,0x00;/*"院",3*/
DB0x08,0x00,0x88,0x0F,0x88,0x08,0x88,0x08,0xBF,0x08,0x88,0x08,0x8C,0x08,0x9C,0x08;
DB0x84,0x10,0xFC,0x1F,0x80,0x00,0x80,0x00,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00;/*"单",4*/
DB0x00,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0xF8,0x3F,0x08,0x00,0x08,0x00;
DB0x08,0x00,0xF8,0x07,0x08,0x04,0x08,0x04,0x08,0x04,0x04,0x04,0x04,0x04,0x02,0x04;/*"片",5*/
DB0x08,0x00,0x88,0x0F,0x88,0x08,0x88,0x08,0xBF,0x08,0x88,0x08,0x8C,0x08,0x9C,0x08;
DB0xAA,0x08,0xAA,0x08,0x89,0x08,0x88,0x48,0x88,0x48,0x48,0x48,0x48,0x70,0x28,0x00;/*"机",6*/
DB0x00,0x00,0xC2,0x1F,0x44,0x12,0x44,0x12,0xC0,0x1F,0x40,0x12,0x47,0x12,0xC4,0x1F;
DB0x04,0x02,0xE4,0x3F,0x04,0x07,0x94,0x0A,0x4C,0x12,0x24,0x62,0x00,0x02,0x00,0x02;/*"课",7*/
DB0x10,0x00,0xB8,0x3F,0x8F,0x20,0x88,0x20,0x88,0x20,0xBF,0x3F,0x08,0x00,0x0C,0x00;
DB0x9C,0x7F,0x2A,0x04,0x2A,0x04,0x89,0x3F,0x08,0x04,0x08,0x04,0xC8,0x7F,0x08,0x00;/*"程",8*/
DB0x00,0x00,0x84,0x0F,0x88,0x08,0x88,0x08,0x80,0x08,0x40,0x70,0x2F,0x00,0xC8,0x1F;
DB0x88,0x10,0x88,0x08,0x08,0x09,0x28,0x05,0x18,0x02,0x08,0x05,0xC0,0x18,0x30,0x60;/*"设",9*/
DB0x00,0x02,0x04,0x02,0x08,0x02,0x08,0x02,0x00,0x02,0x00,0x02,0xEF,0x7F,0x08,0x02;
DB0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x28,0x02,0x18,0x02,0x08,0x02,0x00,0x02;/*"计",10*/
5.软件运行结果
6.结论
本次设计的基于单片机的16*16点阵的滚动显示经测试仿真结果良好,能清
楚的看到字符的滚动显示,画面比较稳定,流畅。
有时会出现字符显示不完整的
现象,我认为这是程序在时间的控制上做的不够好。
但程序思想还是很正确的,
学生可以很容易就读懂程序,电路也很容易就看明白了。
在最后的硬件设计时,
我们要认真画原理图和PCB,尤其是在PCB布线时,我们要考虑板子的大小要
适宜,太大了会浪费资源,太小了对于元件就不好摆放,还要注意元件的摆放位
置要适宜布线,不要造成多处飞线的情况最后再完成调试检测工作。
通过这次的设计,我明白了点阵的工作原理,对单片机以及其他外部器件有
了更深的理解,对市场上的元器件价格有了了解,也对各式各样的点阵广告牌等
电子显示屏的工作原理有了更深的认识
同时,在考虑问题方面对于这部分的设计一定要结合所有的部分综合考虑,
在我们初始设计的时候就应该有大致的整体框架。
7.致谢
本文是在党老师的悉心指导下完成的。
从课题的立项、选题到课题的开发与研究,再到本论文的撰写到定稿的每一步工作都倾注着党老师的心血和汗水,同时得到同学们相助,并提供了大量的资料.在此,对于老师和同学们的帮助表示忠心的感谢。
8.参考文献
[1]胡汉才.单片机原理与接口技术[M].北京:
清华大学出版社,1995.6.
[2]楼然苗等.51系列单片机设计实例[M].北京:
北京航空航天出版社,2003.3.
[3]何立民.单片机高级教程[M].北京:
北京航空航天大学出版社,2001.
[4]赵晓安.MCS-51单片机原理及应用[M].天津:
天津大学出版社,2001.3.
[5]薛均义、张彦斌.MCS-51系列单片微型计算机及其应用.--西安:
西安交通大学出版社2005.1
[6]夏继强.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2001.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 LED 点阵 显示 剖析