ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:572.79KB ,
资源ID:4841908      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4841908.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于8086的LED点阵屏设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于8086的LED点阵屏设计.docx

1、基于8086的LED点阵屏设计基于8086的LED点阵屏设计1、 设计内容LED电子显示屏是随着计算机技术及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒介。它利用发光二极管构成的点阵或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性价比高等特点,在短短的十几年中,迅速成长为平板显示的主流产品。由于LED电子显示屏具有显示内容信息量大,外形美观大方,操作使用方便灵活,用户可随时任意自行编辑修改显示内容,显示方式图文并茂等优点,因此被广泛应用于商场、学校、银行、邮局、机场、车站、码头、金融证券市场、文化中心、信息中心休息设施等公共场所。Proteus是英国

2、Labcenter electronics公司开发的EDA工具软件。它不仅具有其他EDA工具软件的仿真功能,也是目前最好的仿真单片机及外围器件的工具。Proteus从原理图布图、代码调试到微处理器与外围电路协同仿真,一键切换到PCB设计,真正实现将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、8086、HC11、AVR、ARM和MSP430等。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。本课程设计在Proteus仿真平台上完成了8086控制的3232LED点阵屏设计。2、 设计原理及方案本课程设计采用基于8086微处理器的接口电路对

3、外围设备进行控制。主要涉及到8086 CPU接口电路的设计与搭建、点阵屏的组装、点阵屏与接口电路的连接、点阵屏扫描方案等。2.1 设计原理原理部分主要介绍8086 CPU各引脚的功能以便说明接口电路的连接原理;点阵屏的基本概念和扫描方法。2.1.1 8086微处理器8086是Intel系列的16位微处理器,芯片上有4万个晶体管,采用 HMOS工艺制造,用单一的+5V电源,时钟频率为4.77MHz10MHz。8086有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据。可寻址的内存空间为1MB。图1 8086实物图(左)8086引脚图(右)8086有两种工作模式,分别是最大模式和

4、最小模式。当CPU处在不同的工作模式时,其部分引脚的功能是不同的,因此在设计时必须首先确定CPU的工作方式。本设计采用最小模式,CPU各引脚功能如下:1) AD15 AD0(address data bus):地址/数据总线,双向,三态。2) A19/S6A16/S3(address/status):地址/状态信号,输出,三态。3) BHE(低)/S7(bus high enable/status):允许总线高8位数据传送/状态信号,输出,三态。4) RD/(read):读信号,输出,三态,低电平有效。5) READY(ready):准备就绪信号,输入,高电平有效。6) INTR(interr

5、upt request):可屏蔽中断请求信号,输入,高电平有效。7) TEST/(test):等待测试控制信号,输入,低电平有效。8) NMI(non-maskable interrupt):非屏蔽中断请求信号,输入,高电平有效。9) RESET(reset):复位信号,输入,高电平有效。10) CLK(clock):时钟信号,输入。11) VCC电源输入引脚。12) GND:接地引脚。13) MN/MX/(minimum/maximum):最小/最大模式输入控制信号。14) IO/M/(memory I/O select):存储器、I/O端口选择控制信号。15) WR/(write):写信号

6、,输出,低电平有效。16) INTA/(interrupt acknowledge):可屏蔽中断响应信号,输出,低电平有效。17) ALE(address lock enable):地址锁存允许信号,输出,高电平有效。18) DT/(data transmit or receive):数据发送/接收信号,输出,三态。19) DEN/(data enable):数据允许控制信号,输出,三态,低电平有效。20) HOLD(bus hold request):总线保持请求信号,输入,高电平有效。21) HLDA(hold acknowledge):总线保持响应信号,输出,高电平有效。2.1.2 点阵

7、屏及其工作原理LED点阵屏通过LED点阵组成,以红色或绿色灯珠亮灭来显示文字、图片、动画、视频等,是各部分组件都模块化的显示器件,通常由显示模块、控制系统及电源系统组成。LED点阵显示屏制作简单,安装方便,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。 图2 88点阵块下面详细介绍点阵屏的工作原理。以简单的88点阵为例(图3 右),它共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、

