点阵LED电子显示屏的设计_第1页
点阵LED电子显示屏的设计_第2页
点阵LED电子显示屏的设计_第3页
点阵LED电子显示屏的设计_第4页
点阵LED电子显示屏的设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、 天津理工大学中环信息学院-电子系 天津理工大学中环信息学院 电子系单片机课程设计报告   题目:16×16点阵LED电子显示屏的设计 一课程设计意义随着LED 技术的不断发展以及LED 在低功耗、长寿命、环保等方面的优势,LED 应用领域逐渐增多。同时,许多国家在看到LED 巨大的市场潜力后,纷纷出台各项鼓励措施大力推动LED 在各领域中的应用。目前,LED 的应用已经从最初的指示灯应用转向更具发展潜力的显示屏,景观照明、背光源、汽车车灯、交通灯、照明等领域,LED 应用正呈现出多样化发展趋势。LED 器件技术和性能不断提

2、高,电子技术发展日新月异,这也为LED 显示屏产品的技术深化和提高带来良好的基础。同时LED 显示在社会生活的各个领域得到了广泛的应用,因此,LED 显示市场发展前景乐观。深化技术内涵,丰富产品体系,产品多元化,突出主导产品的优势将是LED 显示屏产业发展的重要趋势。 尤其是LED 点阵显示的应用尤为广泛,随着信息产业的高速发展,LED 显示作为信息传播的一种重要手成为现代信息化社会的一个闪亮标志。发光二极管(LED )显示屏是上世纪八十年代后期在全球迅速发展起来的显示媒体。它利用发光二极管构成的点阵模块或像素单元,组成大面积显示屏幕,以其可靠性高,使用寿命长、环境适应能力强、性能价格比高、使

3、用成本低等特点,短短的十几年中,相关技术和产业都取得了长足的进步,已发展成为重要的现代信息发布媒体手段。近年 LED 显示已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如电信、邮政大厅、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策,政令的发布,各类市场行情信息的发布和宣传等。而且随着科学技术的发展LED 点阵显示被应用到大、中、小屏幕显示器:各种广告牌、体育记分牌、金融、交通指示牌等,分为全色、三色、单色显示屏。随着社会信息化的进程,LED 显示屏在信息显示领域的应用前景愈加广阔。 它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、

4、耐冲击、性能稳定。 二课程设计任务书1.功能要求 设计一个室内用16×16点阵LED图文显示块,要求在目测条件下LED显示屏个点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移出、移入等显示方式2.设计要求根据功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。(1) 熟悉AT89S51单片机系统的使用方法。 (2) 掌握动态显示原理及实现方法。 (3)初步掌握AT89S51单片机编程方法。(4)掌握串行数据传输方式的应用。 (5) 实现利用AT89S51单片机控制的LED图文屏正常工作。3.内

5、容要求 单片机课程设计的主要内容包括:理论设计、调试与仿真、撰写设计报告等。其中理论设计又包括选择总体方案,硬件系统设计、软件系统设计;硬件设计包括单元电路,选择元器件及计算参数等;软件设计包括模块化层次结构图,程序流程图。程序设计是课程设计的关键环节,通过调试进一步完善程序设计,使之达到课题所要求的指标,使理论设计更接近于实际产品。课程设计的最后要求是写出设计总结报告,把理论设计内容,调试的过程及性能指标的测试结果进行全面的总结指导教师: 田 野日 期:2013.7.5三、课程设计进度计划及检查情况记录表序号日期计划完成内容实际完成内容16-25实训动员、准备工作及选题全部完成26-27总体

6、方案设计完成36-27硬件设计及仿真完成46-28软件设计与调试完成56-28整机测试及撰写报告完成67-5答辩与总结完成四、成绩评定与评语 指导教师: 日 期:专业设计的主动性与平时表现(20%)独立思考能力 与动手能力(40%)专业设计 完成情况(40%)专业设计成绩目 录一课程设计意义2二课程设计任务书3三、课程设计进度计划及检查情况记录表3四、成绩评定与评语3一、总体设计方案31.1 总体设计31.2 硬件设计31.3 软件设计3二、设计内容32.1 系统硬件原理图与仿真32.2 程序清单3三结论、建议及课程设计体会3四参考文献3一、总体设计方案1.1 总体设计 1.1.1 工作原根据

7、功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。(1) 熟悉AT89S51单片机系统的使用方法。 (2) 掌握动态显示原理及实现方法。 (3)初步掌握AT89S51单片机编程方法。(4)掌握串行数据传输方式的应用。(5)实现利用AT89S51单片机控制的LED图文屏正常工作。1.1.2 硬件部分总体设计根据功能要求,采用AT89C51单片机,动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式,列扫描地址用P1口控制,总体结构框图如下:图1-1 系统总体结构框图1.2 硬件设计系统的组成,硬件的选用,芯片的特点1.2

8、.1 8051系列的单片机AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图片见下图: 图 1-2 89C51管脚图(1) 管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为

9、高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收

10、高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。(2) P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外

11、部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字 节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉

12、高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出1.2.2 单片机AT89

