1、常熟理工学院课程设计报告 课程设计报告课程 微机原理课程设计 题目 LED点阵屏应用 系 别 物理与电子工程学院 年 级 10级 专 业 光电信息工程 班 级 光电101 学 号 0503101(02/28/33/34)学生姓名 陈晨、周翔宇、翟付伟、朱易佳 指导教师 居伟骏 职 称 讲师 设计时间 2013年3月17日29日 目录目录1一、绪论2二、选题分析32.1题目内容与要求32.1.1具体要求:3三、方案设计33.1硬件设计33.1.1设计所用元件33.1.2硬件连接63.2软件设计63.2.1编程分析与程序框图63.2.2程序代码8四、结果及分析144.1实验结果144.2 结果分析
2、14五、 总结与体会15六、参考文献16一、绪论微机原理是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。通过对微机原理课本以及实验的学习,我们可以了解包括微型计算机体系结构、汇编语言设计、8086微处理器和指令系统等内容。作为一门计算机应用专业的一门必修课,微机原理与接口技术对于我们了解计算机内部的工作原理,各部件的作用,各部件间的联系是十分重要的。但是只学习课本知识是远远不够的。所以,我们只有通过真实的接触,实际的操作,才能将理论知识和实际应用联系在一起,真正的将理论实际化。我们知道学习和掌握计算机中常用
3、的接口技术以及设计技术,充分理解理论知识对于应用的指导作用是很重要的,只有这样才能进一步加强理论知识与应用相结合的实践和锻炼。因此,我们开展了这次历时两个星期的课程设计,通过这次设计实践能进一步加深我们对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。本次课程设计主要是为了了解8255芯片的工作原理和相关设计技术,并且通过此次设计,我们对于微型计算机的基本系统结构和软硬件的工作原理会有大体的认识。学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
4、这不仅丰富巩固了我们在课堂上学的知识,而且还为我们日后步入社会打下了基础。二、选题分析2.1题目内容与要求本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。2.1.1具体要求:利用取模软件建立标准字库,编制程序实现点阵循环左移显示汉字。三、方案设计3.1硬件设计3.1.1设计所用元件1.82558255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其
5、各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 图1 8255A引脚图 图2 74LS273管脚图 2.74ls27374LS273是8位数据/地址锁存器,他是一种带清除功能的8D触发器,下面我介绍一下他的管脚图功能表等资料。管脚功能:1D8D为数据输入端,1Q8Q为数据输出端,正脉冲触
6、发,低电平清除,常用作8位地址锁存器。图3 74LS273真值表(低电平锁存)3、LED 动态及其显示LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完
7、整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以88点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X
8、0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。 图4 用动态扫描显示字符“B”的过程图5 点阵模块组合3.1.2硬件连接本设计过程中实验箱上相关芯片可按以下方式进行连线:(1)将JHPC接JX16(PC)(2)JX7JX17 (3)CS28000H(4)JQJHQ(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锁存器的扩
9、展端口,实验电路中将74SL244的扩展端口与8086芯片数据总线连接,然后将74LS244的CS与8255A芯片区域的8000H连接,以便设置其地址。这样利用74LS244的扩展端口和8255A的A口、B口、C口,满足了点阵的输入端口需求,解决单独使用8255A端口不够的问题: PORT_A EQU 0FF28H PORT_B EQU 0FF29HPORT_C EQU 0FF2AHPORT_CTL EQU 0FF2BHP1 EQU 8000H;扩展端口地址(2)程序开始先将8255A初始化并选择其工作方式:MOV DX,PORT_CTL MOV AL,80H OUT DX,AL(3)显示子程
10、序的程序设计,显示子程序主要实现将得到的字库信息显示在16*16的LED显示屏上的功能。而循环扫描子程序的功能是可以实现对端口的分列扫描的功能,并将扫描所得的字库信息发送到显示程序。2. 程序框图N调用显示子程序开始设置扫描次数调用循环显示子程序计数是否完成结束NYY图6 主程序流程图 图7 显示子程序流程图开始设置列扫描信号行代码输入列扫描1扫描信号左移一位调用灭灯在子程序标志位CF=0FL+1FL是否为0标志位CF清零初始扫描信号切换到列扫描2切换到列扫描1FL置0结束NYNY图8 循环扫描子程序流程图3.2.2程序代码 PORT_A EQU 0FF28H ;列扫描1PORT_B EQU
11、0FF29H ;列扫描2PORT_C EQU 0FF2AH ;行扫描1PORT_CTL EQU 0FF2BH ;列8255控制口地址P1 EQU 8000H ;行扫描2DATA SEGMENT AT 0 ORG 1B90H FL DB ? ;选择列扫描 RH DW ? ;数据地址偏移量 RL DB ? PAG DW ? ;通道地址DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA ORG 2DC0HSTART: MOV DX,PORT_CTL MOV AL,80H OUT DX,AL ;8255A端口工作方式的选择 CALL OFFLED MOV AL,0
12、0H ;数据初始化 MOV FL,AL MOV PAG,PORT_A X0: MOV RH,0000HX1: CALL DEL1 INC RH MOV AX,RH AND AX,000FH CMP AX,0000H JNZ X1 ADD RH,0010H X2: CMP RH,0641H JZ X0 JMP X1DISPW: CLC ;CF清零 PUSH RH MOV RL,01HDISP1: MOV SI,RH MOV BX,OFFSET TAB MOV AL,CS:BX+SI ;C口控制上半行数据 MOV DX,PORT_C OUT DX,AL MOV AL,CS:BX+SI+10H ;P
13、1口控制下半行数据 MOV DX,P1 OUT DX,AL MOV DX,PAG MOV AL,RL NOT AL OUT DX,AL MOV CX,0080H LOOP $ CALL OFFLED INC RH MOV AX,RH AND AX,000FH CMP AX,0000H JNZ CON2 ADD RH,0010H ;下一个字的偏移地址CON2: RCL RL,1 JNC DISP1 CMP FL,00H JNZ EXIT INC FL CLC MOV RL,01H MOV PAG,PORT_B ;B口作为列扫描口 JMP DISP1EXIT: MOV PAG,PORT_A ;A作
14、为列扫描口 MOV FL,00H POP RH RETOFFLED:MOV DX,PORT_A MOV AL,0FFH OUT DX,AL MOV DX,PORT_B OUT DX,AL RETDEL1: MOV CX,0020H CON1: PUSH CX CALL DISPW POP CX LOOP CON1 RETTAB: DB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,0
15、0H DB 00H, 7FH, 44H, 5AH, 61H, 10H, 11H, 12HDB 1CH,0F0H, 17H, 10H, 11H, 30H, 10H, 00HDB 00H,0FFH, 20H, 10H,0E0H, 04H, 88H,0B0HDB 82H, 81H,0FEH, 80H,0A0H, 98H, 0CH, 00H ;陈DB 00H, 00H, 03H,0FAH,0AAH,0AAH,0AAH,0AAHDB0AAH,0AAH,0AAH,0FAH, 02H, 00H, 00H, 00HDB 02H, 0CH,0F0H, 20H,0A0H,0BFH,0A2H,0B2HDB0A8H,
16、0A4H,0A4H,0AAH, 32H, 63H, 22H, 00H ;晨DB 00H, 40H, 52H, 4CH, 49H, 40H, 7EH, 02HDB 41H, 52H, 4CH, 48H,0FEH, 40H, 00H, 00HDB 10H, 20H, 40H,0FFH,0AAH,0AAH,0AAH,0AAHDB0FEH,0AAH,0AAH,0AAH,0AAH, 82H, 02H, 00H ;翟DB 01H, 02H, 04H, 1FH,0E0H, 04H, 04H, 04HDB 04H, 04H, 04H,0FFH, 04H, 0CH, 04H, 00HDB 00H, 00H, 0
17、0H,0FFH, 00H, 00H, 00H, 80HDB 60H, 02H, 01H,0FEH, 00H, 00H, 00H, 00H ;付DB 01H, 02H, 04H, 1FH,0E0H, 12H, 12H, 12HDB 12H,0FFH, 12H, 12H, 16H, 32H, 10H, 00HDB 00H, 00H, 00H,0FFH, 40H, 40H, 40H, 40HDB 40H,0FFH, 40H, 48H, 44H,0F8H, 40H, 00H ;伟DB 00H, 00H, 7FH, 41H, 49H, 49H, 49H, 7FHDB 49H, 59H, 4BH, 41H
18、,0FFH, 40H, 00H, 00HDB 02H, 04H,0F8H, 00H, 00H, 7EH, 44H, 44HDB 44H,0FCH, 42H, 01H,0FEH, 00H, 00H, 00H ;周DB 90H, 52H, 32H, 1FH, 32H, 52H, 90H, 24HDB 22H, 3FH, 00H, 24H, 22H, 7FH, 20H, 00HDB 40H, 41H, 46H,0F8H, 40H, 40H, 50H, 22HDB 41H,0FEH, 10H, 22H, 41H,0FEH, 00H, 00H ;翔DB 08H, 30H, 20H, 24H, 24H,
19、24H,0A4H, 67HDB 24H, 24H, 2CH, 24H, 21H, 28H, 30H, 00HDB 00H, 80H, 80H, 80H, 80H, 82H, 81H,0FEHDB 80H, 80H, 80H, 80H, 80H, 80H, 00H, 00H ;宇DB 01H, 01H, 05H, 79H, 11H, 11H, 11H,0FFHDB 11H, 11H, 11H, 31H, 11H, 03H, 01H, 00HDB 04H, 04H, 08H, 10H, 20H, 40H, 80H,0FFHDB 40H, 20H, 10H, 10H, 08H, 0CH, 08H,
20、00H ;朱DB 00H, 00H, 00H,0FEH, 93H, 92H, 92H, 92HDB 92H, 92H, 92H,0FEH, 00H, 01H, 00H, 00HDB 10H, 20H, 44H, 88H, 90H,0E1H, 82H, 84HDB 98H,0E0H, 82H, 81H, 82H,0FCH, 80H, 00H ;易DB 01H, 02H, 04H, 1FH,0E2H, 12H, 12H, 12HDB 12H,0FFH, 12H, 12H, 32H, 16H, 02H, 00HDB 00H, 00H, 00H,0FFH, 02H, 22H, 22H, 22HDB 2
21、2H,0FEH, 22H, 22H, 62H, 26H, 02H, 00H ;佳DB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H CODE ENDS END START四、结果及分析4.1实验结果图9 实验结果4.2 结果分析16*16LED点阵在通过动态扫描点亮的方式,完成了小组成员名字的循环左移显示。显示亮度稳定清晰,移动速度适中。与题目要求相同。因此本次实验根据题目要
22、求所编写的程序是正确的。 五、 总结与体会本次课程设计我们的题目是16*16LED点阵滚动显示。题目乍一看很简短,但是实际上却相当的复杂,实际操作的过程也不简单。对于程序的编写是一个漫长的过程,对于程序的修改我们只能通过一次次的运行来寻找错误,并且进行相对应的修改,并且最终完成了程序。对于我们来说,这两个星期的微机课程设计让我们获益匪浅。对于我们工科学生来讲,仅仅掌握课本知识是远远不够的,对于设计科研能力以及实践能力相当的重要。但是对于现在的我们来说,这些能力都很薄弱,大部分大学生的动手研发能力不强,通过这次课程设计,我们能提高自己的实践科研能力,这对我们将来的发展是大有裨益的。并且对于工科来
23、说,严谨和仔细这四个字是必须牢记的。课程设计中只有做到这些,才会最大可能的贴近预期。本次的课题对于我们来说虽然不容易,但是也不是说高不可攀。通过对于资料和课本的翻阅以及认真的思考构思我们也慢慢的有了头绪。做好对程序的检查,以及对于器件的调试是十分重要的,这些都需要仔细来保证。就以后来说,在设计一些大型课题的时候,一些看似微不足道的小问题往往决定了最后的结果。本次课程设计也是对于我们之前所学知识的检验和巩固,也是我们对于本专业的很多问题有了会更加深刻的认识和思考。也使我们的专业知识和实际功效有了完美的契合。并且通过设计,我们掌握了一些判断错误以及检查设备和程序的基本经验和方法,这对于以后的工作学
24、习有很大的帮助。另外,对于提高能力方面,首先,提高了我们独立思考问题、独立操作以及调试的能力,复习巩固了学习过的知识。另外,也体现了团队精神。 所以,本次微机原理课程设计给了我们巨大的帮助。使我们对于专业设计中关于流程和规则以及注意事项等方面有了很高的认识。通过课程设计,我们更加深入的了解了深入微机原理课程上讲到的知识,比如芯片的功能和引脚的作用。总之,通过此次课程设计,使我们对于今后的专业学习有了更好的认识,对于我们今后的学习将会产生深远的影响。六、参考文献1储昌铃,LED显示屏系统原理局工程技术M,电子科技大学出版社,2000年2 江清明,LED点阵显示牌的设计与动态显示控制M,微计算机信
25、息,2001年3 朱炬,多媒体视频LED显示技术J,电子技术杂志,2000年4 李东生等编著.Protel99SE电路设计技术入门与应用M.2002年2月第1版 . 5 美Joe Camp Bell编著。串行通信 C 程序员指南S.2000年8月. 6 康华光.电子技术基础数字部分(第五版) M.北京:高等教育出版社,2006年 课程设计独创性声明:本人声明所呈交的课题设计是本组独立进行的研究工作及取得的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。本报告对他人的作品的使用的数量和质量均是在著作权法规定的合理范围内。 学生签名: 指导教师评语:课程设计成绩: 指导教师签名: 教研室意见: 教研室主任签名: 17