单片机课程设计 LED点阵屏滚动_第1页
单片机课程设计 LED点阵屏滚动_第2页
单片机课程设计 LED点阵屏滚动_第3页
单片机课程设计 LED点阵屏滚动_第4页
单片机课程设计 LED点阵屏滚动_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与接口课程设计报告题 目: 点阵LED中文广告滚动 专业名称: 电子信息工程 班 级: 学 号: 姓 名: 2014年 1月点阵LED中文广告滚动(信息工程学院) 摘要:本设计使用单片机作为主控制芯片,利用简单的外围电路来驱动32×64的点阵LED显示屏。本LED显示屏能够以动态扫描的方式同时显示八个16×16点阵汉字,本文详细阐述了LED动态显示的过程,以及硬件电路的设计、计算和软件的编程。关键词:单片机;点阵;动态显示;1 设计目标模拟一个点阵LED广告屏显示系统:(1)能够在该广告屏上同时显示5-6个汉字。(2)进行20个汉字以上的循环滚动显示。(3)使用2

2、4C02或类似的掉电保护芯片,实现将单片机程序中广告要显示的汉字存储到掉电保护芯片。2. 设计环境Windows XPProtues 7.83 设计原理及方案3.1 设计原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式,静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式。动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列

3、送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。动态扫描显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。下面以88的点阵来说明动态扫描,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通

4、第2行使其燃亮相同的时间,然后熄灭;以此类推,第8行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快,就能够看到显示屏上稳定的图形了。3.2 设计方案本文主要讲述的是“LED点阵字符显示电路”,本课题的实现主要有两种方案。 方案一:由数字电路来实现,由移位寄存器与锁存器对字符数据进行存储,然后并行输入到显示屏,来实现汉字的显示。方案二:由单片机编程控制来实现,方案利用单片机控制移位寄存器和译码器,由移位寄存器和译码器送出行选和列选来控制LED屏的亮灭,从而显示汉字。方案论证:不难看出,选用数字电路来实现比较复杂。因为用数字电路实现必须要有移位寄存器与锁存器对字符数据进行存储,

5、然后并行输入到显示屏,不但如此,而且需要很大一部分的扩展电路才能实现。用数字电路实现不但大大提高成本,而且设计出的电路的灵活性差、不易调试、成本高等缺点。方案二不仅能够改进方案一设计的不灵活,还可进行扩展。通过比较,从设计方案的优点及所设计的方便实用性,选择第二种设计方案。4 硬件设计4.1 设计总体框图及介绍 LED点阵总体框图如图4-1所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。控制电路部分包括一个51CUP和一些外围电路。点阵包括显示屏体、以及它的行和列的各个驱动电路。此显示电路采用扫描方式进行显示时,每行有一个行驱动器,从第一行开始,按顺序依次对各行进

6、行扫描。另一方面,根据各列锁存的数据点亮相应的LED。列驱动器 单片机 行驱动器LED显示点阵图4-1 点阵显示总体框图4.2 芯片简介(1)单片机AT89C52引脚图(如图4-2):图4-2 AT89C52 AT89C52有四个I/O口,每个口有8位,具有3个可编程定时器,串行口是全双工可编程串行通信口,片内数据存储器有256KB的RAM。(2)移位寄存器 74LS595 引脚图(如图4-3): 图4-3 74LS595 74LS595 是一款集电极开路输出的移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。 11脚 SH_CP是数据输入时钟线,上升沿有效。 12 脚

7、ST_CP输出存储器锁存时钟线,上升沿有效。13 脚 OE 输出使能,低电平为输出有效。14 脚 DS 数据线,串行输入数据,亦能串行输出数据到下一级级联芯片。4.3 硬件电路设计 (1)单片机时钟和复位 如图4-4所示,XTAL1和XTAL2接有一个晶振,再接两个电容到地,形成时钟电路。接有电容和开关实现上电复位和手动复位。 图4-4 时钟和复位 (2)行驱动电路 如图4-5所示,由P3口低四位控制译码器的四个输入端,输出端接有十六个反相器,因为点阵连接形式是共阳的,将译码器输出的低电平转化为高电平。这十六个输出接到点阵屏上,控制点阵十六行的显示。 图4-5 行驱动 (3)列驱动电路 如图4

8、-6所示,接有8块74LS595,来控制点阵屏的64列。因为每个汉字需要4个8*8的LED点阵,把这4个8*8的LED点阵拼在一起构成一个16*16的点阵来显示一个汉字,所以需要2个74LS595来驱动一个汉字。以下8个来驱动4个汉字,显示在点阵屏的第一行。图的连接就是将引脚SH_CP、ST_CP、DS与单片机相接,由P2口的引脚控制,74LS595的Q0Q7输出数据到点阵屏,Q7用来级联,接到下一块的DS上。 图4-6 列驱动 (4)点阵屏 如图4-7所示,整块点阵屏由32个8*8的LED点阵拼在一起构成一个32*64的点阵。整块屏分成两行显示汉字,总共可以同时显示8个汉字。 图4-7 点阵

