LED16乘16电子显示器课程设计.docx
《LED16乘16电子显示器课程设计.docx》由会员分享,可在线阅读,更多相关《LED16乘16电子显示器课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
LED16乘16电子显示器课程设计
目录
1.前言2
2.方案设计2
2.1.系统功能要求2
2.2.硬件设计2
2.2.1.8255A芯片3
2.3.设计框图3
2.4.LED点阵介绍3
2.5.LED显示方式3
3.测试与调试3
4.总结与体会3
5.程序清单3
6.参考文献3
1.前言
LED电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。
它发布信息灵活多变,易于控制。
在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示屏显示信息。
LED电子显示屏由单片机控制。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
正因为如此,在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、家用电器等各个方面。
随着电子设备变成我们日常生活始终必备之物,电子显示产品也成为一个重要组件,提供快捷而方便的通讯.发光二极管(LED)电子显示屏也被广泛应用.LED电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。
它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。
随着市场的急速需求,在现有的市场上已经出现许多有关点阵显示器有关的产品,如广告活动字幕机,股票显示板,活动广告栏等。
它们的优点是可按需要的。
2.方案设计
2.1.系统功能要求
设计装调一个直流电机调速控制器。
利用取模软件建立标准字库,编制程序实现点阵循环左移显示汉字:
上海学院。
2.2.硬件设计
(1)16X16矩阵LED为共阴极显示,由四个8X8LED点阵块组成,根据提供I/O地址、功能,由不同I/O口分别提供字形代码送行,列扫描信号送列扫描行,凡字形代码位"1"、列扫描信号"0"该点点亮,否则熄灭,通过逐列扫描,循环点亮字形或曲线。
(2)用8255的PA、PB输出接口提供扫描列信号;用8255的PC口和273输出接口提供扫描行信号,输出字形代码,完成16×16的点阵显示。
2.2.1.8255A芯片
1.8255A的端口地址:
在片选信号CS=0的条件下:
本实验我设计的端口地址为60H~63H,端口地址如表2.1所示:
表2.18255A端口地址
信号线
寄存器
地址
IOY3
A口
60H
B口
61H
C口
62H
控制寄存器
63H
2.8255A的工作方式
有3种工作方式,本实验我主要采用方式0:
基本型输入/输出方式。
A端口工作在方式0并作为输出口,B端口工作方式0并作为输出口.
3.8255A的控制字:
设置控制字为B=80H.
4.8255A输入/输出接口电路
255A片内有A,B,C3个8位并行端口,A口和B口分别有1个8位的数据输出锁存/缓冲器和1个8位数据输入锁存器,C口有1个8位数据输出锁存/缓冲器和1个8位数据输入缓冲器,用于存放CPU与外部设备交换的数据。
5.8255A的引脚
8255A的引脚如图2.1所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
图2.2.18255A的引脚图
D7~D0:
三态、双向数据线,与CPU数据总线连接,用来传送数据。
:
片选信号线,低电平有效时,芯片被选中。
A1,A0:
地址线,用来选择内部端口。
:
读出信号线,低电平有效时,允许数据读出。
:
写入信号线,低电平有效时,允许数据写入。
RESET:
复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0:
A口输入/输出信号线。
PB7~PB0:
B口输入/输出信号线。
PC7~PC0:
C口输入/输出信号线。
VCC:
+5V电源。
GND:
电源地线。
2.3.设计框图
LED点阵总体框图如图1.1所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。
控制电路部分包括一个51CUP和一些外围电路。
在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通讯、以及给屏体电路部分发送命令。
点阵显示屏体、以及它的行和列的各个驱动电路。
由于两部分的电路在制板时可以放到一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。
此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。
另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。
接通的列,就在该行该列点燃相应的LED;未接通的列所对应的LED熄灭。
可通过扫描输出口的控制实现颜色的转换。
图2.3
2.4.LED点阵介绍
8×8单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。
本设计是一种实用的汉字显示屏的制作,制作的是双色点阵。
考虑到元器件的易购性,没有使用8×8的点阵发光二极管模块,而是直接使用了256个高亮度发光管,组成了16行16列的发光点阵。
实际使用时可以根据这个原理自行扩充显示的字数。
对比下面的8×8单色点阵和8×8双色点阵可以看出,其实8×8双色点阵就是两块8×8单色点阵组合在一起的。
要实现用两种颜色显示,只要在电路的设计中适当的连线就可以了。
8×8单色和双色点阵LED结构分别如下图2.5和2.6所示。
图2.48×8点阵外观及引脚图
图2.58×8单色点阵内部图图2.68×8双色点阵内部图
2.5.LED显示方式
汉字显示屏用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。
下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。
为了降低成本,使用了四块8×8的LED点阵发光管的模块,组成了一个16×16的LED点阵显示屏,如图2.10所示。
在这里仅做了四个汉字的显示,在实际的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理。
图2.10四块8×8的LED点阵组成16×16的LED点阵
LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;….第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要有锁存功能。
对于列数据准备来说,它应能实现串入并出的移位功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串行移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
3.测试与调试
(1)在P.态下,按SCAL键。
(2)将JHPC接JX16(PC),JX7→JX17,CS2→FF80H,JQ→JHQ,JLPA接JX9(PA),JLPB接JX15(PB)。
(3)运行程序,左移显示“上海学院”字样。
LED显示的结果为为“上海学院”
4.总结与体会
本文设计的16x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示的图形和文字较稳定、清晰。
图形或文字向左滚动显示。
本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。
总结本次实训的过程,主要有以下方面的体会和感想:
一、为了能过顺利完美的完成本次课程设计,我们小组的同学在网上查阅了大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。
并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。
并证实了自己的思路:
“查资料→思考总结→运用→找出差错,再查资料和向别人询问→再次运用”的正确性。
二、虽然在做实验之前小组成员都做了充分的准备,但在实际动手操作中还是碰到了很多问题,比如:
我们在单片机上接线路的时候,有一块芯片接错了,LED灯只显示一半字符,在我们仔细检查电路之后,发现问题并及时纠正后,终于在LED灯上显示出了完整的字符。
在能够显示字符之后,我们的重中之重就是要研究透程序设计中是如何显示出字符的,并设计出实验要求输出的字符,在经过小组成员激烈的讨论之后,我们在白纸上画好点阵图,并设计字符,算出每个需要点亮的LED灯的数据地址,并输入电脑实践,这次很成功,小组同学都觉得很欣慰,毕竟这是我们自己辛辛苦苦研究出来的。
三,本次实训报告列出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。
四,通过这次实训设计,重新复习并进一步增强了动手的能力,学以致用,把课本上的知识灵活运用到了实践当中。
5.程序清单
;LEDQD.ASM,USR-LED16X16,TAB=ffff(2048x32);XPA=0D000H
XPAEQU0FF28H;L-SAO-1
XPBEQU0FF29H;L-SAO-2
XPCEQU0FF2AH;H-CODE-2
XPCTLEQU0FF2BH
;---------------------------------
POEQU0FF80H;H-CODE-1
DATASEGMENTAT0
ORG1B90H
FLDB?
;BLSAOFLAG
RHDW?
;H-CODE
RLDB?
;L-CODE
PAGDW?
;XPA/XPB
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
ORG2DC0H
START:
MOVDX,XPCTL
MOVAL,80H
OUTDX,AL
CALLOFFLED
MOVAL,00H
MOVFL,AL
MOVPAG,XPA;0FF28H;8000H;XPA/XPB
X0:
MOVRH,0000H;H-CODE
X1:
CALLDEL1
INCRH
MOVAX,RH
ANDAX,000FH
CMPAX,0000H
JNZX2
ADDRH,0010H
x2:
CMPRH,0641h;0ffe1H
JZX0
jmpx1
DISPW:
CLC
PUSHRH;H-NUM
MOVRL,01H;L-NUM
DISP1:
MOVSI,RH
MOVBX,OFFSETTAB
MOVAL,CS:
[BX+SI]
MOVDX,XPC;PA,CODE->SHANGBANBU
OUTDX,AL
MOVAL,CS:
[BX+SI+10H];XPC,CODE->XIABANBU
MOVDX,PO
OUTDX,AL
MOVDX,PAG
MOVAL,RL
NOTAL
OUTDX,AL
MOVCX,0080H
LOOP$
CALLOFFLED
INCRH
;ANDRH,00FFH;!
!
;-----------------
MOVAX,RH
ANDAX,000FH
CMPAX,0000H
JNZCON2
ADDRH,0010H
;ANDRH,00FFH;!
!
CON2:
RCLRL,1
JNCDISP1
CMPFL,00H
JNZEXIT
INCFL
CLC
MOVRL,01H
MOVPAG,XPB;0FF29H
JMPDISP1
EXIT:
MOVPAG,XPA;0FF28H
MOVFL,00H
POPRH
RET
OFFLED:
MOVDX,XPA
MOVAL,0FFH
OUTDX,AL
MOVDX,XPB
OUTDX,AL
RET
DEL1:
MOVCX,0020H
CON1:
PUSHCX
CALLDISPW
POPCX
LOOPCON1
RET
TAB:
;--文字:
上--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,00H,00H,00H,00H,00H,00H,3FH,01H,01H,01H,00H,00H,00H,00H,00H
DB00H,04H,04H,04H,04H,04H,04H,0FCH,04H,04H,04H,04H,04H,04H,00H,00H
;--文字:
海--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,00H,21H,10H,08H,00H,10H,2FH,68H,2CH,2AH,28H,2FH,00H,00H,00H
DB00H,08H,04H,88H,10H,00H,80H,0F0H,90H,0D0H,0B4H,92H,0FEH,90H,00H,00H
;--文字:
学--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,00H,5CH,30H,10H,54H,34H,15H,16H,14H,30H,50H,10H,10H,1CH,00H
DB00H,00H,20H,20H,20H,28H,24H,0A2H,7DH,20H,20H,20H,20H,20H,00H,00H
;--文字:
院--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,7FH,40H,4CH,53H,60H,1DH,11H,15H,55H,35H,15H,11H,11H,1DH,00H
DB00H,0FEH,20H,40H,80H,02H,04H,08H,10H,0E0H,00H,0FEH,02H,02H,06H,02H
;--文字:
.....--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01H
DB00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H
;--文字:
.....--
;--宋体12;此字体下对应的点阵为:
宽x高=16x16--
DB00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01H
DB00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H
CODEENDS
ENDSTART
6.参考文献
[1]《80x86/Pentiun微机原理与接口技术》余春暄,机械工业出版社,2008.9;
[2]《微机原理与接口技术》吉海彦主编,机械工业出版社,2007.7;