13、C51最小系统单片机采用12M晶振作为时钟源,复位采用上电复位和按键复位两种方式仿真原理图如下: 图1-3 最小系统1.2.3 串行口扩展I/O口为了减少对I/O口的占用,数据传送采用AT89C51串行口方式0中断外接同步移位寄存器74HC595扩展出一个8位并行口实现8位数据并行传输。仿真原理图如下:图1-4 I/O口扩展74HC595管脚说明:74595的数据端:QA-QH: 八位并行输出端,可以直接控制数码管的8个段。QH': 级联输出端。我将它接下一个595的SI端。SI: 串行数据输入端。74595的控制端说明:/SCLR(10脚): 低点平时将移位寄存器的数据清零。通常我将

14、它接Vcc。SCK(11脚):上升沿时数据寄存器的数据移位。QA->QB->QC->.->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。/G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。1.2.4 16*16点阵行

15、、列驱动为实现16*16点阵移动显示功能,在显示时采用逐列扫描、2*8数据行输入方式进行显示,列驱动采用两个74HC138级联为4译16译码器,并用P1.0P1.3进行完成译码,实现逐列扫描,行数据输入采用两个74HC373数据锁存器实现16位异步输出,仿真原理图如下:图1-5 行驱动图1-6 列驱动1.2.5 16*16点阵制作设计时必须掌握点阵工作原理方能进行更深层设计。16x16LED点阵其实就是4块8x8点阵LED级联而成的,因此特给出 8×8 点阵LED的工作原理。图(1)为8×8点阵LED外观及引脚图,其等效电路如图(2)所示,只要其对应的X、Y轴顺向偏压,即可

16、使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。而16x16就是在8x8原理的基础上将四块8x8级联而成,如图:图1-7 8×8点阵LED外观及引脚图图1-8 8×8点阵LED等效电路图1-9(a)四块8x8点阵LED级联 16*16连接示意图 图1-9(b) 四块8x8点阵LED级联成16x16点阵LED点阵的显示文字图形原理:LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以16×16点阵为例,把所有同一行的发光管的阴极连在一起,把所有同