9、屏 (5)总电路图 如图4-8所示,除上述部分电路的叙述外,现将各个电路模块合在一起。图中有两个74HC154译码器,输出32行来控制点阵屏的32行。总共用了16块74LS595,图中点阵屏上方的8个是用来控制点阵屏第一行汉字的显示,点阵屏下方的8个是用来控制点阵屏第二行汉字的显示。此外还用到AT24C512B,用作掉电保护芯片,不过没能真正实现其功能,只是体验了这块芯片的使用,将在心得中具体讲述。 图4-8 总图5 软件设计5.1 程序流程图本文设计的系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰,实现21个文字循环滚动显示。系统主程序开始

10、以后,首先是对系统环境初始化,然后将数据写入74LS595,之后将74LS595中的数据输出到点阵屏的列上,接着是译码器控制行点亮,由此构成一个循环。最后不断重复主程序的执行。主程序如图5-1所示:开始 系统初始化 数据写入74LS595 数据输出到点阵屏的列 译码器控制行点亮 关闭译码器 图5-1 系统主程序流程图6 调试结果本设计系统是在Protues软件中仿真调试的,按照要求连接好电路图后,用Keil软件生成Hex文件,将它写入单片机中,点击仿真软件中的运行按钮,即可看到仿真结果。下面截有两个图来体现动态的显示过程。分别如图6-1和图6-2所示: 图6-1 头显示 图6-2 末显示7 收

11、获和体会 经过几天的努力,终于完成了一个还算可以的设计,看着自己的劳动成果,觉得还好,遗憾的就是自己做了很久的掉电保护程序还是没能实现其功能,刚开始做这块时,我是根据自己以前学过AT24C02芯片的知识,把掉电保护程序整合到主程序中,显示结果只有一些零散的点在循环闪动,经过调试我知道是自己把掉电程序和点阵显示程序一起执行的原因,由于AT24C02芯片读写时间过长,导致点阵不能快速显示。后来我将掉电程序单独执行,将数组中所有元素先存储进芯片,等了很久,点阵屏上才有显示,这就是在等待AT24C02芯片读写结束。不过不知哪里有问题,将数组存入再读出,显示到点阵屏的已不是原来的字。接着在网上查找了一些

12、资料,没有找到比较有用的资料,所以只好自己思考,可是没能解决,具体程序将放在文件夹中。   我想说:为完成这次课程设计我确实花了很多时间,为了实现系统的基本功能,我从8*8的点阵开始做起,最终扩展到32*64。这次做点阵,由于自己以前都没学过,所以要从很基本的东西开始学起,但是也正因为如此,从这次课程设计中也就学到了更多。   这次设计让我知道了自学能力的重要性,期间遇到的许多问题,都需要自己通过百度查找慢慢解决。我的设计有不足之处,希望老师批评指正,下次一定会做得更好。8 附录源程序及说明:#include <reg51.h>#includ

13、e <intrins.h>#define uchar unsigned char#define uint unsigned intsbit shcp1=P21;sbit date1=P20; sbit date2=P23;sbit clock1=P22; sbit shcp2=P24;sbit clock2=P25;sbit e=P17;uchar code tab132=0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0

14、xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xF7,0xDF,0xF7,0xDF,0x00,0x01,0xF6,0xDF,0xFE,0xEF,0x00,0x01,0xFE,0xFF,0xC0,0x07,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xDE,0xD7,0xDE,0xEF,/*"莆",0*/0xFF,0xFF,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xDE,0x

15、F7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xDE,0xF7,0xC0,0x07,0xDF,0xF7,0xFF,0xFF,/*"田",1*/0xDD,0xF7,0xEE,0xF7,0xEE,0xEF,0xFF,0xDF,0x80,0x01,0xBF,0xFD,0x7F,0xFB,0xE0,0x1F,0xFF,0xBF,0xFE,0x7F,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFA,0xFF,0xFD,0xFF,/*"学",2*/0xFF,0xBF

16、,0x87,0xDF,0xB4,0x01,0xAD,0xFD,0xAB,0xFB,0x9E,0x07,0xAF,0xFF,0xB7,0xFF,0xB4,0x01,0xB7,0x6F,0x97,0x6F,0xAF,0x6F,0xBE,0xED,0xBE,0xED,0xBD,0xF1,0xBB,0xFF,/*"院",3*/0xEF,0xBF,0xEF,0xBF,0xEF,0xBF,0x02,0x07,0xEF,0xB7,0xEF,0xB7,0xE3,0x37,0xCF,0xB7,0x2F,0x55,0xEF,0x55,0xAE,0xF9,0xDD,0xFD,0xFF,0xFF,

17、0xB7,0x77,0xBB,0xBB,0x7B,0xBB,/*"热",4*/0xFF,0xFB,0x80,0x7B,0xF7,0xDB,0xF7,0xDB,0xE0,0xDB,0xDE,0xDB,0xAE,0xDB,0xF5,0xDB,0xFB,0xFB,0xF7,0xEB,0xCF,0xF7,0x3F,0xFF,0xDB,0x77,0xDD,0xBB,0xBD,0xBB,0x7F,0xFB,/*"烈",5*/0xFF,0x7F,0xFF,0x7F,0x03,0x7F,0xFB,0x03,0xFA,0xFB,0xB6,0xF7,0xD5,0xBF,0x

