LED点阵课程设计报告_第1页
LED点阵课程设计报告_第2页
LED点阵课程设计报告_第3页
LED点阵课程设计报告_第4页
LED点阵课程设计报告_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程《微机原理课程设计》题目《LED点阵屏应用》系别物理与电子工程学院年级10级专业电子信息工程班级电信102学号1604102(29/31/30/26)学生姓名周博文、周全球、周凯、虞晓雨指导教师居伟骏职称讲师设计时间2013年5月10日~22日目录目录 1一、绪论 2二、选题分析 22.1题目内容与要求 32.1.1具体要求: 3三、方案设计 33.1硬件设计 33.1.1设计所用元件 33.8259芯片简介 58259芯片内部结构 68259A编程及初始化 73.1.2硬件连接 103.2软件设计 103.2.1编程分析与程序框图 103.2.2程序代码 15四、结果及分析 154.1实验结果 154.2结果分析 16五、总结与体会 17六、参考文献 18七、附录 187.1程序代码 187.2硬件连接电路 24一、绪论微机原理是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。通过对微机原理课本以及实验的学习,我们可以了解包括微型计算机体系结构、汇编语言设计、8086微处理器和指令系统等内容。作为一门计算机应用专业的一门必修课,微机原理与接口技术对于我们了解计算机内部的工作原理,各部件的作用,各部件间的联系是十分重要的。但是只学习课本知识是远远不够的。所以,我们只有通过真实的接触,实际的操作,才能将理论知识和实际应用联系在一起,真正的将理论实际化。我们知道学习和掌握计算机中常用的接口技术以及设计技术,充分理解理论知识对于应用的指导作用是很重要的,只有这样才能进一步加强理论知识与应用相结合的实践和锻炼。因此,我们开展了这次历时两个星期的课程设计,通过这次设计实践能进一步加深我们对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。本次课程设计主要是为了了解8255芯片和8259A的工作原理和相关设计技术,并且通过此次设计,我们对于微型计算机的基本系统结构和软硬件的工作原理会有大体的认识。学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。这不仅丰富巩固了我们在课堂上学的知识,而且还为我们日后步入社会打下了基础。二、选题分析2.1题目内容与要求本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何用8259中断来实现汉字的循环左移和右移显示。2.1.1具体要求:利用取模软件建立标准字库,编制程序实现点阵循环左移和右移切换显示汉字。三、方案设计3.1硬件设计3.1.1设计所用元件1.8255 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。图18255A引脚图图274LS273管脚图图38255工作方式控制字格式2.74ls27374LS273是8位数据/地址锁存器,它是一种带清除功能的8D触发器,下面我介绍一下他的管脚图功能表等资料。 管脚功能:1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。图474LS273真值表(低电平锁存)3.8259芯片简介8259A(其引脚图如图4所示)是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。图58259引脚图8259芯片内部结构中断请求寄存器:寄存所有要求服务的请求IR0~IR7。中断服务寄存器:寄存正在被服务的中断请求。中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号,该位为1,屏蔽该号中断,否则开放该号中断。数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线,通过它可以由CPU对8259A写入状态字和控制字。读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。图68259内部结构8259A编程及初始化写初始化命令字ICW1(A0=0),其格式如图7所示,以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。图7ICW1的格式写初始化命令ICW2,其格式如图8所示,用来定义8259A各个端口的中断类型码。图8ICW2的格式写初始化命令ICW4,其格式如图8所示,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。图9ICW4的格式 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全点亮。图10用动态扫描显示字符“B”的过程图11图11点阵模块组合3.1.2硬件连接本设计过程中实验箱上相关芯片可按以下方式进行连线:(1)将JHPC接JX16(PC)(2)JX7→JX0(BUS1)

