当前位置:文档之家› 课程设计LED1616点阵显示设计

课程设计LED1616点阵显示设计

课程设计IV设计说明书LED16*16点阵显示设计学生姓名学号班级成绩指导教师数学与计算机科学学院2013年月日课程设计任务书专业:学号:姓名:课程设计名称:课程设计IV﹙10171010﹚设计题目:LED16*16点阵显示设计完成期限:自2013 年9 月 2 日至2013 年9 月14 日共 2 周设计依据要求及主要内容一、目的任务:依据实验器材提供的功能,利用并行接口芯片8255A和LED点阵模块显示字符,用取模软件建立标准字库,并编制程序实现点阵循环左移显示汉字。

二、设计内容:1. 复习相关课程内容:微机原理及应用课程相关内容;汇编语言程序设计的相关内容;熟悉模拟电路、数字电路的相关知识;2. 熟悉实验相关器材的主要功能。

3. 在上述基础上,根据课程设计的基本要求,完成以下各项任务(反映在设计说明书中):(1)题目要求涉及的硬件电路图及摘要说明。

(2)题目的工作原理及相应描述。

(3)程序流程框图。

三、设计要求:1.软件程序文档();2.硬件电路图(用专业软件);3.完成实验;4.完成设计说明书。

课程设计评阅评语:指导教师签名:年月日摘要利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。

在控制板MC1上以并行通信的方式控制LED点阵显示。

要求自建字库,编制程序实现点阵循环左移显示汉字;关键词:芯片;并行;循环目录1. 设计目的 (1)2. 设计内容 (2)3. 硬件电路设计 (3)3.1 8255 (3)3.2 138译码器 (3)3.3 371锁存器 (3)3.4 LED动态显示原理 (3)3.5 整个系统的仿真电路图 (6)4. 字模生成 (7)5. 程序设计 (8)5.1 程序设计整体思路 (8)5.2 程序流程图 (8)5.3 源程序 (10)6. 系统功能测试 (13)6.1 实物测试 (13)6.2 仿真测试 (13)7. 总结 (14)参考文献 (15)本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED 点阵显示的基本原理和如何来实现汉字的的循环左移显示。

利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED 点阵显示。

要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues 仿真软件画出电路图,运行程序。

3. 硬件电路设计整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。

该电路可静态显示1个16*16位的汉字,也可循环显示。

3.1 8255Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。

可由程序来改变其功能,通用性强、使用灵活。

通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。

其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。

可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。

3.2 138译码器译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。

发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。

3.3 373锁存器74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。

当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。

工作原理:74LS373的输出端O0—O7可直接与总线相连。

当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。

当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。

当锁存允许端LE为高电平时,O随数据D而变。

当LE为低电平时,O被锁存在已建立的数据电平。

3.4 LED 动态显示原理LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。

静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。

点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。

将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。

最典型的例子就是电影放映机。

在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。

以8×8点阵模块为例,说明一下其使用方法及控制过程。

图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。

相邻两行线间绝缘。

同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。

在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。

则行线和列线的交叉点处的LED就会有电流流过而发光。

比如,Y7为1,X0为0,则右下角的LED点亮。

再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。

现描述一下用动态扫描显示的方式,显示字符“B”的过程。

其过程如图3.1图3.1 用动态扫描显示字符“B”的过程Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。

下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

首先,从Proteus7.5的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。

此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。

然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。

并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。

连接好的16×16点阵如图3.2所示。

成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。

组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如图3.3所示。

图3.2 点阵模块组合图3.3可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。

然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.4所示。

看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。

需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。

然后,我们将其保存,以便以后使用。

图3.43.5 整个系统的仿真电路图图3.54. 字模生成文字的字模是一组数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各位信息来记载英文或汉字的形状[1。

在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有——内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的内码)。

如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。

在硬件系统内,英文的字模信息一般固化在ROM里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。

而在DOS下,中文的字模信息一般记录在汉字库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。

在通过软件实现的技术中,目前有许多字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。

在通过硬件实现字模提取的技术中,有在系统中增加硬汉字库的方法,主控器发送的汉字是其机内码,用两个字节来表示一个汉字。

根据机内码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。

由于带有硬汉字库,进行动态文字显示时,通用智能显示单元仅接受汉字的机内码即可,这样数据通讯量大大减少。

因此,“动态文字显示速度快”。

5. 程序设计5.1 程序设计总体思路用简短的汇编程序设计,实现LED点阵显示内容,并使显示的内容在屏幕上从左到右的滚动显示。

系统采用模块化结构,包括主程序、显示子程序和循环扫描显示子程序。

用8088、74LS373、74LS138、7407芯片和1个16×16LED点阵显示器构成一个完整的16位点阵LED显示系统。

5.2 程序流程图程序主要由开始、初始化、主程序、子程序、字库组成(源程序详见附录)。

