16x16LED点阵屏设计
单片机课程设计16×16led点阵显示

16×16LED点阵显示摘要单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。
单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。
所以研究LED显示有实用的意义。
LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本设计是4个16×16点阵LED电子显示屏的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器74LS154和八个列驱动器74HC595来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,全屏能显示4个汉字,采用16块8 x 8点阵LED显示模块来组成4个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:AT89C51单片机 LED 16*16点阵显示动态显示目录第一章绪论 (1)1.1 设计课题背景知识 (1)1.2 问题提出 (3)1.3 LED显示屏的发展 (4)第二章功能要求及方案论证 (6)2.1 功能要求 (6)2.1 功能要求 (6)第三章系统电路的设计 (9)3.1 设计框图及介绍 (9)3.2 51系列单片机简介 (9)3.3 单片机最小应用系统电路设计 (13)3.4 LED点阵介绍 (14)3.5 LED显示方式 (14)3.6 点阵的移动 (17)3.7 点阵的颜色 (21)3.8 LED阵列驱动电路 (21)3.9 单片机延时子程序 (22)第四章系统程序的设计 (24)4.1 显示驱动程序 (24)4.2 系统主程序 (25)第五章调试及性能分析 (32)5.1 开发环境介绍 (32)5.2 理论性能分析 (32)5.3 系统调试 (33)第六章总结 (34)致谢 (35)附录 (36)一. 程序代码 (36)系统主程序 (37)二.主要芯片介绍 (42)三.点阵左移显示的流程图 (46)四.元件清单 (47)五.参考文献 (47)六.仿真电路图 (48)第一章绪论1.1 设计课题背景知识单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。
16×16点阵LED电子显示屏的设计

单片机课程设计16×16点阵LED电子显示屏的设计题目:16×16点阵LED电子显示屏的设计姓名:学号:专业班级:指导老师:摘要:LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。
本设计是基于MCS-51单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。
此外、该设计只需简单的级联就能实现显示屏的拓展,但级联时要注意不要超过驱动负载范围。
关键词:MCS-51;LED;单片机一、概述当今社会在飞速发展无疑能源、健康、空间的利用,成了人们着重关注的对象。
而在这个信息传递极速的社会,LED的出现给人们带来了希望之光。
LED的特色之处一是节能(直接功耗,间接耗能),二是基本无电离辐射,三提高空间利用率。
而这些特色又恰好解决了上述的三种问题。
然而LED点阵显示屏的特点不仅仅于此LED点阵显示屏用的是数码管,而数码管具有实用,便宜等优点。
做出来的LED点阵显示很耐用。
LED点阵显示屏之所以受到广泛重视而得到迅速发展,是与LED显示屏本身所具有的优点分不开的。
LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
二、简介组合型led点阵显示器以发光二极体为图素,它用高亮度LED晶粒进行阵列组合后,再透过环氧树脂和塑模封装而成。
具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。
点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。
LED点阵有4×4、4×8、5×7、5×8、8×8、16×16、24×24、40×40等多种;根据图素的数目分为等,双原色、三原色等,根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。
LED1616点阵屏设计

单片机课程设计题目:LED 16*16 点阵屏设计一、设计要求(1)使用硬件:89S51(89S52)、LED8*8点阵模块、74LS244、74LS07 (2)编程实现:翻页显示“北方工业大学”或滚动显示。
二、设计原理1、点阵屏原理点阵部结构及外形如下,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮.一般我们使用点阵显示汉字是用的16*16的点阵宋体字库,所谓16*16,是每一个汉字在纵、横各16点的区域显示的。
也就是说得用四个8*8点阵组合成一个16*16的点阵。
如下图所示,要显示“你”则相应的点就要点亮,由于我们的点阵在列线上是低电平有效,而在行线上是高电平有效,所以要显示“你”字的话,它的位代码信息要取反,即所有列(13~16脚)送(11111,0xF7,0x7F),而第一行(9脚)送1信号,然后第一行送0。
再送第二行要显示的数据(13~16脚)送(11111,0xF7,0x7F),而第二行(14脚)送1信号。
依此类推,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送16次数据扫描完16行后就会看到一个“你”字;第二种送数据的方法是字模信号送到行线上再扫描列线也是同样的道理。
同样以“你”字来说明,16行(9、14、8、12、1、7、2、5)上送(00000,0x00,0x00)而第一列(13脚)送、“0”。
同理扫描第二列。
当行线上送了16次数据而列线扫描了16次后一个“你”字也就显示出来了。
16×16点阵LED电子显示屏的设计

