
单片机应用技术 中断系统 4外部中断应用 顾筠
中 断 系 统 单片机应用技术 4 外 部 中 断 应 用 顾 筠

单片机中断系统 基本概念 MCS-51单片机中断系统 3 中断程序设计方法 外部中断应用
单片机中断系统 1 基本概念 2 MCS-51单片机中断系统 中断程序设计方法 外部中断应用 3 4

4外部中新应用 >MCS-51单片机有2个外部中断源:INT0和INT1 外部中断 引脚 中断标志 中断入口 中断允许 中断优先级 中断触发 INTO P3.2 IEO 0003H EXO PXO ITO INT1 P3.3 IE1 0013H EX1 PXI ITI
4 外部中断应用 外部中断 引脚 中断标志 中断入口 中断允许 中断优先级 中断触发 P3.2 IE0 0003H EX0 PX0 IT0 P3.3 IE1 0013H EX1 PX1 IT1

(1)例1-中断控制灯 【例1】外部中断NTO控制LED灯。 ●在外部中断0的引脚接按键,每次按键就触发NTO 中断,中断发生时将LED状态取反,产生LED状态 由按键控制的效果。 ●在Proteus中仿真实现
(1)例1-中断控制灯

设计分析 如原理图: XTAL1 ●应用单片机最小 +5W R2 D1 系统 IC1 PO.0/ADO XTAL2 220 AT89C51 +5v ●将P3.2(INT0) RST P3.2/INTO 接按键开关 10k P0.0接LED灯显示 +/ 中断情况。 EA
设计分析

电路图设计制作 ●按下键输入低 D1 电平,没按下 R2 X1 19 XTAL1 P0.0/A00 器 P0.1/AD1 220R 12MHz 18 P0.2/AD2 为高电平。 XTAL2 P0.3/A3 P0.4/AD4 22pF P0.5/AD5 34 R1 P0.6/A06 32 ·按键按下产生 RST P0.7/AD7 k 1C1 c3 P2.0/A8 21 AT89C51 P2.11A0 一个下降沿触 P2.2A10 29 30 PSEN P2.3A11 24 25 31 P24/A12 P2.5/A13 发信号,产生 P2.6/A14 P2.7A15 28 P3.0/RXD 中断请求信号 P3.1/TXD 11 P3.2N0 1 P3.31NT1 1 P3.4T0 14 触发中断。 P3.5T1 15 1 8 P3.6/WR P1.7 P3.7/RD
电路图设计制作 l按下键输入低 电平,没按下 为高电平。 l按键按下产生 一个下降沿触 发信号,产生 中断请求信号, 触发中断

程序设计 ●外部中断0的中断入口是0003H。 设置IT0=1。即设置中断触发方式控制为边沿触发,下 降沿有效。 ●每次中断,在中断程序中将P0.0状态求反,即开或关 LED灯一次。 ●灯的状态改变可以用求反指令CPL实现
程序设计 l外部中断0的中断入口是0003H。 l设置IT0=1。即设置中断触发方式控制为边沿触发,下 降沿有效。 l每次中断,在中断程序中将P0.0状态求反,即开或关 LED灯一次。 l灯的状态改变可以用求反指令CPL实现

源程序: ORG 0000H AJMP START :主程序入口 ORG 0003H AJMP XINTO :外部中断0中断服务程序入口 ORG 0030H START: CLR P0.0 :主程序 SETB EXO ;开外部中断0 SETB EA ,开总中断 SETB ITO 设置外部中断0为边沿触发 WAIT: AJMP WAIT XINTO: CPL P0.0 :外部中断0中断服务程序 RETI END
源程序: ORG 0000H AJMP START ;主程序入口 ORG 0003H AJMP XINT0 ;外部中断0中断服务程序入口 ORG 0030H START: CLR P0.0 ;主程序 SETB EX0 ;开外部中断0 SETB EA ;开总中断 SETB IT0 ;设置外部中断0为边沿触发 WAIT: AJMP WAIT XINT0: CPL P0.0 ;外部中断0中断服务程序 RETI END

调试运行 ●按下S1键观 22 19 XTAL1 P0.0/A0 ■39 P0.1/AD1 ■ 37 220R 12Hz, P0.2A02 察LED灯的 18 XTAL2 P0.3/A3 ■3 P0.4/AD4 35 P0.5e 34 0/AD6 ■33 情况。 RST I P0.7/AD7 ■32 P2.0/A8 21 2 AT89C51 P2.1g 9 P2.2A10 30 PSEN P2.3A11 31 P2.4/A12 ■25 P2.5/A13 2 P2.6A14 27 P2.71A15 ■2 1■ P1.0 P3.D/RXD 10 每次按键观察LED灯 2 3 P1,1 P3.1/TXD P3.2/INTD 的亮灭 4▣ P12 5 P1.3 P3.3/INTI P3.4/T0 P3.5T1 8 P3.6M丽 P1.7 P3.7R0 17
调试运行 l按下S1键观 察LED灯的 情况。 每次按键观察LED灯 的亮灭

例1拓展(课后) (1)用外部中断NT1控制LED灯。 ●改变电路连接,用外部中断1(P3.3)接开关。 (2)外部中断INTO控制8个LED灯逐个点亮。 ●在NT0引脚(P3.2)上接按键开关,P0口接8个LED灯。 ●每按一次按键,P0口连接的8个发光二极管点亮位置左移一 位。初态P0.0亮。 ●提示:逐个点亮LED灯可以用左移指令(RL)实现
例1拓展(课后)