1、1目录1. 前言 .22. 方案设计 .22.1. 系统功能要求 22.2. 硬件设计 22.2.1. 8255A 芯片 .32.3. 设计框图 32.4. LED 点阵介绍 32.5. LED 显示方式 33. 测试与调试 .34. 总结与体会 .35. 程序清单 .36. 参考文献 .321. 前言LED 电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它发布信息灵活多变,易于控制。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示屏显示信息。LED 电子显示屏由单片机控制。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,
2、可靠性高,灵活性好,开发较为容易。正因为如此,在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、家用电器等各个方面。随着电子设备变成我们日常生活始终必备之物,电子显示产品也成为一个重要组件,提供快捷而方便的通讯发光二极管(LED)电子显示屏也被广泛应用LED 电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。随着市场的急速需求,在现有的市场上已经出现许多有关点阵显示器有关的产品,如广告活动字幕机,股票显示板,活动广告栏等。它们的优点是可按需要的。2
3、. 方案设计2.1. 系统功能要求设计装调一个直流电机调速控制器。利用取模软件建立标准字库,编制程序实现点阵循环左移显示汉字:上海学院。2.2. 硬件设计(1)16X16 矩阵LED为共阴极显示,由四个8X8 LED点阵块组成,根据提供I/O地址、功能,由不同I/O口分别提供字形代码送行,列扫描信号送列扫描行,凡字形代码位“1“、列扫描信号“0“该点点亮,否则熄灭,通过逐列扫描,循环点亮字形或曲线。(2)用8255的PA、PB输出接口提供扫描列信号;用8255的PC口和273输出接口提供扫描行信号,输出字形代码,完成1616的点阵显示。32.2.1. 8255A 芯片 1. 8255A 的端口
4、地址: 在片选信号 CS0 的条件下:本实验我设计的端口地址为 60H63H,端口地址如表 2.1 所示:表 2.1 8255A 端口地址2. 8255A 的工作方式有 3 种工作方式,本实验我主要采用方式 0:基本型输入输出方式。A 端口工作在方式 0 并作为输出口,B 端口工作方式 0 并作为输出口.3. 8255A 的控制字:设置控制字为 10000000B=80H.4. 8255A 输入/输出接口电路 255A 片内有 A, B, C 3 个 8 位并行端口,A 口和 B 口分别有 1 个 8 位的数据输出锁存/缓冲器和 1 个 8 位数据输入锁存器,C 口有 1 个 8 位数据输出锁
5、存/缓冲器和 1 个 8 位数据输入缓冲器,用于存放 CPU 与外部设备交换的数据。信号线 寄存器 地址A 口 60HB 口 61HC 口 62HIOY3控制寄存器 63H45. 8255A 的引脚8255A 的引脚如图 2.1 所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。图 2.2.1 8255A 的引脚图D7D0:三态、双向数据线,与 CPU 数据总线连接,用来传送数据。:片选信号线,低电平有效时,芯片被选中。A1, A0:地址线,用来选择内部端口。:读出信号线,低电平有效时,允许数据读出。:写入信号线,低电平有效时,允许数据写入。RESET:复位信号线,高电平有效时
6、,将所有内部寄存器(包括控制寄存器)清 0。PA7PA0:A 口输入/输出信号线。PB7PB0:B 口输入/输出信号线。PC7PC0:C 口输入/输出信号线。VCC:5V 电源。 GND:电源地线。2.3. 设计框图LED 点阵总体框图如图 1.1 所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。控制电路部分包括一个 51CUP 和一些外围电路。在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与 PC 机的串行通讯、以及给屏体电路部分发送命令。点阵显示屏体、以及它的行和列的各个驱动电路。由于两部分的电路在制板时可以放到一起,所
7、以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列点燃相应的 LED;未接通的列所对应的 LED 熄灭。可通过扫描输出口的控制实现颜色的转换。5图 2.32.4. LED 点阵介绍88 单色点阵共需要 64 个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。本设计是一种实用的汉字
8、显示屏的制作,制作的是双色点阵。考虑到元器件的易购性,没有使用 88 的点阵发光二极管模块,而是直接使用了 256 个高亮度发光管,组成了 16 行 16 列的发光点阵。实际使用时可以根据这个原理自行扩充显示的字数。对比下面的 88 单色点阵和 88 双色点阵可以看出,其实 88 双色点阵就是两块88 单色点阵组合在一起的。要实现用两种颜色显示,只要在电路的设计中适当的连线就可以了。 88 单色和双色点阵 LED 结构分别如下图 2.5 和 2.6 所示。图 2.4 88 点阵外观及引脚图 单片机列驱动器行驱动器 16X16LED 显示点阵电源6图 2.5 88 单色点阵内部图 图 2.6 8
9、8 双色点阵内部图2.5. LED 显示方式汉字显示屏用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。为了降低成本,使用了四块 88 的 LED 点阵发光管的模块,组成了一个 1616 的LED 点阵显示屏,如图 2.10 所示。在这里仅做了四个汉字的显示,在实际的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理。 7图 2.10 四块 88 的 LED 点阵组成 1616 的 LED 点阵LED 驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行
10、的同名列共用一套列驱动器。以 1616 点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第 1 行发光管亮灭的数据并锁存,然后选通第 1 行使其燃亮一定的时间,然后熄灭;再送出第 2 行的数据并锁存,然后选通第 2 行使其燃亮相同的时间,然后熄灭;.第 16行之后,又重新燃亮第 1 行,反复轮回。当这样轮回的速度足够快(每秒 24 次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的 LED,控制方式较灵活,而且节省单片机的资源。显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往
11、列驱动器,在硬件方面无疑是十分经济的。但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以致影响到 LED 的亮度。采用串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要有锁存功能。对于列数据准备来说,它应能实现串入并出的移位功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串行移位寄存器就可以准备下一行的列
12、数据,而不会影响本行的显示。3. 测试与调试(1)在 P.态下,按 SCAL 键。(2)将 JHPC 接 JX16(PC),JX7JX17,CS2FF80H,JQJHQ,JLPA 接JX9(PA),JLPB 接 JX15(PB)。(3)运行程序,左移显示“上海学院”字样。8LED 显示的结果为为“上海学院”4. 总结与体会本文设计的 1616 的点阵 LED 图文显示屏,能够在目测条件下 LED 显示屏各点亮度均匀、充足,可显示图形和文字,显示的图形和文字较稳定、清晰。图形或文字向左滚动显示。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。总结本次实训的过程,主要有以下方面的
13、体会和感想:一、为了能过顺利完美的完成本次课程设计,我们小组的同学在网上查阅了大量的相关资料,详细了解了 LED 的发光原理和 LED 显示屏的原理,了解了 LED 的现状,清楚地了解了 LED 显示屏与其它显示屏相比较有那些优点,明确了研究目标。并且通过对单片机资料的查阅和应用,更进一步增加了对单片机知识的理解和运用能力。并证实了自己的思路:“查资料思考总结运用找出差错,再查资料和向别人询问再次运用”的正确性。二、虽然在做实验之前小组成员都做了充分的准备,但在实际动手操作中还是碰到了很多问题,比如:我们在单片机上接线路的时候,有一块芯片接错了,LED 灯只显示一半字符,在我们仔细检查电路之后
14、,发现问题并及时纠正后,终于在 LED 灯上显示出了完整的字符。在能够显示字符之后,我们的重中之重就是要研究透程序设计中是如何显示出字符的,并设计出实验要求输出的字符,在经过小组成员激烈的讨论之后,我们在白纸上画好点阵图,并设计字符,算出每个需要点亮的 LED 灯的数据地址,并输入电脑实践,这次很成功,小组同学都觉得很欣慰,毕竟这是我们自己辛辛苦苦研究出来的。三,本次实训报告列出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和9具体汇编语言程序设计与调试等方面。四,通过这次实训设计,重新复习并进一步增强了动手的能力,学以致用,把课本上的知识灵活运用到了实践当中。5. 程序清单;LEDQD
15、.ASM,USR-LED 16X16,TAB=ffff(2048x32);XPA=0D000HXPA EQU 0FF28H ;L-SAO-1XPB EQU 0FF29H ;L-SAO-2XPC EQU 0FF2AH ;H-CODE-2XPCTL EQU 0FF2BH;-PO EQU 0FF80H ;H-CODE-1DATA SEGMENT AT 0ORG 1B90HFL DB ? ;BL SAO FLAGRH DW ? ;H-CODERL DB ? ;L-CODEPAG DW ? ;XPA/XPBDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAORG 2D
16、C0HSTART: MOV DX,XPCTLMOV AL,80HOUT DX,ALCALL OFFLEDMOV AL,00HMOV FL,ALMOV PAG,XPA ;0FF28H ;8000H ;XPA/XPBX0: MOV RH,0000H ;H-CODEX1: CALL DEL1INC RHMOV AX,RHAND AX,000FHCMP AX,0000HJNZ X2ADD RH,0010Hx2: CMP RH,0641h ;0ffe1HJZ X0jmp x1DISPW: CLCPUSH RH ;H-NUM10MOV RL,01H ;L-NUMDISP1: MOV SI,RHMOV BX
17、,OFFSET TABMOV AL,CS:BX+SIMOV DX,XPC ;PA, CODE-SHANG BAN BUOUT DX,ALMOV AL,CS:BX+SI+10H;XPC,CODE-XIA BAN BUMOV DX,POOUT DX,ALMOV DX,PAGMOV AL,RLNOT ALOUT DX,ALMOV CX,0080HLOOP $CALL OFFLEDINC RH; AND RH,00FFH ;!;-MOV AX,RHAND AX,000FHCMP AX,0000HJNZ CON2ADD RH,0010H; AND RH,00FFH ;!CON2: RCL RL,1JNC
18、 DISP1CMP FL,00HJNZ EXITINC FLCLCMOV RL,01HMOV PAG,XPB ;0FF29HJMP DISP1EXIT: MOV PAG,XPA ;0FF28HMOV FL,00HPOP RHRETOFFLED: MOV DX,XPAMOV AL,0FFHOUT DX,ALMOV DX,XPBOUT DX,ALRET11DEL1: MOV CX,0020HCON1: PUSH CXCALL DISPWPOP CXLOOP CON1RETTAB: ;- 文字: 上 -;- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -DB 00H,00H,00H,
19、00H,00H,00H,00H,3FH,01H,01H,01H,00H,00H,00H,00H,00HDB 00H,04H,04H,04H,04H,04H,04H,0FCH,04H,04H,04H,04H,04H,04H,00H,00H;- 文字: 海 -;- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -DB 00H,00H,21H,10H,08H,00H,10H,2FH,68H,2CH,2AH,28H,2FH,00H,00H,00HDB 00H,08H,04H,88H,10H,00H,80H,0F0H,90H,0D0H,0B4H,92H,0FEH,90H,00H,00H;-
20、 文字: 学 -;- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -DB 00H,00H,5CH,30H,10H,54H,34H,15H,16H,14H,30H,50H,10H,10H,1CH,00HDB 00H,00H,20H,20H,20H,28H,24H,0A2H,7DH,20H,20H,20H,20H,20H,00H,00H;- 文字: 院 -;- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -DB 00H,7FH,40H,4CH,53H,60H,1DH,11H,15H,55H,35H,15H,11H,11H,1DH,00HDB 00H,0FEH,20H
21、,40H,80H,02H,04H,08H,10H,0E0H,00H,0FEH,02H,02H,06H,02H;- 文字: . -;- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -DB 00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01HDB 00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H;- 文字: . -;- 宋体 12; 此字体下对应的点阵为:宽 x 高=16x16 -DB 00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01H,00H,00H,01H,01HDB 00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80H,00H,00H,80H,80HCODE ENDSEND START6. 参考文献1 80x86/Pentiun 微机原理与接口技术余春暄,机械工业出版社,2008.9;122 微机原理与接口技术 吉海彦主编,机械工业出版社,2007.7 ;