单片微机原理与接口_v0.2详解.ppt

第九章 中断的应用 AT89S51的中断 外部中断 AT89S51的中断 11 什么是中断(interrupt)? 中断就是暂时停下目前所执行的程序,先去执行特定的程序(即中断子程序),完成特定的程序后,再返回接着刚才停下的程序。 AT89S51有5个中断:2个外部中断、2个定时/计数中断、1个串行中断。 中断名称(中断号)为:外部中断0(0),定时/计数中断0(1),外部中断1(2),定时/计数中断1(3),串行中断(4) 中断流程 AT89S51的外部中断 11 AT89S51的外部中断 外部中断输入引脚 外部中断0:P3.2(12) 外部中断1:P3.3(13) 例题 外部中断实现发光二极管的闪烁。 思考 已经学过的专用寄存器有? 答:P0、P1、P2、P3、A、B、SP、PC、DPL、DPH、PSW。 今天我们再学几个专用寄存器。 TCON (0x88) TCON:- - - - IE1 IT1 IE0 IT0 默认值: 0x00 IT0、IT1: 0:电平触发(低电平有效) 1:脉冲触发(下降沿有效) IE0、IE1: 有外部中断请求时,自动置”1” 中断函数执行后,自动清”0” IE(0xA8) IE: EA / / ES ET1 EX1 ET0 EX0 默认值: 0x00 0-4号中断的开关及总开关 0:关闭;1:打开 IP(0xB8) IP: / / / PS PT1 PX1 PT0 PX0 默认值: 0x00 0:低优先级; 1:高优先级 同级别优先顺序:0-4 关于优先级 关于优先级 外部中断函数调用过程 当外部中断0(1)开关打开时,如果IE0(IE1)为“1”, 则自动调用外部中断0(1)函数,并自动清IE0(IE1) 课堂练习 上述例题改用外部中断1实现。 例题 外部中断实现发光二极管的闪烁(汇编)。 外部中断原理 当外部中断0(1)开关打开且IE0(IE1)为“1”时, 自动执行“LCALL 0x0003( 0x0013 )”指令,并清IE0(IE1)。 中断向量表 系统复位 0x0000 外部中断0 0x0003 定时/计数中断0 0x000B 外部中断1 0x0013 定时/计数中断1 0x001B 串行中断 0x0023 关于中断向量表 写C语言程序,由于中断向量表的调用是自动完成,无需知道中断向量表,但中断向量表调用原理必须熟悉。 外部总线 外部总线包括: 外部数据总线 外部地址总线 外部控制总线 外部数据总线 外部数据总线的通讯接口是P0口。 单片机P0.x口的内部结构 外部地址总线 外部地址总线的低8位接口是P0口。 外部地址总线的高8位接口是P2口。 单片机P2.x口的内部结构 外部控制总线 外部控制总线共3根: /P/S/E/N :读ROM /W/R(P3.6):写外部RAM /R/D(P3.7) :读外部RAM 单片机P3.x口的内部结构 例题 给AT89S51扩展1片6264[21]芯片(外部RAM芯片) 关于6264芯片 6264引脚图 6264 8KB(64Kb)RAM芯片,共28个引脚: 地址线13根:A12~0 数据线8根:I/O7~0 读允许:/O/E 写允许:/W/E 片选: /C/S1, CS2 电源:VCC,GND 空引脚:NC 思考 为什么是13个地址引脚? 答:2^13 = 8K 总线接法相关指令 共4条: MOVX A, @DPTR(常用) MOVX @DPTR, A (常用) MOVX A,@Ri MOVX @Ri ,A 例题 分析下面MOVX指令的执行过程: MOV A, #0x33 MOV DPTR, #0x1234 MOVX @DPTR, A “MOVX @DPTR, A”指令执行过程 CPU端 将#0x34送P0口(推挽式), #0x12送P2口(内部上拉电阻) 将#0x33送P0口(推挽式) 给(/W/R)引脚(P3.6)短暂低电平信号 6264端 当/W/E 引脚出现低电平信号时,立刻将此时I/O7~0 引脚上的数#0x33写到此时A12~0引脚选中的存储单元( #0x1234 )中。 例题 分析下面MOVX指令的执行过程: MOV DPTR, #0x1234 MOVX A, @DPTR “MOVX A, @DPTR”指令执行过程 CPU端 将#0x34送P0口(推挽式), #0x12送P2口(内部上拉电阻) 给(/R/D)引脚(P3.7)短暂低电平信号

文档评论(0)

1亿VIP精品文档

相关文档