一.课程设计意义二.课程设计任务书三、课程设计进度计划及检查情况记录表四、成绩评定与评语目录一.课程设计意义 (1)二.课程设计任务书 (2)三、课程设计进度计划及检查情况记录表 (3)四、成绩评定与评语 (3)一、总体设计方案 (5)1.1 总体设计 (5)1.2 硬件设计 (6)1.3 软件设计 (13)二、设计内容 (15)2.1 系统硬件原理图与仿真 (15)2.2 程序清单 (17)三.结论、建议及课程设计体会 (21)四.参考文献 (21)一、总体设计方案1.1 总体设计1.1.1 工作原根据功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。
(1)熟悉AT89S51单片机系统的使用方法。
(2)掌握动态显示原理及实现方法。
(3)初步掌握AT89S51单片机编程方法。
(4)掌握串行数据传输方式的应用。
(5)实现利用AT89S51单片机控制的LED图文屏正常工作。
1.1.2 硬件部分总体设计根据功能要求,采用AT89C51单片机,动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式,列扫描地址用P1口控制,总体结构框图如下:图1-1 系统总体结构框图1.2 硬件设计系统的组成,硬件的选用,芯片的特点1.2.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门电流。
单片机课程设计--+16x16点阵LED电子显示屏的设计

单片机课程设计-- 16x16点阵LED电子显示屏的设计第一章系统总体方案设计LED驱动显示采用动态扫描方法, 动态扫描方式是逐行轮流点亮, 这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例, 把所有同一行的发光管的阳极连在一起, 把所有同一列的发光管的阴极连在一起(共阳的接法), 先送出对应第1行发光管亮灭的数据并锁存, 然后选通第1行使其燃亮一定的时间, 然后熄灭;再送出第2行的数据并锁存, 然后选通第2行使其燃亮相同的时间, 然后熄灭;…第16行之后, 又重新燃亮第1行, 反复轮回。
当这样轮回的速度足够快(每秒24次以上), 由于人眼的视觉暂留现象, 就能看到显示屏上稳定的图形。
该方法能驱动较多的LED, 控制方式较灵活, 而且节省单片机的资源。
显示数据传输采用串行传输的方法, 控制电路可以只用一根信号线, 将列数据一位一位传往列驱动器, 在硬件方面无疑是十分经济的。
但串行传输过程较长, 数据按顺序一位一位地输出给列驱动器, 只有当一行的各列数据都已传输到位之后, 这一行的各列才能并行地进行显示。
对于串行传输方式来说, 列数据准备时间可能相当长, 在行扫描周期确定的情况下, 留给行显示的时间就太少了, 以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾, 可以采用重叠处理的方法。
即在显示本行各列数据的同时, 传送下一行的列数据。
为了达到重叠处理的目的, 列数据的显示就需要有锁存功能。
对于列数据准备来说, 它应能实现串入并出的移位功能。
这样, 本行已准备好的数据打入并行锁存器进行显示时, 串行移位寄存器就可以准备下一行的列数据, 而不会影响本行的显示。
系统框图如图一图一点阵显示器硬件系统框图第二章系统硬件电路的设计硬件电路大致上可以分为单片机系统及外围电路、列驱动电路和行驱动电路三部分。
一. 单片机系统及外围电路单片机采用89C51或更高频率的晶振, 以获得较高的刷新频率, 使得显示更稳定。
16×16点阵LED电子显示屏的设计.

