《单片机控制LED点阵显示.doc》由会员分享,可在线阅读,更多相关《单片机控制LED点阵显示.doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机控制LED点阵显示.精品文档. 课程设计论文 题 目:单片机控制LED点阵显示 院 (系): 机械工程 专 业: 机械制造及其自动化 学生姓名: 学 号: 指导教师: 职 称: 2013 年 月 日 目 录引言 11 设计任务与要11.1 设计目的 11.2 任务要求及器件 12 LED 动态显示原理: 22.1 8*8点阵动态显示例 23 硬件电路设计33.1 16*16点阵制作 33.2 AT89C51特性 53.3 74HC154 63.4 单片机系统的基本模块 74 软件设计 85 软件运行结果 136 结论 147 谢辞 15
2、8 参考文献 15 引言 LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影, 广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市 场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本 和可靠性的因素常采用一种称为动态扫描的显示方法。本文设计的是一个室 内用16*16的点阵LED图文显示屏,图形或文字显示有静止、移入移出 等显示方式。1.1设计目的: 掌握单片机控制原理与光显示器件的应用 熟悉汇编语言编程 1.2任务要求: 通过AT89C51的P1.0P1.3连接416线译码器74LS154 对16*16LED点阵的每一竖列进行逐列扫描,并将P0与P2
3、端口作为数据输出 端点亮数码管发光显示,实现“新余学院机电工程学院张铸祥单片机课程设计”字样,并依次左移循环显示主要器件:AT89C51,RP1(100K*8), 16*16LED点阵(green共阴极),74H154,晶振(12M), 2个30PF电容, 0.01UF电容,R1(100K),按钮开关2. LED 动态显示原理:LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信
4、息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。2.1 8*8点阵动态显示例以88点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝
5、色竖直线X0、X1X7叫做列线,接内部每列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.1 16*16点阵制作Proteus中只有57和
6、88等LED点阵,并没有1616LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要1616点阵。下面我们就首先介绍使用88点阵构建1616点阵的方法,并构建一块1616LED点阵,用于本次设计。首先,从Proteus7.5的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引
7、脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的1616点阵如图3.1.1所示。成如上图的1616点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块88点阵,然后拖动并使其与左侧的两块相并拢,如图3.1.2所示。 图3.1.1 点阵模块组合 图3.1.2可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.4所示。看到,原来杂乱的连线现在已经几乎全部隐藏了,一块1616的
8、LED点阵做成了。需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。3.2 AT89C51特性AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振
9、荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。外形及引脚排列如图3.2所示 图 3.23.3 74HC154 74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。任选一个使能输入端作为数据输入,74HC154可充当一个1-16的多路分配器。当其余的使能输入端置低时,地址输出将会跟随应用的状态。1-11 13-17 :输出端。(outputs (active LOW))12:Gnd电源地 (
10、ground (0 V))18-19:使能输入端、低电平有效 (enable inputs (active LOW)20-23地址输入端 (address inputs)24:VCC电源正 (positive supply voltage)H = 高电平(HIGH voltage level)L = 低电平(LOW voltage level)X = 任意电平(dont care)只要控制端G1、G2任意一个为高电平,A、B、C、D任意电平输入都无效。G1、G2必须都为低电平才能操作芯片 3.4 单片机系统的基本模块 基本模块的制作是基于单片机的16*16点阵滚动显示的基本思路,也是我们研究的
11、基于单片机的16*16点阵滚动显示的重要依据。其中,单片机最小系统包括复位电路、晶振电路和电源电路。显示部分即点阵显示电路,驱动部分即74HC154驱动电路。4. 软件设计ORG0000HAJMPMAINORG0030H MAIN: MOVDPTR,#TABMOVR1,#00HMOVR4,#144 CM:MOVR5,#5MOVR3,#16 C1: MOV R2,#0 C16:MOVP0,#00HMOVP2,#00HCLRP3.0MOVA,R2MOVCA,A+DPTR MOVP0,A INCR2MOVA,R2MOVCA,A+DPTRMOVP2,AINCR2MOVP1,R1INCR1 ACALLD
12、1MSACALLD1MSDJNZR3,C16MOVR3,#16DJNZR5,C1INCDPTRINCDPTRDJNZR4,CM AJMPMAIN D1MS:MOVR6,#2MOVR7,#248DJNZR7,$DJNZR6,$-4RET TAB:DB 0x08,0x00,0x10,0x20,0xFE,0x1E,0x00,0x02,0x44,0x02,0x28,0x02,0xFF,0x7E,0x10,0x12;DB 0x10,0x12,0xFE,0x12,0x10,0x12,0x54,0x12,0x92,0x12,0x11,0x11,0x14,0x11,0x88,0x10;/*新,0*/DB 0x
13、80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x08,0x08,0xF4,0x17,0x83,0x60;DB 0x80,0x00,0xFC,0x1F,0x80,0x00,0x88,0x08,0x88,0x10,0x84,0x20,0xA2,0x20,0x40,0x00;/*余,1*/DB 0x44,0x10,0x88,0x10,0x88,0x08,0x00,0x04,0xFE,0x7F,0x02,0x40,0x01,0x20,0xF8,0x07;DB 0x00,0x02,0x80,0x01,0xFF,0x7F,0x80,0x00,0x80,0
14、x00,0x80,0x00,0xA0,0x00,0x40,0x00;/*学,2*/DB 0x00,0x02,0x1E,0x04,0xD2,0x7F,0x4A,0x40,0x2A,0x20,0x86,0x1F,0x0A,0x00,0x12,0x00;DB 0xD2,0x7F,0x12,0x09,0x16,0x09,0x0A,0x09,0x82,0x48,0x82,0x48,0x42,0x70,0x22,0x00;/*院,3*/DB 0x08,0x00,0x88,0x0F,0x88,0x08,0x88,0x08,0xBF,0x08,0x88,0x08,0x8C,0x08,0x9C,0x08;DB
15、0xAA,0x08,0xAA,0x08,0x89,0x08,0x88,0x48,0x88,0x48,0x48,0x48,0x48,0x70,0x28,0x00;/*机,4*/DB 0x80,0x00,0x80,0x00,0x80,0x00,0xFC,0x1F,0x84,0x10,0x84,0x10,0x84,0x10,0xFC,0x1F;DB 0x84,0x10,0x84,0x10,0x84,0x10,0xFC,0x1F,0x84,0x50,0x80,0x40,0x80,0x40,0x00,0x7F;/*电,5*/DB 0x00,0x00,0x00,0x00,0xFE,0x3F,0x80,0x
16、00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00;DB 0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xFF,0x7F,0x00,0x00,0x00,0x00;/*工,6*/DB 0x10,0x00,0xB8,0x3F,0x8F,0x20,0x88,0x20,0x88,0x20,0xBF,0x3F,0x08,0x00,0x0C,0x00;DB 0x9C,0x7F,0x2A,0x04,0x2A,0x04,0x89,0x3F,0x08,0x04,0x08,0x04,0xC8,0x7F,0x08,0x00;/
17、*程,7*/DB 0x44,0x10,0x88,0x10,0x88,0x08,0x00,0x04,0xFE,0x7F,0x02,0x40,0x01,0x20,0xF8,0x07;DB 0x00,0x02,0x80,0x01,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,0x00;/*学,8*/DB 0x00,0x02,0x1E,0x04,0xD2,0x7F,0x4A,0x40,0x2A,0x20,0x86,0x1F,0x0A,0x00,0x12,0x00;DB 0xD2,0x7F,0x12,0x09,0x16,0x09,0x0A,
18、0x09,0x82,0x48,0x82,0x48,0x42,0x70,0x22,0x00;/*院,9*/DB 0x80,0x00,0x9F,0x10,0x90,0x10,0x90,0x08,0x90,0x04,0x9E,0x02,0x82,0x00,0xE2,0x7F;DB 0x82,0x02,0x9E,0x04,0x90,0x04,0x90,0x08,0x90,0x10,0x90,0x22,0x8A,0x41,0x84,0x00;/*张,10*/DB 0x08,0x04,0x08,0x04,0xBC,0x3F,0x04,0x04,0x02,0x3F,0x3D,0x04,0x88,0x7F,0
19、x08,0x12;DB 0x3F,0x12,0x08,0x7F,0x08,0x11,0x88,0x12,0xA8,0x14,0x58,0x10,0x08,0x14,0x00,0x08;/*铸,11*/DB 0x84,0x20,0x08,0x21,0x08,0x11,0x1F,0x00,0xD0,0x7F,0x08,0x04,0x08,0x04,0x9C,0x3F;DB 0x2A,0x04,0x09,0x04,0xC8,0x7F,0x08,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x08,0x04;/*祥,12*/DB 0x08,0x08,0x10,0x04,0x2
20、0,0x02,0xFC,0x1F,0x84,0x10,0x84,0x10,0xFC,0x1F,0x84,0x10;DB 0x84,0x10,0xFC,0x1F,0x80,0x00,0x80,0x00,0xFF,0x7F,0x80,0x00,0x80,0x00,0x80,0x00;/*单,13*/DB 0x00,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0xF8,0x3F,0x08,0x00,0x08,0x00;DB 0x08,0x00,0xF8,0x07,0x08,0x04,0x08,0x04,0x08,0x04,0x04,0x04,0x04,0
21、x04,0x02,0x04;/*片,14*/DB 0x08,0x00,0x88,0x0F,0x88,0x08,0x88,0x08,0xBF,0x08,0x88,0x08,0x8C,0x08,0x9C,0x08;DB 0xAA,0x08,0xAA,0x08,0x89,0x08,0x88,0x48,0x88,0x48,0x48,0x48,0x48,0x70,0x28,0x00;/*机,15*/DB 0x00,0x00,0xC2,0x1F,0x44,0x12,0x44,0x12,0xC0,0x1F,0x40,0x12,0x47,0x12,0xC4,0x1F;DB 0x04,0x02,0xE4,0x3
22、F,0x04,0x07,0x94,0x0A,0x4C,0x12,0x24,0x62,0x00,0x02,0x00,0x02;/*课,16*/DB 0x10,0x00,0xB8,0x3F,0x8F,0x20,0x88,0x20,0x88,0x20,0xBF,0x3F,0x08,0x00,0x0C,0x00;DB 0x9C,0x7F,0x2A,0x04,0x2A,0x04,0x89,0x3F,0x08,0x04,0x08,0x04,0xC8,0x7F,0x08,0x00;/*程,17*/DB 0x00,0x00,0x84,0x0F,0x88,0x08,0x88,0x08,0x80,0x08,0x4
23、0,0x70,0x2F,0x00,0xC8,0x1F;DB 0x88,0x10,0x88,0x08,0x08,0x09,0x28,0x05,0x18,0x02,0x08,0x05,0xC0,0x18,0x30,0x60;/*设,18*/DB 0x00,0x02,0x04,0x02,0x08,0x02,0x08,0x02,0x00,0x02,0x00,0x02,0xEF,0x7F,0x08,0x02;DB 0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x28,0x02,0x18,0x02,0x08,0x02,0x00,0x02;/*计,19*/5. 软件运行结
24、果6. 结论 本次设计的基于单片机的16*16点阵的滚动显示经测试仿真结果良好,能清楚的看到字符的滚动显示,画面比较稳定,流畅。有时会出现字符显示不完整的现象,我认为这是程序在时间的控制上做的不够好。但程序思想还是很正确的,学生可以很容易就读懂程序,电路也很容易就看明白了。在最后的硬件设计时,我们要认真画原理图和PCB,尤其是在PCB布线时,我们要考虑板子的大小要适宜,太大了会浪费资源,太小了对于元件就不好摆放,还要注意元件的摆放位置要适宜布线,不要造成多处飞线的情况最后再完成调试检测工作。 通过这次的设计,我明白了点阵的工作原理,对单片机以及其他外部器件有了更深的理解,对市场上的元器件价格有
25、了了解,也对各式各样的点阵广告牌等电子显示屏的工作原理有了更深的认识 同时,在考虑问题方面对于这部分的设计一定要结合所有的部分综合考虑,在我们初始设计的时候就应该有大致的整体框架。 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
限制150内