发布时间 : 星期六 文章附录:中断方式的编程应用(学生版)更新完毕开始阅读2b53a343b307e87101f6967d
1. 初始化 2. 初始化 等待中断 等待中断 N INT0? Y INT0中断子程序 (开定时器) N INT1? Y INT1中断子程序(由中间向两边逐次循环点亮LED) 产生定时器0溢出中断 定时器0溢出中断子程序 (循环点亮8个LED)
程序流程图
3. 实验程序,分号后加注释,便于查看和调试。
1.用中断INT0控制8个LED发光二极管由左向右逐次循环亮灭。 ORG 0000H LJMP main ORG 0003H LJMP WBZD0 ORG 000BH LJMP DSQ0 ORG 0030H
main: ;
MOV P0,#0FFH ; MOV SP, #60H
MOV TMOD,#00000001B ; SETB IT0 ; MOV IP, 02H SETB EX0
SETB EA ; JMP $
ORG 0100H WBZD0:
MOV P0,#0FEH ;
CLR EX0
MOV TL0,#00H ; MOV TH0, #00H
SETB TR0 ;
SETB ET0 ;
SETB EX0 RETI DSQ0:
CLR EX0 CLR ET0 CLR TR0
MOV TL0,#00H ; MOV TH0, #00H MOV A, P0 RL A MOV P0, A SETB TR0 SETB ET0 SETB EX0 RETI END
2、用中断INT1控制8个LED发光二极管由中间向两边逐次循环亮灭。
ORG 0000H
LJMP MAIN ORG 0013H LJMP WBZD1 ORG 0030H MAIN:
MOV SP,#60H ;
MOV P0,#0FFH ; SETB IT1 ; SETB EX1
SETB EA ; JMP $ WBZD1:
CLR EX1
MOV P0, #0E7H ;
LCALL DELAY ; MOV P0, #0DBH LCALL DELAY MOV P0, #0BDH LCALL DELAY MOV P0, #7EH SETB EX1
RETI DELAY:
MOV R0, #0FFH ; MOV R1, #0FFH DELAY1:
DJNZ R1, DELAY1 DJNZ R0, DELAY1 RET END
4. 编译和调试。
5. 软件调试成功后,完成硬件连接。 实验内容1接线方法:
1 将XL1000单片机综合仿真试验仪的串口连接到计算机的COM口,注意连接的是哪一个几号COM。由稳压电源为实验仪提供电源。
2 接8个发光二极管。用一条8PIN数据排线将八路指示灯部份JP32接到CPU部份的P0口JP51。
3 接外部中断。用一条1PIN数据排线将端口按键部分JP48的任何一个接到CPU部份JP53中的的P3.2(INT0)。
实验内容2接线方法:
1 将XL1000单片机综合仿真试验仪的串口连接到计算机的COM口,注意连接的是哪一个几号COM。由稳压电源为试验仪提供电源。
2 接8个发光二极管。用一条8PIN数据排线将八路指示灯部份JP32接到CPU部份的P0口JP51。
3 接外部中断。用一条1PIN数据排线将端口按键部分JP48的任何一个接到CPU部份JP53中的的P3.3(INT1)。
6.将程序烧写到单片机上,试运行。若出现问题,修改程序,重新编译和调试,直至运行成功。
实验结果:
1. 按下连接P3.2(INT0)的按键,8个LED发光二极管由左向右逐次循环亮灭。 2. 按下连接P3.3(INT1)的按键,8个LED发光二极管由中间向两边逐次循环亮灭。 实验报告要求:
1.分析程序,说出程序的功能,画出流程图。 2.程序加注释。
3.画出硬件接口原理电路图。
4. 实验小结(包括理论知识的总结和实验结果的分析)