8、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮.图3 不同极性的点阵屏结构图2.1.3 点阵屏扫描方式LED点阵扫描方式有很多种类,主要有四种扫描方式,分别是逐行式、逐列式、列行式、行列式。各种扫描方式应用在不同的场合,逐行式扫描主要是应用在行数较少并且非滚动显示的场合,优点是数据稳定,缺点是较难实现滚动显示汉字,不能合理利用有限的LED点阵屏数目;逐列式扫描主要应用在列数较少行数较多的场合,并且显示的汉字有多个不受LED点阵屏数目限制,可以循环显示,应用在较多

9、的地方,合理地利用了LED点阵的数目节约了资源和成本。下面介绍一下逐行式扫描方式的原理。一般我们使用点阵显示汉字是用的1616的点阵宋体字库,所谓1616,是每一个汉字在纵、横各16点的区域内显示的。也就是说用四个88点阵组合成一个1616的点阵。比如要显示“你”则相应的点要点亮,由于点阵在列线上是低电平有效,而在行线上是高电平有效,所以要显示“你”字,则它的位代码信息要取反,即所有列(1316脚)送(111101*1,0xF7,0x7F),而第一行(9脚)送1信号,然后第一行送0。再送第二行要显示的数据(1316脚)送(111101*1,0xF7,0x7F),而第二行(14脚)送1信号。依此

10、类推,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送16次数据扫描完16行后就会看到一个“你”字;第二种送数据的方法是字模信号送到行线上再扫描列线也是同样的道理。同样以“你”字来说明,16行(9、14、8、12、1、7、2、5)上送(0000000000000000,0x00,0x00)而第一列(13脚)送、“0”。同理扫描第二列。当行线上送了16次数据而列线扫描了16次后一个“你”字也就显示出来了。图4 用动态扫描显示字符的过程2.2 设计方案本课程设计中,设计了一个3232的点阵屏并采用基于8086微处理器的接口电路作为显示控制单元。因此在此部分将介绍接口电路设计的方案以及大

11、点阵屏组成的设计。2.2.1 接口电路图5 I/O译码电路原理图在I/O译码电路中,除了核心的8086外,地址的确定就是由4-16译码器决定。从图中可以看出一共有16个I/O端口,地址是00H、10H、20H、0FH。其余相关知识在接口课程和实验中已经讲解得十分详细,在此就不在赘述,直接使用即可。2.2.2 点阵屏组成Proteus中只有57和88等LED点阵,并没有3232的LED点阵,而在实际应用中,要良好地显示一个汉字,至少需要1616的点阵。若是需要显示简单图形则需要更大的点阵。本课程设计使用的是3232的点阵,所以需要使用88的点阵进行组合。下面介绍使用88点阵构建3232点阵的方法

12、,并构建一块3232的点阵用于本例的显示任务。首先,从Proteus的元件库中找到“MATRIX-88-GREEN”元器件,并将16块点阵放入文档编辑区。此时需要注意每块点阵的行引脚和列引脚。然后将四块点阵排成一行形成一个832的点阵块,如图6所示图6 832点阵行引脚由于此时点阵块的上方引脚是行引脚,因此每块点阵的引脚编号均为R0-R7,表示前8行。而下方引脚对应的是列引脚,因此列引脚的范围是C0-C31。如图7所示。图7 832点阵列引脚最后只要将四块这样的点阵拼接成3232的点阵即可。需要注意的是其余三块这样的点阵的行引脚编号分别对应R8-R15、R16-R23、R24-R31。成品如图

13、8所示。图8 3232点阵屏2.2.3 行扫描电路本课程设计中的点阵屏采用逐行扫描的方式。因此一共需要32位的行数据来控制某行是否被点亮。由于8086的寄存器是16位的,不满足行数据的要求。因此最直接的方法就是采用两片4-16译码器扩展成一个5-32译码器,这要只需要寄存器中的5位即可。行控制译码电路如图9所示。图9 行扫描控制电路2.2.3 显示驱动电路对于点阵屏的显示驱动,通常采用的做法是使用74HC595移位寄存器进行数据的存储与驱动。这要只要接口电路串行输出显示数据即可,对于大点阵屏显示驱动的软件设计十分方便。但是需要串口的支持。对于现在的单片机来说这已经不是什么大问题,因为现在的单片