18、EB,0xBF,0xEF,0xBF,0xD7,0x5F,0xDB,0x5F,0xBA,0xEF,0x7E,0xEF,0xFD,0xF7,0xFB,0xFB,0xF7,0xFD,/*"欢",6*/0xFF,0xFF,0xDF,0x7F,0xEC,0xC3,0xED,0xDB,0xFD,0xDB,0xFD,0xDB,0x0D,0xDB,0xED,0xDB,0xED,0xDB,0xED,0x4B,0xEC,0xD7,0xED,0xDF,0xEF,0xDF,0xD7,0xDF,0xB8,0x01,0xFF,0xFF,/*"迎",7*/0xF6,0xFF,0xF6

19、,0xFF,0xEE,0x03,0xCD,0xFB,0xAB,0xB7,0x66,0xAF,0xEE,0xB7,0xED,0xBB,0xEB,0xBB,0xEE,0xBF,0xEF,0x7F,0xFD,0xFF,0xAE,0xFB,0xAE,0xED,0x6F,0xED,0xF0,0x0F,/*"您",8*/0xFF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xEF,

20、0xFF,0xFF,0xFF,0xFF,0xFF,/*"!",9*/0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;uchar code tab232=0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xFB,0xEF,0xFE,0x07,0xFE,0xEF,0xC2,0xEF,0xF7,0x1

21、F,0xF7,0x5F,0xE3,0x5F,0xD6,0xBF,0xB5,0xBD,0xF3,0xC1,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,/*"祝",0*/0xFF,0xFF,0xFF,0xFF,0xF4,0x1F,0xF3,0x7F,0xF6,0xC7,0xF5,0x2F,0xF4,0x2F,0xED,0x8F,0xEE,0x3F,0xEB,0xB7,0xDB,0x7F,0xD3,0x73,0xB5,0x9F,0xF6,0x6F,0xFF,0x8F,0xFF,0xFF,/*"愿",1*/0xFE,0xFF,0xFE,0xFF,

22、0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFD,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF7,0xBF,0xFB,0x7F,0xFD,/*"人",2*/0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFD,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF7,0

23、xBF,0xFB,0x7F,0xFD,/*"人",3*/0xEF,0xFF,0xE0,0x03,0xDF,0xFF,0xDF,0xFF,0xA0,0x0F,0x6F,0xEF,0xED,0xEF,0xEE,0xEF,0x00,0x01,0xDF,0xEF,0xDD,0xEF,0xDE,0xEF,0xC0,0x03,0xFF,0xEF,0xFF,0x5F,0xFF,0xBF,/*"每",4*/0xFF,0xFF,0xC0,0x07,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xF

24、D,0x7F,0xFD,0x7F,0xFB,0xBF,0xFB,0xBF,0xF7,0xDF,0xEF,0xEF,0xDF,0xF7,0x3F,0xF9,/*"天",5*/0xF7,0xFF,0xF7,0x41,0x81,0x5D,0xF6,0xDB,0xF5,0xDB,0x00,0x17,0xF7,0xDB,0xEF,0xDB,0xC0,0xDD,0x9E,0xDD,0x5E,0xDD,0xC0,0xCB,0xDE,0xD7,0xDE,0xDF,0xC0,0xDF,0xDE,0xDF,/*"都",6*/0xFE,0xFF,0x80,0x03,0xFE,

25、0xFF,0xC0,0x07,0xFF,0xFF,0xC0,0x07,0xDF,0xF7,0xC0,0x07,0xF7,0xDF,0x00,0x01,0xFF,0xFF,0xC0,0x07,0xDF,0xF7,0xDF,0xF7,0xC0,0x07,0xDF,0xF7,/*"喜",7*/0xEF,0xBF,0xEF,0xBF,0xC0,0x81,0xD7,0x6F,0xBA,0xF7,0x7F,0x0F,0xC0,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFD,0x7F,0xFB,0xBF,0xF7,0xDF,0xCF,0

26、xE7,0x3F,0xF9,/*"笑",8*/0xEF,0xFF,0xF7,0x01,0x80,0xEF,0xDD,0xDF,0xEB,0x83,0x80,0xBB,0xBB,0xAB,0xB7,0xAB,0xAD,0xAB,0xBB,0xAB,0xB7,0xAB,0xAE,0xAB,0xBD,0xD7,0xBB,0xDB,0x77,0xBD,0xCF,0x7D,/*"颜",9*/0xFF,0xFF,0x80,0x03,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0x00,0x01,0xF7,0xD

27、F,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xEF,0xDF,0xEF,0xDF,0xDF,0xDF,0xBF,0xDF,/*"开",10*/0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xF3,0xFF,0xF3,0xFF,0xF3,0xFF,0xF3,0xFF,0xF7,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF/*"!",11*/;void delay(unsigned int delay)unsigned char i;for(;delay>0;delay-)for(i=0;i<110;i+);void write_byte1(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论