实验二 外部中断 .pdf

preview
需积分: 0 4 下载量 156 浏览量 更新于2020-12-18 1 收藏 2.14MB PDF 举报
单片机外部中断实验 本实验的目的是学习外部中断程序的编程方法,理解边沿触发和电平触发的含义和区别,学习中断优先级的设置和中断嵌套的编程,学习数码管动态显示的编程方法。 一、实验目的 1. 学习外部中断程序的编程方法。 2. 理解边沿触发和电平触发的含义和区别。 3. 学习中断优先级的设置和中断嵌套的编程。 4. 学习数码管动态显示的编程方法。 二、实验内容与原理 1. 利用外部中断口控制 LED 灯,实现内容 INT1 以边沿触发方式中断。主程序执行时,L5—L8 轮流一个个亮。中断时,L1 —L4 闪亮。亮暗各 5 次,每次 0.5 秒。 2. 实现思路:主程序轮流亮灯,需要使 P1 口高四位轮流为 0,可以首先赋值 0EFH,带进位左移直至进位位为 0,则说明一次循环完成。中断 1 程序:初始使低四位为 1,每次对上一次的输出口取反再输出,两次即为一次亮暗循环,亮暗五次共需要十次取反。 三、实验代码 ```assembly ORG 0000H LJMP START ORG 0013H LJMP INTX1 ORG 0050H START: MOV TCON,#04H SETB P3.3 SETB EA SETB EX1 LP: MOV A,#0EFH SETB C LP1: MOV P1,A ACALL DELAY RLC A JC LP1 AJMP LP INTX1: MOV 30H,R1 MOV R7,#10 LP2: CPL P1.0 CPL P1.1 CPL P1.2 CPL P1.3 ACALL DELAY DJNZ R7,LP2 MOV R1,30H RET DELAY: MOV R1,#5 DEL1: MOV R2,#200 DEL2: MOV R3,#229 DEL3: DJNZ R3,DEL3 DJNZ R2,DEL2 DJNZ R1,DEL1 RET END ``` 四、实验现象 (1)主程序执行时:L5—L8 轮流一个个亮。 (2)当产生负脉冲,由于下降沿而进入中断程序,进入中断时,L1—L4 闪亮。亮暗各 5 次,每次 0.5 秒。 五、实验分析 由于中断为下降沿触发,若中断口接负脉冲 P-,则在前沿触发。若接 INT1 接 P+,则后沿触发,即在脉冲结束时触发。 六、不同优先级中断触发实验 ①实现内容 INT0、INT1 低电平触发中断。程序中设定中断 1 优先级高。主程序执行时,数码管上显示:333333。INT0 中断时,显示:000000。INT1 中断时,显示:111111。执行程序,观察中断嵌套情况。 ②实现思路: ```assembly ORG 0000H LJMP MAIN ORG 0003H LJMP INTS0 ORG 0013H LJMP INTS1 PORT EQU 0B000H ;CS273 的端口地址 ORG 0050H MAIN: MOV SP,#60H ;指针指向 60H MOV DPTR, #PORT ;程序初始化 MOV TCON, #00H ;设置低电平触发中断 ANL PSW, #0C7H ;设定 RS1=0,RS0=0,选定寄存器第 0 组 SETB EA ;打开中断开关 SETB EX0 SETB EX1 SETB PX1 ;设置中断优先级 CLR PX0 LOOP: MOV R0,#4FH ;设定数码管段数据为 3 ACALL DIS ``` 本实验的结果表明,外部中断可以控制 LED 灯的闪烁,并且可以实现不同优先级中断触发实验,学习了外部中断程序的编程方法和中断优先级的设置。
小黄在学习
  • 粉丝: 24
  • 资源: 4
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