其中主程序和子程序的流程图为:图5.1循环扫描显示子程序流程图字库为:DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 01H,00H,00H,80H,00H,60H,0FFH,0F8H,00H,07H,00H,00H,00H,04H,79H,24H ;信DB 49H,24H,49H,25H,49H,26H,49H,24H,49H,24H,79H,24H,00H,04H,00H,00HDB 40H,00H,30H,00H,00H,00H,03H,0FCH,39H,54H,41H,54H,41H,56H,45H,55H ;息DB 59H,54H,41H,54H,41H,54H,73H,0FCH,00H,00H,08H,00H,30H,00H,00H,00HDB 20H,00H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,3FH,0FCH ;工DB 20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,00H,00H,00HDB08H,24H,06H,24H,01H,0A4H,0FFH,0FEH,01H,23H,06H,22H,40H,00H,49H,3EH ;程DB 49H,22H,49H,22H,7FH,22H,49H,22H,49H,22H,49H,3EH,41H,00H,00H,00HDB 04H,40H,04H,30H,04H,11H,04H,96H,04H,90H,44H,90H,84H,91H,7EH,96H ;学DB 06H,90H,05H,90H,04H,98H,04H,14H,04H,13H,04H,50H,04H,30H,00H,00HDB00H,00H,0FFH,0FEH,04H,22H,08H,5AH,07H,86H,80H,10H,41H,0CH,31H,24H ;院DB 0FH,24H,01H,25H,01H,26H,3FH,24H,41H,24H,41H,14H,71H,0CH,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H 5.3 源程序PA EQU 0040H ;行代码1PB EQU 0042H ;行代码2PCTL EQU 0046H ;行8255控制口地址XPA EQU 0048H ;列扫描1XPB EQU 004AH ;列扫描2XPCTL EQU 004EH ;列8255控制口地址DATA SEGMENT A T 0ORG 2DB0HFL DB ? ;选择列扫描R0 DW ? ;数据地址偏移量R6 DW ? ;扫描存储单元R1 DB ? ;列扫描通道选择DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TAORG 2DC0HSTART:MOV DX,XPCTLMOV AL,80HOUT DX,AL ;选择8255个端口工作方式MOV DX,PCTLOUT DX,ALCALL OFFLEDMOV AL,00H ;数据初始化MOV FL,ALMOV R6,0048HX0: MOV R0,0000HX1: CALL DEL1INC R0INC R0 ;R0+2CMP R0,00E0H ;304JNZ X1JMP X0DISPW:PUSH R0 ;LED点阵显示MOV R1,01HDISP1:MOV AX,R0MOV BX,OFFSET TABADD BX,AXMOV AL,CS:[BX]MOV DX,PBOUT DX,AL ;行代码1输入INC R0MOV AX,R0MOV BX,OFFSET TABADD BX,AXMOV AL,CS:[BX]MOV DX,PAOUT DX,AL ;行代码2输入MOV DX,R6MOV AL,R1NOT ALOUT DX,AL ;列扫描MOV CX,0010H ;循环128次LOOP $CALL OFFLEDINC R0RCL R1,1 ;扫描信号左移8次JNC DISP1CMP FL,00HJNZ EXITINC FLCLC ;标志位CF清零MOV R1,01HMOV R6,004AH ;切换到列扫描2JMP DISP1EXIT: MOV R6,0048H ;切换到列扫描1 MOV FL,00HPOP R0RETOFFLED: MOV DX,XPA ;灭灯MOV AL,0FFHOUT DX,ALMOV DX,XPBOUT DX,ALRETDEL1: MOV CX,0020H ;计数32次CON1: PUSH CXCALL DISPWPOP CXLOOP CON1RETTAB:DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H DB 01H,00H,00H,80H,00H,60H,0FFH,0F8H,00H,07H,00H,00H,00H,04H,79H,24H ;信DB 49H,24H,49H,25H,49H,26H,49H,24H,49H,24H,79H,24H,00H,04H,00H,00HDB 40H,00H,30H,00H,00H,00H,03H,0FCH,39H,54H,41H,54H,41H,56H,45H,55H ;息DB 59H,54H,41H,54H,41H,54H,73H,0FCH,00H,00H,08H,00H,30H,00H,00H,00HDB 20H,00H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,3FH,0FCH ;工DB 20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,04H,20H,00H,00H,00HDB 08H,24H,06H,24H,01H,0A4H,0FFH,0FEH,01H,23H,06H,22H,40H,00H,49H,3EH ;程DB 49H,22H,49H,22H,7FH,22H,49H,22H,49H,22H,49H,3EH,41H,00H,00H,00HDB 04H,40H,04H,30H,04H,11H,04H,96H,04H,90H,44H,90H,84H,91H,7EH,96H ;学DB 06H,90H,05H,90H,04H,98H,04H,14H,04H,13H,04H,50H,04H,30H,00H,00HDB 00H,00H,0FFH,0FEH,04H,22H,08H,5AH,07H,86H,80H,10H,41H,0CH,31H,24H ;院DB 0FH,24H,01H,25H,01H,26H,3FH,24H,41H,24H,41H,14H,71H,0CH,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HCODE ENDSEND START六、系统功能测试6.1 实物测试通过分析程序,了解LED点阵汉字循环循环左移的显示方法,自建字库,很成功的完成了实物测试,达到了预期的要求。

相关主题