内容发布更新时间 : 2024/12/22 17:21:35星期一 下面是文章的全部内容请认真阅读。
POP AX POP DX RET
INI8255: ;8255初始化 PUSH DX PUSH AX MOV DX,303H ;初始化8255 MOV AL,80H ;A口输出 OUT DX,AL ;将初始控制字输出到控制端口 MOV DX,300H ;A端口的地址 MOV AL,000H OUT DX,AL MOV DX,302H ;C口地址 ??? MOV AL,000H OUT DX,AL
POP AX POP DX RET
EXIT:
MOV AX,2572H ;恢复中断向量 MOV DX,INT0A_SEG PUSH DS MOV DS,DX
MOV DX,INT0A_OFF INT 21H POP DS
IN AL,0A1H ;屏蔽IRQ10 OR AL,04H OUT 0A1H,AL
IN AL,21H ;屏蔽IRQ2 OR AL,04H OUT 21H,AL
MOV AX,4C00H ;程序退出 INT 21H
Enter:
31
PUSH AX PUSH DX MOV AH,2 MOV DX,0AH INT 21H MOV AH,2 MOV DX,0DH INT 21H POP DX POP AX RET
DELAY PROC PUSH CX PUSH BX
MOV BX,0FFFH LOOP2:MOV CX,0FFFH LOOP1:LOOP LOOP1 DEC BX JNZ LOOP2 POP BX POP CX RET DELAY ENDP
CODE ENDS END START
6.实验过程中的主要难点(自己遇到的)及解决思路和办法
主要难点:
①利用proteus画电路图时,知道每个芯片怎么连,但是需要多个芯片同时连接时,之间的连线会有些不确定;
②在试验箱上连线时,没能提前好好布局,连线很混乱很难看清楚,尤其在测试芯片有问题需要更改的时候,很难分清楚;
③不会编写核心点阵显示程序及功能调用子程序;
④调试改写程序时,会遇到测试灯和电路不工作的问题,影响程序正常测试。 解决方法:
①看书理解芯片引脚的功能,知道数据线、地址线,控制线的接法,将书上的逻辑图转化为试验箱的连线图。
②连接线路前混淆电路图与引脚图概念,不清楚实验箱注意事项:“横向导通”和“凹槽断电”,不知道如何根据电路图合理安排芯片和连线位置。了解注
32
意事项和多加思考之后,首先在草稿上画出电路图,再合理布线,电路连接成功。
②多看课本中的指令定义及相关例题程序,大概了解编写思路。将整个程序分为每一个子程序的调用,虽然未能按照原有设计思路成功编写程序,不过参考了其他同学编好的程序并修改字模,最终成功显示出了汉字。
③需要将连线仔细检查,可能是接线太松接触不良,也有接线错误,芯片烧毁等问题,经过排查,最后点阵显示屏能成功显示出汉字。
7.课设结果
点阵显示屏显示“微型计算机技术课程设计,点阵显示系统,..班,...”,并不断循环播放,实现了上移和左移,停止和退出功能。 实验显示图片(成品视频部分截图)
图7-1 图7-2
33
图7-3 图7-4
图7-5 图7-6
图7-7
34
七.课设小结
耗时近两周,终于成功完成微机原理这门课的课设设计,运用汇编语言使16×16LED点阵显示屏滚动显示汉字,下面是我对这次课程设计的总结
电路图部分:先通过书籍,和指导老师给定的ppt了解8253,8255,74lS245,74LS138各个芯片的引脚,根据其功能绘制电路图。
连线部分:根据自己绘制的电路图,连线。第一次自己剪线连线,不是很习惯,用的类似老虎钳子的剪刀剪线,线的长度都剪比较长,导致连接的图类似空间图,然而看过别人的整洁的板子,很是愧疚,一激动,就把线一根根剪短重新插线,这个过程中发现指甲剪剪线十分方便,容易控制力度。悲催地在连线过程中,有小节金属线断进面包板,拿不出来,由于不知道面包板的结构,错误地直接用另一段线把断进去的金属扎到金属板里面去了。因为是直接连接整个电路图,而不是一个一个芯片去测好然后连线,连线后测试改线比较麻烦,最终只好拆线重新连接。
测试部分:整改第一次的连线,使电路图成为初始连线图(图6-4-1)后开始测试,用二极管和借用来的示波器。但是8255始终无法工作,找同学帮忙测试,最终认定是8255芯片位置面包板内部短路,只好拆线重新连接,绕过短路部分。重新连线后不是很好看,但是时间原因也没有再去改线。运行写好的程序
35