14、机都内置了串行通信的芯片。而8086仅仅实现了中央处理器的功能,并没有集成任何辅助芯片。想要实现串行通信必须外接串口通信芯片8251A。但是由于本设计的点阵屏规模较小,并不一定需要采用这种方法,我们只需要采用四块通用的8位寄存器即可将32位数据分4次送入点阵屏。具体电路如图10所示。图10 显示驱动电路3 点阵屏有关软件设计在第二部分已经介绍了整个设计的硬件设计思路并搭建了完整的点阵屏显示电路。但是点阵屏要能显示必须要有数据和相应的驱动程序。点阵屏显示汉字需要的是字模数据,显示图形也要求类似字模的数据,因为实际上不管是英文字幕还是中文汉字,在显示的时候都是图形。3.1 字模简介文字的字模是一组

15、数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各位信息来记载英文或汉字的形状。在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码)。如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。在硬件系统内,英文的字模信息一般固化在ROM里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。而在DOS下,中文的字模信息一般记录在汉字

16、库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。本设计中采用已有的取模软件获得需要显示图形的数据,如图11所示。图11 汉字取模得到显示图形数据后只要保存在汇编程序的数据段中即可。3.2 驱动程序设计ROWSEL EQU 20HCOLSEL1 EQU 40HCOLSEL2 EQU 60HCOLSEL3 EQU 80HCOLSEL4 EQU 0A0Hdata segment tab1 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,01H,0C0H,00H,00H,01H,0C0H,00H,00H,01H,0C0H,00H,00H,01H,80H

17、,00H,00H,01H,80H,00H,00H,01H,0FCH,00H DB 00H,3FH,0F8H,00H,00H,1FH,00H,00H,00H,03H,00H,00H,00H,03H,07H,0E0H,00H,03H,0FCH,0F0H,00H,7EH,0E0H,70H,0FH,0D0H,60H,70H,06H,18H,0C0H,60H DB 06H,08H,80H,60H,06H,08H,0F8H,60H,06H,0FH,0C0H,60H,06H,3FH,00H,60H,06H,03H,18H,60H,06H,03H,0FCH,60H,06H,3FH,0C0H,60H,06H,7

18、3H,00H,60H DB 06H,03H,00H,60H,06H,03H,00H,60H,06H,03H,03H,0E0H,02H,03H,01H,0E0H,00H,00H,01H,0C0H,00H,00H,00H,80H,00H,00H,00H,00H,00H,00H,00H,00H ;南 tab2 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,0FH,80H,00H,00H,0FFH,0C0H,00H,07H,0E3H,0C0H,07H,01H,07H,00H,03H,80H,4CH,00H DB 01H,0C0H,

19、78H,00H,00H,80H,33H,80H,00H,00H,3FH,0C0H,00H,07H,0F1H,0C0H,00H,06H,31H,80H,01H,02H,3CH,80H,0FH,0C2H,7CH,80H,1FH,82H,0F0H,0C0H DB 01H,02H,30H,0C0H,03H,02H,3EH,0C0H,01H,06H,0FCH,0C0H,01H,86H,30H,0C0H,01H,86H,30H,0C0H,01H,06H,20H,0C0H,01H,86H,27H,0C0H,3FH,0F8H,23H,0C0H DB 18H,1FH,01H,80H,00H,07H,0E0H,0

20、0H,00H,00H,0FFH,0FEH,00H,00H,3FH,0F8H,00H,00H,0FH,0C0H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;通 tab3 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,07H,80H,00H,00H,03H,80H,00H,00H,03H,80H,00H,00H,03H,00H,00H,00H,03H,00H,00H DB 00H,03H,00H,00H,00H,03H,00H,00H,00H,03H,00H,00H,00H,03H

21、,07H,80H,00H,03H,0FFH,0C0H,03H,0FFH,0FEH,00H,03H,0FFH,00H,00H,00H,83H,00H,00H DB 00H,03H,00H,00H,00H,07H,00H,00H,00H,06H,80H,00H,00H,06H,0C0H,00H,00H,06H,60H,00H,00H,0CH,30H,00H,00H,0CH,38H,00H,00H,18H,1CH,00H,00H DB 30H,1EH,00H,00H,60H,0FH,80H,00H,0C0H,07H,0E0H,03H,80H,03H,0FCH,04H,00H,01H,0FCH,00H

22、,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;大 tab4 DB 00H,00H,00H,00H,00H,00H,0CH,00H,00H,00H,07H,00H,00H,43H,0EH,00H,00H,61H,8CH,00H,00H,31H,8CH,00H,00H,38H,98H,00H,00H,10H,10H,00H DB 00H,00H,1FH,0F0H,02H,07H,0FFH,0F8H,03H,0FFH,00H,7CH,07H,00H,00H,0F0H,0EH,00H,0E0H,0C0H,0EH,7FH,0F0H,00H,0CH,78H,7

