《《微机原理及接口技术》实验3 IO口和中断》由会员分享,可在线阅读,更多相关《《微机原理及接口技术》实验3 IO口和中断(15页珍藏版)》请在金锄头文库上搜索。
1、微机原理与接口技术(单片机)实验 实验三 I/O口和中断 一、实验目的: 1、通过实验学会I/O口和中断的应用。 2、熟悉XLISP系列 单片机综合仿真试验仪的组成和使用方法。 3、学会应用XLISP仿真试验和keil-uvision2集成调试软件进行仿真实验。掌握仿真实验的步骤并能得到正确的实验结果。,二、实习内容与步骤 (一)内容 1、将P1口与8个LED灯连接,正常情况下使8个灯循环点亮,形成跑马灯。 2、用1PIN线将单片机的P3.2(INT0端)与某个输入键连接。要求按键按下后,实现外部中断,在中断服务程序中使LED灯变为全部闪烁5次,然后返回主程序使8个灯继续循环亮。,(二)实验步
2、骤 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软件中输入程序,编辑,编译链接,并运行程序。,参考程序 org 0000h ljmp start o
3、rg 0003h jmp ext0 start: mov ie,#10000001b mov ip,#00000001b mov tcon,#0000000b mov sp,#70h loop: mov a,#0ffh clr c mov r2,#08,loop1:rlc a mov p1,a call delay djnz r2,loop1 mov r2,#07 loop2:rrc a mov p1,a call delay djnz r2,loop2 jmp loop,ext0: push acc push psw setb rs0 clr rs1 mov a,#00 mov r2,#10
4、 loop3:mov p1,a call delay cpl a djnz r2,loop3 pop psw pop acc reti,delay: mov r5,#20 ;延时200ms d1: mov r6,#20 d2: mov r7,#250 djnz r7,$ djnz r6,d2 djnz r5,d1 ret end,三、思考题 1、改用INT1进行中断,程序如何修改? 2、改用跳沿触发进行中断,程序如何修改? 四、实验要求: 1、实习前必须编写好程序 2、程序必须编译通过并运行正确 3、提交试验报告:报告内容 (1)实验目的 (2)实验内容 (3)实验原理图与线路连接 (4)实验
5、步骤 (5)实验结果 (6)实验体会,附录:1、程序调试步骤: (1) 程序编写完成,并将*.asm添加到工程中后,进行仿真前,对目标1的属性进行修改;,(2)如右图,点击工程下拉菜单中的”目标目标1属性”;,(3)单击”目标”,输入仿真器的频率12(MHz);,(4)选择”输出”菜单中的”生成HEX文件”,以便汇编后产生HEX代码,供编程器使用;,(5)在”调试”菜单中,选择如下功能, 并点击”设置”,进行 右图设置,注意你使用 的是哪个串口(Com1还 是其它的,可以看设备 管理器);,(6)全部确定后,对程序进行编译,并生成相应的HEX文件后,进行调试(红色的D), ;如出现错误报告,要
6、求连上仿真 仪时,请检查有无连接USB线和串 口线,并按下仿真仪上的复位键; (7)进入调试窗口,连接上相关的连接线,点击”全速运行”, 即可观查仿真结果; (8)退出仿真时,按下仿真仪上的复位键就会自动退到编辑模式下,修改完毕程序并编译后,再按下”调试”即可进入仿真模式;,补充:做指导书P22页的实验六:跑马灯参考程序 org 0000h ajmp loop org 0030h ;从0030h开始,避开00-30h的敏感地址 loop: mov p1,#0ffh ;关闭所有灯 clr p1.0 ;点亮灯p1.0 lcall delay ;调延时子程序 clr p1.1 ;点亮灯p1.1 lc
7、all delay clr p1.2 ;点亮灯p1.2 lcall delay clr p1.3 ;点亮灯p1.3 lcall delay clr p1.4 ;点亮灯p1.4 lcall delay,clr p1.5 ;点亮灯p1.5 lcall delay clr p1.6 ;点亮灯p1.6 lcall delay clr p1.7 ;点亮灯p1.7 lcall delay AJMP LOOP ;到最开始loop处重新运行 delay: mov r5,#20 ;延时子程序 d1: mov r6,#40 d2: mov r7,#248 djnz r7,$ djnz r6,d2 djnz r5,d1 ret end,三、思考题 1、修改延时子程序,改变延时时间为1秒和3秒,观察结果 2、修改程序, 改变跑马灯的跑马顺序 A:由灯1至灯8,再由灯8回到灯1 B:由两头到中间,再由中间到两头 C:隔灯亮并跑马 四、实验要求: 跑马灯实验可不用写实验报告,