(3)CS→9000H(4)JQ→JHQ(5)INTA接INTAX12(6)INT接JX15(PB)(7)JX7旁边的IORD和IOWR接到系统的IORD和IOWR。(8)IR3接(9)IORD接IORD(10)IOWR接IOWR(11)A0接A0(12)JX4接JX17(BUS2)(13)CS2接8000H硬件电路如图12(详见附录)3.2软件设计3.2.1编程分析与程序框图1.编程分析:(1)设置8255A的A口与B口为列数据扫描端口,行数据采集端口为8255A的C口74LS244锁存器的扩展端口,实验电路中将74SL244的扩展端口与8086芯片数据总线连接,然后将74LS244的CS与8255A芯片区域的8000H连接,以便设置其地址。这样利用74LS244的扩展端口和8255A的A口、B口、C口,满足了点阵的输入端口需求,解决单独使用8255A端口不够的问题:PORT_AEQU0FF28HPORT_BEQU0FF29HPORT_CEQU0FF2AHPORT_CTLEQU0FF2BHP1EQU8000H;扩展端口地址(2)程序开始先将8255和8259A初始化并装填IR3端口对应的中断向量表:MOVDX,PORT_CTLMOVAL,80HOUTDXMOVAX,0H ;中断向量装填MOVES,AXMOVDI,002CHMOVAX,OFFSETINTREEUP3STOSWMOVAX,0000HSTOSWMOVAL,13H ;8259A初始化MOVDX,INTPORT1OUTDXMOVAL,0BH MOVDX,INTPORT2OUTDXMOVAL,0DHOUTDXMOVAL,83HOUTDX(3)通过外部中断来使控制点阵左移或右移的标志位FLAG的值改变,产生一次中断时,CPU进入中断服务子程序,FLAG的值变为1,若再产生一次中断,FLAG的值又变回0。从而实现通过外部控制按钮来实现LED点阵显示的字左移或者右移的控制。(4)显示子程序的程序设计,显示子程序主要实现将得到的字库信息显示在16*16的LED显示屏上的功能。而循环扫描子程序的功能是可以实现对端口的分列扫描的功能,并将扫描所得的字库信息发送到显示程序。程序框图开始开始设置扫描次数调用循环显示子程序计数是否完成结束NY图13显示子程序流程图图13显示子程序流程图NYNNYYYNN显示子程序RH=60HRH=0RH<0RH=RH-16RH=RH+16RH&0010H=0RH减1RH加1FLAG=1各个标志位的初始化各个硬件的初始化YRH&000FH=0开始RH<60H图14主程序流程图NYNNYYYNN显示子程序RH=60HRH=0RH<0RH=RH-16RH=RH+16RH&0010H=0RH减1RH加1FLAG=1各个标志位的初始化各个硬件的初始化YRH&000FH=0开始RH<60H图14主程序流程图 开始开始设置列扫描信号行代码输入列扫描1扫描信号左移一位调用灭灯在子程序标志位CF=0FL+1FL是否为0标志位CF清零初始扫描信号切换到列扫描2切换到列扫描1FL置0结束NYNY图15循环扫描子程序流程图图16中断子程序流程图3.2.2程序代码详见附录四、结果及分析4.1实验结果图16实验结果4.2结果分析16*16LED点阵在通过动态扫描点亮的方式,完成了小组成员名字的循环左移和右移切换显示。显示亮度稳定清晰,移动速度适中。与题目要求相同。因此本次实验根据题目要求所编写的程序是正确的。五、总结与体会我们本次课程设计的题目是16*16LED点阵滚动显示,并且要实现循环左移和循环右移。到了最后一部分的课程设计报告,我们也是感受颇多,在整个的设计过程中,我们有所付出,也有所收获。两个星期的微机课程设计,让我们真正的把自己所学的理论知识用于实践,本次课程设计也是对于我们之前所学知识的检验和巩固,也是我们对于本专业的很多问题有了会更加深刻的认识和思考。也使我们的专业知识和实际功效有了完美的契合。并且通过设计,我们掌握了一些判断错误以及检查设备和程序的基本经验和方法,这对于以后的工作学习有很大的帮助。通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅以下资料也学到了一些课本上没有的东西,拓宽了自己的知识面。

这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写了很多小程序。但这次是一个综合的程序,平时的很多程序都用到了。很多子程序的设计是固定的,因此可以直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。