邮电与信息工程学院课程设计说明书课题名称:16×16点阵LED电子显示屏的设计学生学号:1002030205专业班级:计科02班学生姓名:龚建新学生成绩:指导教师:王会清课题工作时间:2013年5月6日至5月20日课程设计评审标准(指导教师用)附代码:***************************************; * *; * 单个16x16的点阵电子屏字符显示器 *; * ATA89C52 12MHz晶振 *; * 2013.5.19 *; ***************************************;显示字用查表法,不占用内存,字符用16x16共阳LED点阵,;效果:向上滚动显示5个字,再重复循环。
;R1:查表偏址寄存器,B:查表首址,R2:扫描地址(从00~0FH)。
;R3:滚动显示时控制移动速度,单字显示可控制静止显示的时间。
;*************;;中断入口程序;;*************;;ORG 0000HLJMP STARTORG 0003HRETIORG 000BHLJMP INTTOORG 0013HERTIORG 001BHERTIORG 0023HRETIORG 002BHRETI;;***********;;初始化程序;;***********;;;;***********;;主程序;;***********;;START: MOV 20H,#00H ;清零标志,00H为第16行开始扫描标志,01为1帧;扫描结束标志MOV A,#0FFH ;端口初始化MOV P1,AMOV P1,AMOV P3,AMOV P0,ACLR P1.6 ;串行寄存器输入打入输出控制位MOV TMOD,#01H ;使用T0做16位定时器,行扫描用。
MOV TH0,#0FCH ;1ms初值(12MHz)MOV TL0,#18HMOV SCON,#00H ;串口0方式传送显示字节MOV IE,#82H ;T0中断允许,总中断允许MOV SP,#70HMAIN: LCALL DISI ;显示准备,黑屏,1.5sMOV DPTR,#TABLCALL MOVDISP ;向上滚动显示一页(8个字)INC DPHLCALL MOVDISP ;向上滚动显示一页(8个字)INC DPHLACLL MOVDISP ;向上滚动显示一页(8个字)AJMP MAIN;;;***********************;;多字滚动显示程序;;***********************;;每次8个字,入口时定义好DPTR值;MOVDISP: MOV B,#00H ;向上移动显示,查表偏值暂存(从00开始)DISLOOP: MOV R3,#07H ;移动速度DISMOV: MOV R2,00H ;第0行开始MOV R1,BSETB TR0 ;开扫描(每次一帧)WAITMOV: JBC 01H,DISMOV1 ;标志为1扫描一帧结束(16ms为1帧,每行1ms) AJMP WAITMOVDISMOV1: DJNZ R3,DISMOV ;1帧重复显示(控制移动速度)INC B ;显示字的下一行(每行2字节)INC BMOV A,R1 ;R1为0,8个字显示完JZ MOVOUTAJMP DISLOOPMOVOUT: RET ;移动先是结束;;;****************;;单字显示程序;;****************;;显示表中某个字;;****************;DIS1: MOV R3,#5AH ;静止显示时间控制(16ms*#=1.6s)DIS11: MOV R2,#00H ;一帧扫描初始值(行地址从00~0FH)MOV DPTR,#TAB ;取表首址MOV R1,#00H ;查表偏址(显示第一个字)SETB TR0 ;开扫描(每次一帧)WAIT11: JBC 01H,DIS111 ;为1,扫描一帧结束AJMP WAIT11DIS111: DJNZ R3,DIS11RET;;;************;;扫描程序;;************;;1ms刷新一次,每行显示1sINTT0: PUSH ACCMOV TH0,#0FCH ;1ms初值重装MOV TL0,#18HJBC 00H,GOEND ;16行扫描标志为1,结束INC R1 ;取行右边字节偏址MOV A,R1MOVC A,@A+DPTR ;查表MOV SBUF,A ;串口0方式发送WAIT: JBC TI,GO ;等待发送完毕AJMP WAIT1GO: DEC R1 ;取行左边字节偏址MOV A,R1MOVC A,@A+DPTRMOV SBUF,AWAIT1: JBC T1,GO1AJMP WAIT1GO1: SETB P1.7 ;关行显示,准备刷新NOP ;串口寄存器数据稳定SETB P1.6 ;产生上升沿,行数据打入输出端NOPNOPCLR P1.6 ;恢复低电平MOV A,R2 ;修改显示行地址ORL A,#0F0H ;修改显示行地址MOV R2,A ;修改显示行地址MOV A,P1 ;修改显示行地址ORL A,#0FH ;修改显示行地址ANL A,R2 ;修改显示行地址MOV P1,A ;修改完成CLR P1.7 ;开行显示INC R2 ;下一行扫描地址值INC R1INC R1 ;下一行数据地址MOV A,R2ANL A,#0FHJNZ GO2SETB 00H ;R2为01H,现为末行扫描,置标志GO2: POP ACCRETIGOEND: CLR TR0 ;一帧扫描完毕,关扫描SETB 01H ;一帧扫描完毕,置结束标志POP ACCRETI ;退出;;;***************;;扫描文字表;;***************;;TAB:DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH ;黑屏DB0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H, 0B7H ;我DB0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH, 0FDH ;DB0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H, 003H ;爱DB0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH, 0FBH ;DB0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH, 0F7H ;单DB0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH, 0FFHDB0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH, 0FFH ;片DB0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH, 0FFHDB0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH, 077H ;机DB0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH, 0FFH ;DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH ;黑屏DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH ;END。
(完整版)16×16点阵LED电子显示屏的设计_毕业论文

