微机原理与接口技术第11章-实训课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微机原理与接口技术第11章-实训课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 11 课件
- 资源描述:
-
1、第第1111章章 实训实训实训一实训一 排序程序设计排序程序设计实训目的实训目的1熟悉8086汇编语言程序的运行环境以及调试工具DEBUG有关命令的功能与操作方法。2熟悉分支结构、循环结构以及子程序调用等基本结构的程序设计过程和技巧。3了解综合程序的设计、编写及调试过程。实训内容实训内容 把一组字数据置入存储器的某一连续的存储区中,使存储区的长度就是这组数据的个数。编写一程序,用下沉法对该数据区中数据按增序排序,结果放在原数据区中。设计思想设计思想 从第1个数开始,依次把相邻的两个数进行比较,即第1个数与第2个数比较,若第1个数大于第2个数,则两者交换,否则,两数的位置不变。然后,把第2个数与
2、第3个数比较,若第2个数大于第3个数,则两者交换,否则,两数的位置不变。第N-1次是把第N-1个数与第N个数比较,若第N-1个数大于第N个数,则两者交换,否则,两数的位置不变。对于这N个数,经过第1遍的N-1次比较后,最大数将被排在第N个位置,即最大数被排在最后。对剩下的N-1个数重复中的过程,找出N-1个数中的最大数,并把该最大数放在第N-1个位置。重复,经过N-1遍后排序后,这N个数将被全部排序好。实训步骤实训步骤1根据程序设计思想编写源程序。2在EDIT编辑器下输入源程序,并保存程序。3用MASM.EXE编译源程序,编译无错后,生成相应的OBJ目标文件。用LINK.EXE 连接OBJ文件
3、,生成可执行的EXE文件。4运行可执行文件。根据需要,可在DOS提示符下直接通过文件名的方式运行程序,或者是用DEBUG将可执行的EXE文件调入内存后,用G命令运行。例:C:DEBUG 文件名.EXE -U ;先用反汇编来查看源程序装入的地址 :-G=xxxx:xxxx ;从程序装入的地址处,开始运行程序5使用DEBUG的有关命令,查看程序结果。实训总结实训总结 假设待排序的数共有10个,它们分别是0055H,0033H,0066H,0077H,0099H,0011H,0022H,0088H,0044H,0000H,放在首地址为DATA的一组存储单元中。程序执行结果应为0000H,0011H,
4、0022H,0033H,0044H,0055H,0066H,0077H,0088H,0099H。使用DEBUG的有关命令查看程序执行后,该存储区中的数据是否按升序有序,若不是,查找原因,修改程序,直至得到正确的结果为止。给出的程序清单是在待排序的数据是已知的情况,即共有10个数。在数据段中完全可以采用($-DATA)/2求出待排序数据的个数,实现未知待排序数据个数的排序。参考程序参考程序 接下段接上段实训二实训二 8259A8259A外部中断外部中断实训目的 1熟悉8088/86与8259A的连接方法。2进一步掌握中断控制器8259A的工作原理,进一步了解中断屏蔽寄存器和中断服务寄存器的功能和
5、使用方法。3熟悉中断服务程序的编写过程及技巧。实训内容 用8088/86控制8259A可编程中断控制器,实现对外部中断的响应和处理。要求程序中对每次中断进行计数,并将计数结果用74LS273输出到LED显示出来。实训设计过程 1 18259A8259A硬件线路的设计硬件线路的设计 根据实际要求,设计如图11-2所示的硬件连接线路,使用实验板上的脉冲发生电路产生的脉冲信号作为中断请求信号与IR0相连。当按下脉冲按钮时,脉冲发生电路就会产生一个正脉冲,使IR0=1,即发生了外部中断。图11-2 8259A外部中断连线图 2 2中断计数输出硬件线路的设计中断计数输出硬件线路的设计 中断计数可采用软件
6、计数的方式实现,计数结果输出可采用锁存储器74LS273实现。把74LS273的数据输入线D1 D8与CPU的低8位数据线相连,74LS273的数据输出线Q1 Q8与8个指示灯LED0 LED7相连。CPU通过OUT指令把中断计数值输出到74LS273并锁存,同时中断计数值在74LS273输出端输出,在LED0 LED7显示出来,其硬件连线如图11-3所示 图11-3 中断计数输出连接电路图 程序设计思想与程序流程程序设计思想与程序流程 8259A的初始化 ICW1=13H,即单片8259A,中断请求信号为上升沿触发,需要写如ICW4。ICW2=20H,即IR0的中断类型号为20H。ICW4=
7、01H,即与8086/8088相连,工作在正常EOI方式,非缓冲和全嵌套方式。OCW1=0FEH,即屏蔽除IR0之外的所有中断请求。设259A的端口地址为0A00H和0A001H,74LS273端口地址为8000H。在不同的实验系统中,芯片的地址由与CPU地址线的连接方式确定;在同一个系统中,端口地址是固定的。设置中断向量表具体实现过程见程序清单。绘制主程序和中断服务程序的流程图主程序和中断服务程序的流程如图11-4所示。编写主程序和中断服务程序主程序和中断服务程序见程序清单。实训步骤实训步骤 1按照图11-2和图11-3在实验板上连接硬件线路。2在EDIT编辑器下输入源程序,并保存程序。3用
8、MASM.EXE编译源程序,编译无错后,生成相应的OBJ目标文件。用LINK.EXE 连接OBJ文件,生成可执行的EXE文件。4运行可执行程序。在执行程序的过程中,按下脉冲开关,产生中断。5观察实训结果。如果指示灯LED0 LED7显示结果与按下脉冲开关次数相同,说明实训结果正确,否则,需要查找出错原因,并排除之。实训总结实训总结本实训主要容易出现以下两种错误结果:1中断次数与显示值不一致。导致这种错误的主要原因是由于脉冲按钮的抖动造成的,可通过软件去抖动的方法给予解决。2中断服务程序不被执行。导致这种错误的主要原因一是中断控制电路的设计或连接有问题,导致CPU确实没有接到中断请求信号,二是中
9、断向量与中断服务程序的入口地址在填写中断向量表时不一致。可通过检查8259A控制字、连线以及中断向量表的设置等因素给予排除。程序清单 接下段接上端接下端接上表实训三实训三 82558255输入输入/输出输出实训目的 1熟悉8255芯片结构及编程方法。2熟悉8255A的初始化过程和方式控制字的设置过程及方法。3了解通过8255A并行接口传输数据控制LED发光二极管的亮灭的方法。实训内容 利用8255可编程并行口芯片,实现数据输入/输出功能,实训中用8255PA口作输出,PB口作输入。可编程通用接口芯片8255A有三个八位的数据端口,它有三种工作方式。本实训采用的是方式0:PA,PC口输出,PB口
展开阅读全文