在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。本次的微机课程设计只是我们自己动手研发的第一步,以后的道路还很长,但是这次的课程设计让我们迈出了第一步,意义不言而喻。参考文献[1]储昌铃,LED显示屏系统原理局工程技术[M],电子科技大学出版社,2000年[2]江清明,LED点阵显示牌的设计与动态显示控制[M],微计算机信息,2001年[3]朱炬,多媒体视频LED显示技术[J],电子技术杂志,2000年[4]李东生等编著.Protel99SE电路设计技术入门与应用[M].2002年2月第1版.[5][美]JoeCampBell编著。串行通信C程序员指南[S].2000年8月.[6]康华光.电子技术基础数字部分(第五版)[M].北京:高等教育出版社,2006年七、附录7.1程序代码CODESEGMENTASSUMECS:CODEINTPORT1EQU9000HINTPORT2EQU9001HPORT_AEQU0FF28HPORT_BEQU0FF29HPORT_CEQU0FF2AHPORT_CTLEQU0FF2BHP1EQU8000HORG12D0HSTART:JMPSTART0FLAGDB?;左移右移标志位FLDB?;列扫描标志位RHDW? ;地址偏移量RLDB?;列扫描PAGDW? ;列扫描端口START0:MOVDX,PORT_CTL ;8255初始化MOVAL,80HOUTDXMOVAX,0H ;中断向量装填MOVES,AXMOVDI,002CHMOVAX,OFFSETINTREEUP3STOSWMOVAX,0000HSTOSWMOVAL,13H ;8259A初始化MOVDX,INTPORT1OUTDXMOVAL,0BH MOVDX,INTPORT2OUTDXMOVAL,0DHOUTDXMOVAL,83HOUTDXMOVFLAG,00HSTI ;打开IFCALLOFFLEDMOVAL,00HMOVFL,ALMOVPAG,PORT_AXL0:MOVRH,0000H ;LED点阵左移XL1:CALLDEL1CMPFLAG,01HJZXR1INCRHCMPRH,61HJZXL0MOVAX,RHANDAX,000FHCMPAX,0000HJNZXL1ADDRH,0010HJMPXL1XR0:MOVRH,0060HXR1:CALLDEL1 ;LED点阵右移CMPFLAG,01HJNZXL1DECRHCMPRH,0000HJZXR0MOVAX,RHANDAX,0010HCMPAX,0000HJZXR1SUBRH,0010HJMPXL1DISPW:CLC ;显示程序PUSHRHMOVRL,01HDISP1:MOVSI,RHMOVBX,OFFSETTABMOVAL,CS:[BX+SI]MOVDX,PORT_C;C口发送字码的上半部分OUTDXMOVAL,CS:[BX+SI+10H]MOVDX,P1OUTDX,AL;P1口发送字码的下半部分MOVDX,PAGMOVAL,RLNOTALOUTDX,AL;进行列扫描MOVCX,0080H;延时一段时间,消除残影LOOP$CALLOFFLEDINCRHMOVAX,RHANDAX,000FHCMPAX,0000HJNZCON2ADDRH,0010H;下一个字的偏移地址CON2:RCLRL,1JNCDISP1CMPFL,00HJNZEXITINCFLCLCMOVRL,01HMOVPAG,PORT_BJMPDISP1EXIT:MOVPAG,PORT_AMOVFL,00HPOPRHRETOFFLED:MOVDX,PORT_A ;关闭LED点阵MOVAL,0FFHOUTDXMOVDX,PORT_BOUTDXRETDEL1:MOVCX,0020HCON1:PUSHCXCALLDISPWPOPCXLOOPCON1RETINTREEUP3: PUSHAXPUSHBXPUSHCXPUSHDX ADDFLAG,01HCMPFLAG,01HJNAINTRE2MOVFLAG,00HINTRE2:MOVAL,20H ;正常EOIMOVDX,INTPORT1OUTDXPOPDX POPCXPOPBXPOPAXSTIIRETTAB:DB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论