23、0H,00H,08H,00H,0E0H,00H DB 00H,03H,80H,00H,00H,01H,83H,0C0H,00H,03H,0FFH,0F0H,0FH,0FFH,0E0H,70H,1FH,0F0H,0C0H,00H,00H,00H,0C0H,00H,00H,00H,0C0H,00H,00H,00H,0C0H,00H DB 00H,00H,0C0H,00H,00H,00H,0C0H,00H,00H,00H,0C0H,00H,00H,0FH,0C0H,00H,00H,07H,80H,00H,00H,03H,00H,00H,00H,02H,00H,00H,00H,00H,00H,00H

24、;学 tab5 DB 00H,00H,00H,00H,00H,1FH,0F8H,00H,00H,7FH,0FEH,00H,01H,0F8H,1FH,80H,03H,0C0H,03H,0C0H,07H,00H,00H,0E0H,0EH,60H,06H,70H,0CH,0F0H,0FH,30H DB 19H,0F8H,1FH,98H,38H,0F0H,0FH,18H,30H,60H,06H,1CH,30H,00H,00H,0CH,70H,00H,00H,0CH,70H,01H,80H,0EH,60H,01H,80H,0EH,60H,01H,80H,0EH DB 60H,01H,80H,0EH,70

25、H,01H,80H,0CH,30H,00H,00H,0CH,30H,00H,00H,0CH,38H,60H,0CH,18H,18H,60H,1CH,18H,1CH,30H,30H,30H,0EH,1FH,0E0H,70H DB 07H,07H,0C0H,0E0H,03H,80H,01H,0C0H,01H,0E0H,07H,80H,00H,0FFH,0FFH,00H,00H,3FH,0FCH,00H,00H,03H,0C0H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;图形data endscode segment main proc far assume cs:c

26、ode,ds:datastart: push ds mov ax,0 push ax mov ax,data mov ds,ax READY: lea bx,tab1 call disp ;显示南 lea bx,tab2 call disp ;显示通 lea bx,tab3 call disp ;显示大 lea bx,tab4 call disp ;显示学 lea bx,tab5 call disp ;显示图形 jmp READY;显示子程序;行选地址为20h;列选地址为40h 60h 80h 0a0h;设计共32行32列disp proc far mov cx,300LOOP1: mov d

27、x,ROWSEL mov al,ah out dx,al ;行选 mov al,bx mov dx,COLSEL1 out dx,al mov al,bx+1 mov dx,COLSEL2 out dx,al mov al,bx+2 mov dx,COLSEL3 out dx,al mov al,bx+3 mov dx,COLSEL4 out dx,al ;送入一帧数据后调用延时子程序 call delay add bx,4 ;选取下一帧数据的首地址 mov al,ah or al,80h mov dx,ROWSEL out dx,al ;消隐 inc ah cmp ah,32 jz NEXT

28、 jmp LOOP1NEXT: mov ah,0 sub bx,128 loop LOOP1 retdisp endp;延时子程序delay proc far push cx mov cx,30wait0: loop wait0 pop cx retdelay endp; main endpcode ends end start4 实施结果按照设计要求,点阵屏能够显示字符以及简单图形。仿真结果如图12所示。图12 点阵屏显示汉字及图形5 课程设计体会本课程设计的LED点阵显示系统以8086微处理器为核心,加以外围电路,可实现汉字、数字及各种字符的多种方式和快速的显示。设计的显示屏工作稳定,字符

29、清晰,字体美观。除此之外,Proteus作为一款操作简单且功能强大的仿真软件,为嵌入式开发者提供了一个虚拟的开发平台。开发者可以在没有硬件的条件下对各种微处理器的功能进行仿真调试,节约了资源也缩短了开发周期。从某种意义上来讲,Proteus的仿真结果可直接应用于实际工程中。6 参考文献1 陈立. 基于Proteus 的单片机汉字LED 点阵滚动显示J. 电脑知识与技术,2010,6(8):2012-20132 同晓荣. 基于Proteus 的汉字点阵显示设计与仿真J. 信息技术,2012,2:33-253 毛敏. 基于Protues的16 32点阵LED汉字显示屏的开发J. 工业仪表与自动化装置,2010,5:96-97

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1