16led点阵显示汇编版.docx
- 文档编号:29731365
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:18
- 大小:639.26KB
16led点阵显示汇编版.docx
《16led点阵显示汇编版.docx》由会员分享,可在线阅读,更多相关《16led点阵显示汇编版.docx(18页珍藏版)》请在冰豆网上搜索。
16led点阵显示汇编版
课程设计报告
课程《微机原理课程设计》
题目《LED点阵屏应用》
系别物理与电子工程学院
年级10级专业光电信息工程
班级光电101学号0503101(02/28/33/34)
学生姓名陈晨、周翔宇、翟付伟、朱易佳
指导教师居伟骏职称讲师
设计时间2013年3月17日~29日
一、绪论
微机原理是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。
通过对微机原理课本以及实验的学习,我们可以了解包括微型计算机体系结构、汇编语言设计、8086微处理器和指令系统等内容。
作为一门计算机应用专业的一门必修课,微机原理与接口技术对于我们了解计算机内部的工作原理,各部件的作用,各部件间的联系是十分重要的。
但是只学习课本知识是远远不够的。
所以,我们只有通过真实的接触,实际的操作,才能将理论知识和实际应用联系在一起,真正的将理论实际化。
我们知道学习和掌握计算机中常用的接口技术以及设计技术,充分理解理论知识对于应用的指导作用是很重要的,只有这样才能进一步加强理论知识与应用相结合的实践和锻炼。
因此,我们开展了这次历时两个星期的课程设计,通过这次设计实践能进一步加深我们对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
本次课程设计主要是为了了解8255芯片的工作原理和相关设计技术,并且通过此次设计,我们对于微型计算机的基本系统结构和软硬件的工作原理会有大体的认识。
学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
这不仅丰富巩固了我们在课堂上学的知识,而且还为我们日后步入社会打下了基础。
二、选题分析
2.1题目内容与要求
本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。
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管脚图
2.74ls273
74LS273是8位数据/地址锁存器,他是一种带清除功能的8D触发器,下面我介绍一下他的管脚图功能表等资料。
管脚功能:
1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。
图374LS273真值表(低电平锁存)
3、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全点亮。
图4用动态扫描显示字符“B”的过程
3.1.2硬件连接
本设计过程中实验箱上相关芯片可按以下方式进行连线:
(1)将JHPC接JX16(PC)
(2)JX7→JX17
(3)CS2→8000H
(4)JQ→JHQ
(5)JLPA接JX9(PA)
(6)JLPB接JX15(PB)
(7)JX7旁边的IORD和IOWR接到系统的IORD和IOWR。
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_AEQU0FF28H
PORT_BEQU0FF29H
PORT_CEQU0FF2AH
PORT_CTLEQU0FF2BH
P1EQU8000H;扩展端口地址
(2)程序开始先将8255A初始化并选择其工作方式:
MOVDX,PORT_CTL
MOVAL,80H
OUTDX,AL
(3)显示子程序的程序设计,显示子程序主要实现将得到的字库信息显示在16*16的LED显示屏上的功能。
而循环扫描子程序的功能是可以实现对端口的分列扫描的功能,并将扫描所得的字库信息发送到显示程序。
2.
程序框图
图6主程序流程图图7显示子程序流程图
图8循环扫描子程序流程图
3.2.2 程序代码
PORT_AEQU0FF28H;列扫描1
PORT_BEQU0FF29H;列扫描2
PORT_CEQU0FF2AH;行扫描1
PORT_CTLEQU0FF2BH;列8255控制口地址
P1EQU8000H;行扫描2
DATASEGMENTAT0
ORG1B90H
FLDB?
;选择列扫描
RHDW?
;数据地址偏移量
RLDB?
PAGDW?
;通道地址
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
ORG2DC0H
START:
MOVDX,PORT_CTL
MOVAL,80H
OUTDX,AL;8255A端口工作方式的选择
CALLOFFLED
MOVAL,00H;数据初始化
MOVFL,AL
MOVPAG,PORT_A
X0:
MOVRH,0000H
X1:
CALLDEL1
INCRH
MOVAX,RH
ANDAX,000FH
CMPAX,0000H
JNZX1
ADDRH,0010H
X2:
CMPRH,0641H
JZX0
JMPX1
DISPW:
CLC;CF清零
PUSHRH
MOVRL,01H
DISP1:
MOVSI,RH
MOVBX,OFFSETTAB
MOVAL,CS:
[BX+SI];C口控制上半行数据
MOVDX,PORT_C
OUTDX,AL
MOVAL,CS:
[BX+SI+10H];P1口控制下半行数据
MOVDX,P1
OUTDX,AL
MOVDX,PAG
MOVAL,RL
NOTAL
OUTDX,AL
MOVCX,0080H
LOOP$
CALLOFFLED
INCRH
MOVAX,RH
ANDAX,000FH
CMPAX,0000H
JNZCON2
ADDRH,0010H;下一个字的偏移地址
CON2:
RCLRL,1
JNCDISP1
CMPFL,00H
JNZEXIT
INCFL
CLC
MOVRL,01H
MOVPAG,PORT_B;B口作为列扫描口
JMPDISP1
EXIT:
MOVPAG,PORT_A;A作为列扫描口
MOVFL,00H
POPRH
RET
OFFLED:
MOVDX,PORT_A
MOVAL,0FFH
OUTDX,AL
MOVDX,PORT_B
OUTDX,AL
RET
DEL1:
MOVCX,0020H
CON1:
PUSHCX
CALLDISPW
POPCX
LOOPCON1
RET
TAB:
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,7FH,44H,5AH,61H,10H,11H,12H
DB1CH,0F0H,17H,10H,11H,30H,10H,00H
DB00H,0FFH,20H,10H,0E0H,04H,88H,0B0H
DB82H,81H,0FEH,80H,0A0H,98H,0CH,00H;陈
DB00H,00H,03H,0FAH,0AAH,0AAH,0AAH,0AAH
DB0AAH,0AAH,0AAH,0FAH,02H,00H,00H,00H
DB02H,0CH,0F0H,20H,0A0H,0BFH,0A2H,0B2H
DB0A8H,0A4H,0A4H,0AAH,32H,63H,22H,00H;晨
DB00H,40H,52H,4CH,49H,40H,7EH,02H
DB41H,52H,4CH,48H,0FEH,40H,00H,00H
DB10H,20H,40H,0FFH,0AAH,0AAH,0AAH,0AAH
DB0FEH,0AAH,0AAH,0AAH,0AAH,82H,02H,00H;翟
DB01H,02H,04H,1FH,0E0H,04H,04H,04H
DB04H,04H,04H,0FFH,04H,0CH,04H,00H
DB00H,00H,00H,0FFH,00H,00H,00H,80H
DB60H,02H,01H,0FEH,00H,00H,00H,00H;付
DB01H,02H,04H,1FH,0E0H,12H,12H,12H
DB12H,0FFH,12H,12H,16H,32H,10H,00H
DB00H,00H,00H,0FFH,40H,40H,40H,40H
DB40H,0FFH,40H,48H,44H,0F8H,40H,00H;伟
DB00H,00H,7FH,41H,49H,49H,49H,7FH
DB49H,59H,4BH,41H,0FFH,40H,00H,00H
DB02H,04H,0F8H,00H,00H,7EH,44H,44H
DB44H,0FCH,42H,01H,0FEH,00H,00H,00H;周
DB90H,52H,32H,1FH,32H,52H,90H,24H
DB22H,3FH,00H,24H,22H,7FH,20H,00H
DB40H,41H,46H,0F8H,40H,40H,50H,22H
DB41H,0FEH,10H,22H,41H,0FEH,00H,00H;翔
DB08H,30H,20H,24H,24H,24H,0A4H,67H
DB24H,24H,2CH,24H,21H,28H,30H,00H
DB00H,80H,80H,80H,80H,82H,81H,0FEH
DB80H,80H,80H,80H,80H,80H,00H,00H;宇
DB01H,01H,05H,79H,11H,11H,11H,0FFH
DB11H,11H,11H,31H,11H,03H,01H,00H
DB04H,04H,08H,10H,20H,40H,80H,0FFH
DB40H,20H,10H,10H,08H,0CH,08H,00H;朱
DB00H,00H,00H,0FEH,93H,92H,92H,92H
DB92H,92H,92H,0FEH,00H,01H,00H,00H
DB10H,20H,44H,88H,90H,0E1H,82H,84H
DB98H,0E0H,82H,81H,82H,0FCH,80H,00H;易
DB01H,02H,04H,1FH,0E2H,12H,12H,12H
DB12H,0FFH,12H,12H,32H,16H,02H,00H
DB00H,00H,00H,0FFH,02H,22H,22H,22H
DB22H,0FEH,22H,22H,62H,26H,02H,00H;佳
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H
CODEENDS
ENDSTART
四、结果及分析
4.1实验结果
图9实验结果
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年
课程设计独创性声明:
本人声明所呈交的课题设计是本组独立进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。
本报告对他人的作品的使用的数量和质量均是在著作权法规定的合理范围内。
学生签名:
指导教师评语:
课程设计成绩:
指导教师签名:
教研室意见:
教研室主任签名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 led 点阵 显示 汇编