当前位置:
文档之家› 中断系统的应用举例 (含源程序)
中断系统的应用举例 (含源程序)
中断系统的应用举例 (含源程序)
中断系统的应用举例 (含源程序) 6.4.1 外部中断举例 【例 6-3】使用外部中断 0,当每次响应中断时,P1 口依次输出高电 平,使 8 个发光二极管依次循环熄灭闪烁。 1) 电路设计 ORG0000H LJMPMAIN;转主程序 ORG0003H;外部中断 0 入口地址 LJMPEXTER;转中断程序 ORG1000H MAIN:SETBIT0;外部中断 0 下降沿有效 SETBEX0;外部中断 0 允许 SETBEA;总中断允许 LOOP:AJMPLOOP;等待中断 ORG1050H;中断程序入口 EXTER:MOVR2, #0FFH;置循环次数 MOVA, #01H;灯亮初值 FLASH:RRA;右移一位 MOVR7, #0FFH;定时 LOOP1:MOVR6, #0FFH
MOVTMOD, #20H;定时器 1 工作方式 2 MOVIE, #88H;定时器 1 允许中断 L1:MOVDPTR, #3FFFH MOVA, R0;取数 INCR0;修改指针 MOVCA, @A+PC;查表 JZMAIN MOVR1, A;计算计数初值 MOVA, #0FFH CLRC SUBBA, R1 RLA MOVTH1, 延时 SUBBA, #01H MOVDPL, A MOVA, DPH SUBBA, #00H MOVDPH, A ORLA, DPL JNZL2 CLRTR1 SJMPL1
LOOP2:NOP NOP DJNZR6, LOOP2 DJNZR7, LOOP1 MOVP1, A;控制灯的亮灭 DJNZR2, FLASH;循环 RETI;中断返回 END 定时器举例 通过定时器 1 来产生中断,控制 P1.0 线上的脉冲输出,并经三极管驱动扬 声器,发出音调信号。 1) 电路设计 ORG0000H LJMPMAIN ORG001BH;中断入口地址 CPLP1.0 RETI ORG1000H MAIN:MOVR1, #00H MOVR0, #23H
END ORG1031H;歌曲“送别”编码 DB 33H,33H,3DH,33H,26H DB 26H, 26H, 26H,2DH,2DH DB 26H,2DH,33H,33H,33H DB 33H, 33H,33H,4DH,45H DB 45H, 45H45H, 45H, 45H DB 45H, 45H,33H,33H,3DH DB 33H,26H,26H,26H, 28H DB 2DH, 2DH, 26H,26H,33H DB 33H,33H,33H,45H,3DH