17、一列的发光管的阳极连在一起(共阴的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;.第16列之后,又重新燃亮第1列,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。显示数据可通过单片机的P0,P2口接驱动电路传输到点阵行引脚。 点阵的移动 以下以16×16点阵为例介绍点阵的移动。要显示一个字符,该字符的点阵数据可以列向(纵向)16点组字,又可以行向(横向

18、)16点组字。无论哪一种组字方法,都既可以显示字符的水平方向的移动,又可以显示竖直方向的移动。本设计主要采用汉字的左移,所以以下只作左移显示的解释 列扫描方式左移动:列向组字显示字符水平方向的移动(左滚动) 延长数组法。将原来字符点阵数组的16个数据重复一遍延长,点阵数组的数据个数为32个。每扫描一帧取8个数据显示,下一帧取数要在数组中后移一个数取数。循环一遍扫16帧。可以假想有两块16×16的点阵模块(共32帧)水平平行排列,用一个恰好能罩住16列点阵的中空方框去罩这个点阵,第1(第1帧)罩住最左边数起第一列开始的16列,就扫描显示这16列;第2次(第2帧)使方框右移一列,罩住做左

19、边数起第2列开始的16列,就扫描显示这16列;······;这样每扫描完一帧使方框右移一列,最后第16次(第16帧)时,罩住左边数起的第16列开始的16列,就扫描显示这16列。如此完成16帧画面的扫描显示,也就完成了整个一次移动循环扫描、之后反复循环,即可呈现显示字符沿水平向左移动的图像因为是列向组字(列扫描方式,点阵数据为行码,上边为低位下面为高位),希望显示移动的一个字符,第1次扫描从行码的点阵数组中取第116个数据,送行码输出口,对应于这8个数据,同时用列码输出口输出列码,分别控制第116列。扫描完前16个数据之后,第2次扫描从

20、点阵数组中取第318个数据(第18个数据与第1个数据同),送行码输出口,对应于这16个数据,同时用列码输出口输出列码,仍分别控制扫第116列。第3次扫描从点阵数组中取第520个数据(第20个数据码与第2个数据码相同)扫描······;如此实现字符向左移动。以上完成一个图形移动的方法,也可以看成是移动16个不同的字形。如图2.13所示,首先扫描第一个字型,同样是16行,16次扫描,16次显示;完成一个字型的扫描以后,再扫描第二个字型;完成第二个字型的扫描之后,再扫描第三个字型·····&

21、#183;依此类推,即可产生该文字的左移的感觉。1.3 软件设计1.3.1 静态显示流程静止显示是所有显示方式中最简单的一种。单片机上电复位,先调用显示程序,在发送点阵数据给单片机时,根据已经制作好的显示屏的结构特征,即一屏能显示 1 个汉字,显示时是将按组顺序存储的点阵数据,按列扫描依次取出,逐列亮 LED 。在一屏汉字显示完毕后,循环显示一段时间后,字符数据地址偏移32 个字节,接着显示下一屏数据,其流程图如图所示。开始调显示子程序列扫描显示第二个字符I/O口定义,中断设置及初始化调显示子程序列扫描显示一个字符结束图1-10 静态显示流程图1.3.2 动态显示流程先调用显示程序,显示“培养

22、”一个字符,显示之后马上熄灭,接着调用延时程序,延时约 1 秒钟,然后以左移的方式显示事先写在芯片里的2个字节,等到全都显示完毕,转向while死循环,又从显示“培养”开始一个新的周期。程序流程图如图4-1 所示调用显示程序从要显示字符数据首地址列扫描显示16列点阵扫描完成 是 否将显示字符数据首地址继续加2结束图1-11 动态显示流程图1.3.3 列扫描显示流程:首先准备一个要显示的字符(32字节数据),扫描一列输出2字节(16位)数据,延时显示100us,然后熄灭本列,防止窜行显示,逐列扫描完16列后重复扫描10次以上以保证能有足够显示时间。移到下一列,字符数据地址加2程序入口准备一个字符

23、数据是否移完15列扫描一列显示一列点阵移到第一列,重新加载本字符数据首地址延时1毫秒字符数据首地址是否重新加载20次灭本列点阵返 回图1-12 显示子程序流程图二、设计内容2.1 系统硬件原理图与仿真系统总体原理图如图2-1;图2-1 系统总体原理图系统仿真截图如图2-2;图2-2 系统部分仿真截图动态移动显示字符如图2-3图2-3 动态显示字符截图静态闪动显示图案如图2-4;图2-4 静态闪动显示字符截图2.2 程序清单文件一:16161.c/* 文件名: 16161.c 文件描述:16*16点阵显示 处理器:AT89C51编译环境:keil v4 修改时间:2013.6.28*/#incl

24、ude<reg51.h>#include"ziku.h"#define Y_port P1#define C373_LE_LOW() HC373_LE1=0;HC373_LE2=0;sbit HC595_SCLK =P21; /同步移位寄存器锁存控制端sbit HC373_LE1 =P33; /#1锁存器锁存控制端sbit HC373_LE2 =P32; /#2锁存器锁存控制端uchar flag=1; uchar i;code uchar Y16 = 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, 0x08,0x09,0x0a

25、,0x0b,0x0c,0x0d,0x0e,0x0f;/*函数说明:串口方式0配置*/void UART_init()SCON= 0x00;/串口工作方式0IE = 0x90;/串口中断使能/*函数说明:端口初始化*/void PORT_init() HC595_SCLK = 0;HC373_LE1 = 0;HC373_LE2 = 0;/*函数说明:程序总初始化*/void init()UART_init();PORT_init();/*函数说明:延时*/void delay10u(int us)uint b;while(us-)for(b=0;b<2;b+);/*函数说明:显示16*16

26、点阵*/void display(uchar *word) uchar a; uchar j;uchar time =25;while (time-) /单个字符闪烁显示循环a=0;for(j=0;(j<=15);j+) /行扫描 Y_port=Yj;for(i=0;(i<=1);i+) /列8*2扫描,点亮一行点阵flag=0;SBUF= worda+;delay10u(3);/传送到串口缓冲区for(i=0;(i<=1);i+)/灭一行点阵flag=0;SBUF = 0x00; /* 函数说明:入口函数*/int main() uint k;init();while(1)

27、 for( k=0;k<=160;k=k+2)display(word+k);for(;k<200;k+) display(xiao); delay10u(100); display(space); /*函数说明:串口ISR*/void UARTISR(void) interrupt 4 using 3SCON &= 0xfd;/HC373_LE1=0;HC373_LE2=0; C373_LE_LOW();HC595_SCLK = 1;if(i=0) HC373_LE1 = 1;else HC373_LE2 = 1;HC595_SCLK = 0;文件二:ZIKU.h/*文件

28、名:ZIKU.h文件说明:定义要显示的字符*/#ifndef _ZIKU_H#define _ZIKU_H#define uint unsigned int#define uchar unsigned charcode uchar word160 =0x00,0x00,0x00,0x00,0x7F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,/"田",

29、00x04,0x00,0x04,0x00,0x04,0x7E,0x04,0x92,0x0C,0x92,0x34,0x92,0x04,0x92,0x04,0x92,0x44,0x92,0x84,0x92,0x7F,0x92,0x04,0x9E,0x04,0x80,0x04,0xE0,0x04,0x00,0x00,0x00,/"导",10x00,0x40,0x04,0x40,0x04,0x44,0x04,0x44,0x04,0x54,0x04,0x64,0x04,0x45,0xFF,0xC6,0x04,0x44,0x04,0x64,0x04,0x54,0x04,0x44,0x04,0x44,0x04,0x40,0x00,0x40,0x00,0x00,/"辛",20x00,0x84,0x00,0x84,0x00,0x84,0xFC,0x84,0x44,0x9F,0x44,0x84,0x44,0x84,0x47,0xF4,0x44,0x84,0x44,0x84,0x44,0x9F,0xFC,0x84,0x00,0x84,0x00,0x84,0x00,0x84,0x00,0x00,/"苦",30x00,0x00,0x00,0x02,0x00,0x02

温馨提示

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

评论

0/150

提交评论