微机原理与接口技术(单片机)实验实验三I/O口和中断一、实验目的:1、通过实验学会I/O口和中断的应用。2、熟悉XLISP系列单片机综合仿真试验仪的组成和使用方法。3、学会应用XLISP仿真试验和keil-uvision2集成调试软件进行仿真实验。掌握仿真实验的步骤并能得到正确的实验结果。二、实习内容与步骤(一)内容1、将P1口与8个LED灯连接,正常情况下使8个灯循环点亮,形成跑马灯。2、用1PIN线将单片机的P3.2(INT0端)与某个输入键连接。要求按键按下后,实现外部中断,在中断服务程序中使LED灯变为全部闪烁5次,然后返回主程序使8个灯继续循环亮。(二)实验步骤1、仿真仪与CPU的连接和设置(1)使用USB线和串口线,将XL1000综合仿真仪与微型计算机连接起来;(2)在XL1000综合仿真仪上,将JP13和JP14两个232/USB通信选择方式端口的跳线帽跳至232的方式;(3)将JP17的开关压下,选择仿真模式。2、硬件连接(1)用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。(2)用1PIN线将单片机的P3.2(INT0端)与某个输入键连接。3、软件设计用汇编语言编写相关程序,在Keil软件中输入程序,编辑,编译链接,并运行程序。参考程序org0000hljmpstartorg0003hjmpext0start:movie,#10000001bmovip,#00000001bmovtcon,#0000000bmovsp,#70hloop:mova,#0ffhclrcmovr2,#08loop1:rlcamovp1,acalldelaydjnzr2,loop1movr2,#07loop2:rrcamovp1,acalldelaydjnzr2,loop2jmploopext0:pushaccpushpswsetbrs0clrrs1mova,#00movr2,#10loop3:movp1,acalldelaycpladjnzr2,loop3poppswpopaccretidelay:movr5,#20;延时200msd1:movr6,#20d2:movr7,#250djnzr7,$djnzr6,d2djnzr5,d1retend三、思考题1、改用INT1进行中断,程序如何修改?2、改用跳沿触发进行中断,程序如何修改?四、实验要求:1、实习前必须编写好程序2、程序必须编译通过并运行正确3、提交试验报告:报告内容(1)实验目的(2)实验内容(3)实验原理图与线路连接(4)实验步骤(5)实验结果(6)实验体会附录:1、程序调试步骤:(1)程序编写完成,并将*.asm添加到工程中后,进行仿真前,对目标1的属性进行修改;(2)如右图,点击工程下拉菜单中的”目标’目标1’属性”;(3)单击”目标”,输入仿真器的频率12(MHz);(4)选择”输出”菜单中的”生成HEX文件”,以便汇编后产生HEX代码,供编程器使用;(5)在”调试”菜单中,选择如下功能,并点击”设置”,进行右图设置,注意你使用的是哪个串口(Com1还是其它的,可以看设备管理器);(6)全部确定后,对程序进行编译,并生成相应的HEX文件后,进行调试(红色的D),;如出现错误报告,要求连上仿真仪时,请检查有无连接USB线和串口线,并按下仿真仪上的复位键;(7)进入调试窗口,连接上相关的连接线,点击”全速运行”,即可观查仿真结果;(8)退出仿真时,按下仿真仪上的复位键就会自动退到编辑模式下,修改完毕程序并编译后,再按下”调试”即可进入仿真模式;补充:做指导书P22页的实验六:跑马灯参考程序org0000hajmplooporg0030h;从0030h开始,避开00-30h的敏感地址loop:movp1,#0ffh;关闭所有灯clrp1.0;点亮灯p1.0lcalldelay;调延时子程序clrp1.1;点亮灯p1.1lcalldelayclrp1.2;点亮灯p1.2lcalldelayclrp1.3;点亮灯p1.3lcalldelayclrp1.4;点亮灯p1.4lcalldelayclrp1.5;点亮灯p1.5lcalldelayclrp1.6;点亮灯p1.6lcalldelayclrp1.7;点亮灯p1.7lcalldelayAJMPLOOP;到最开始loop处重新运行delay:movr5,#20;延时子程序d1:movr6,#40d2:movr7,#248djnzr7,$djnzr6,d2djnzr5,d1retend三、思考题1、修改延时子程序,改变延时时间为1秒和3秒,观察结果2、修改程序,改变跑马灯的跑马顺序A:由灯1至灯8,再由灯8回到灯1B:由两头到中间,再由中间到两头C:隔灯亮并跑马四、实验要求:跑马灯实验可不用写实验报告