16×16点阵LED电子显示屏的设计摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本设计是1616××16点阵LED电子显示屏的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器74LS154和两个列驱动器74L373来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,采用4块8 x 8点阵LED显示模块来组成一个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:AT89C51单片机 LED 点阵显示动态显示AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode).The LED dot-matrix display board can display the number or sign,and it is usually used to show time, speed, the state of system etc.This design is 1 16 ×16 lattice LED electron display monitor design.The whole equipment is with the 40-pin AT89C51 MCU (Micro Controller Unit) produced by the American ATMEL company at thecore, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. Controls good driver 74LS154 an two row driver 74L373 through thischip actuates the display monitor demonstration. The electronic screen can show all kinds of written or monochrome images, one full screen display Chinese characters, four pieces of 8 x 8 dot-matrix LEDdisplay modules to form the 16x16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the of the LEDdot matrix display, and the principle function of the various parts ofthe circuit, the corresponding software program design and the use of some such. Key words: AT89C51 Micro Controller U nitUnit; LED; LatticeDisplay;Dynamic Display目录第1章绪论1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。
16x16点阵屏控制设计

目录引言 (5)1 硬件设计 (6)1.1 硬件总体电路设计思路 (6)1.2硬件电路总体设计实现 (6)1.3 硬件电路制作过程 (6)1.4 硬件控制模块设计实现 (8)1.5 点阵屏模块设计实现 (9)2 软件设计 (10)2.1 C语言程序........................................................错误!未定义书签。
3 电路调试 (13)3.1 电路调试过程 (14)总结....................................................................错误!未定义书签。
4谢辞 (15)参考文献 (16)附录 (17)摘要本次设计使用AT89S51单片机作为主控制模块,利用74HC595来驱动16x16的LED 点阵显示屏。
LED显示屏是一种通过控制半导体发光二极管的显示方式,它是由很多的发光二极管组成,靠灯的亮来显示字符。
LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。
目前由于LED显示屏造价昂贵,主要应用于比较高档的场所,主要集中在城市的繁华场所,举办的2010年上海世博会、未各项大型运动赛事等新增需求,都将促使LED显示屏的大规模发展。
此外,已架设的大型LED显示屏幕每10年将历经一换机潮,随着人们生活水平的提高,户外LED显示屏将逐渐应用于各个行业。
关键词:单片机AT89S52;74HC595;16x16LED点阵;点阵字库。
AbstractThis design uses AT89S51 micro controller as the main control module,LED dot matrix displayusing74HC595 to drive 16x16. LED display is a display control semiconductor light emitting diode through, which is composed of alight emitting diode many, by the bright lights to display character. Graphic display and LED display into the video digital display,display, by the LED matrix blocks.At present, the LED display is expensive,mainly used in high-grade places, mainly concentrated in the bustling place city,Expo 2010 Shanghai, not the big sporting events and new demand, large-scale development will promote LED display screen. In addition, LED has set up large display screen every 10 years after a replacement tide, along with the people living standard enhancement, outdoor LED screen will be gradually applied to various industries.Keywords: single chip AT89S52; 74HC595; 16x16LED lattice; lattice fonts.引言LED显示屏Light Emitting Diodede:又叫电子显示屏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009级电子信息工程单片机原理课程设计报告书设计题目LED点阵屏的设计制作姓名学号学院工程技术学院专业电子信息工程班级指导教师2012年5月3日目录一、引言 (1)1、设计意义 (1)2、系统功能要求 (1)二、方案设计 (2)1、总体设计 (2)图1 (2)2、设计论证 (2)三、硬件设计 (5)1、单片机系统及其管脚 (5)2、16x16点阵的级联实现 (6)3、点阵驱动部分 (8)4、电源部分 (10)四、软件设计 (11)1、显示驱动程序 (11)2、系统主程序 (12)五、系统调试 (13)1、调试主要分为硬件调试和软件调试 (13)2、程序仿真 (13)六、总结 (14)七、参考文献 (15)八、附录A;原理图 (16)九、附录B;源程序 (16)十、附录B;作品实物图、PCB、清单如下: (19)一、引言1、设计意义LED 就是Light Emitting Diode(发光二极管)的缩写。
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
发光二极管是由p 型和n 型半导体组成的二极管。
在LED 的p - n 结附近,n 型材料中多数载流子是电子,p 型材料中多数载流子是空穴。
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
2、系统功能要求设计一个能显示16X16点阵图文LED显示屏,要求能显示文字,并且显示出“XXXXXXX”字样。
二、方案设计1、总体设计图12、设计论证LED点阵显示模块进行的方法有两种:(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该列上哪个LED亮(相当于段码)。
能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。
(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。
能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。
每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。
一般我们使用的16×16的点阵宋体字库,即所谓的16×16,是每一个汉字在纵横各16点的区域内显示的。
汉字库从该位置起的32字节信息记录了该字的字模信息。
事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。
图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。
这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。
具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并列传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一列数据。
为了达到重叠处理的目的,列数据的显示就需要具有所存功能。
经过上述分析,就可以归纳出列驱动器电路应具有的功能。
对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
三、硬件设计1、单片机系统及其管脚常用的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。
本次设计采用内部时钟方式,将XTAL1与XTAL2之间跨接一个12MHZ 石英晶振和微调电容,从而构成一个稳定的自激震荡器。
电容值取30pF 左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。
为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。
另一部分是复位部分。
上电自动复位电路是最简单的复位电路,只需要一个10K 左右电阻、一个10uF 左右的电容及一个按键。
需要按键手动复位。
1、AT89S52的最小系统其中,C1 ,C2都是30 pF 的片状电容,C3 为10μF 的电解电容。
R1为10K 的电阻。
2、X1为12MHz 的晶振,连接到单片机的18,19引脚,为单片机提供内部时钟信号,内部反相放大器自激振荡产生时钟信号。
时钟发生器对振荡脉冲2分频,即石英频率f=12MHz ,则单片机时钟信号为6MHz 。
3、9号角接上电复位电路。
当给单片机加电,高电平脉冲通过10μF 的电解电容,到达9号引脚(RST ),实现主复位。
如果正常工作中产生意想不到的情况发生,可以用按键开关控制发送一个高电平实现主复位。
101112131415161721222324252627283233343536373839图2图3 单片机系统及管脚图2、16x16点阵的级联实现00 0110 11图4 级联图级联方法:如图四个点阵。
1、把00,01相同的行线相连接。
2、把10,11相同的行线相连接。
3、把00,10相同的列线相连接。
4、把01,11相同的列线相连接。
5、最后,00,01的列就作为16x16点阵的列控线。
00,10的行就作为16x16点阵的行控线。
图5 点阵实物管脚编号由于我们本次选用的是行点亮SZ410788K 型号的点阵,如上图右所示。
首先,用万用表测出四个8x8点阵的行控线,列控线。
通过实际测量实际行列线如上图所示,故四片点阵的实际连接方式如下图所示:D9D10D11D12D13D14D15D16D1D2D3D4D5D6D7D8D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D165172B3C485E6673819D10F11412A13214G15H16DS1LED8X85172B 3C485E6673819D10F11412A13214G15H16DS2LED8X85172B3C485E6673819D10F11412A13214G15H16DS3LED8X85172B 3C485E6673819D10F11412A13214G15H16DS4LED8X8图6 点阵连接图3、点阵驱动部分点阵显示用是动的态扫描来实现的。
在采用扫描方式显示时,由于每行要带动十六个二极管,每行电流较大。
若每个二极管安5mA计算,十六个二极管就得80mA电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个npn型三极管。
三极管的集射极通过限流240欧姆电阻接5V电压,发射极接点阵的行线,而其基级本应接单片机,但该接线方式占用为了16个单片机管脚,为了节省单片机管脚,用了两片74HC595Y移位寄存器,这样就只需要4个管脚了。
各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。
由于列线过多,故多采用串行传输。
由于每次要传输16位,而且数据要逐位输给驱动器,只有当一行中各列数据都已传输到位后,这一行的各列才能进行并行显示,耗时较长。
为了满足以上要求,驱动选择74HC595移位寄存器。
74HC595是硅结构的CMOS 器件,。
74HC595是有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
其特点:8位串行输入 /8位串行或并行输出存储状态寄存器,三种状态; 输出寄存器可以直接清除 100MHz的移位频率。
各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。
由于每次要传输16位,而且数据要逐位输给驱动器,只有当一列中各列数据都已传输到位后,这一列的各列才能进行并行显示。