您好,欢迎访问一九零五行业门户网

AT89S52单片机中断系统

at89s52单片机的中断系统共有8个中断源,6个中断矢量,两级中断优先级,可实现两级中断服务程序嵌套,通过软件来屏蔽或允许相应的中断请求。每一个中断源可以编程为高优先级中断或低优先级中断,允许或禁止向cpu申请中断。中断系统的特殊功寄存器有中断允许寄存器ie、中断优先级寄存器ip等。
图1为at89s52单片机的中断系统结构示意图。at89s52有两个外部中断源int0、int1;串口通信有接收和发送两个中断源,经过一个或门,公用同一个中断矢量;定时器/计数器0、定时器/计数器1的溢出中断源对应两个中断矢量;定时/计数器2有计数溢出和捕获两种中断源,经或门共用一个中断矢量。
图1 中断系统结构示意图
(1) 来自p3.2引脚上的外部中断请求(外部中断0),低电平或下降沿(从高到低)有效,通过设置it0的值可将外部中断0设置为低电平触发或下降沿触发,it0=0时,为电平触发方式,当引脚上出现低电平时就向cpu申请中断;it0=1时,为跳变触发方式,当引脚上出现负跳变时,置位tcon.1的ie0中断请求标志位,向cpu申请中断。cpu在每个机器周期的s5p2状态采样ie0标志位,当条件满足,则响应中断请求。
(2) 来自p3.3引脚上的外部中断请求(外部中断1),低电平或下降沿有效。其功能与操作同。
(3) t0 片内定时器/计数器0溢出(tf0)中断请求。定时/计数器0无论内部定时或对外部事件t0计数,当计数器(th0、tl0)计数溢出,置位tcon.5的tf0中断请求标志位。cpu在每个机器周期的s5p2状态时采样tf0标志位,当条件满足时cpu响应中断请求,转向对应的中断矢量,执行该中断服务程序,并由硬件自动将tf0标志位清0。
(4) t1片内定时器/计数器1溢出(tf1)中断请求。其功能和操作类似定时/计数器0。其中断请求标志位为tcon.7的tf1。
(5) t2片内定时器/计数器2溢出中断请求。定时器2可以被寄存器t2con中的tf2和exf2的或逻辑触发。程序进入中断服务后,这些标志位都可以由硬件清0。定时器2有两种不同的工作方式。
定时/计数器方式。当定时/计数器方式的计数器(th2、tl2)计数满后溢出,置位中断请求标志位(t2con.7)tf2,向cpu请求中断处理。
“捕获”方式。当外部输入端口t2ex发生从1→0下降沿时,亦将置位t2con.6的中断请求标志位exf2,向cpu请求中断处理。
(6) 串行口中断。片内串行口完成一帧发送或接收,置位中断请求源ti或ri。当完成一串行帧的接收/发送时分别置位串行通信控制寄存器scon中的ri/ti中断请求标志位,当条件满足时cpu响应中断请求。
每一个中断源都对应有一个中断请求标志位,它们设置在定时/计数器控制寄存器tcon、定时/计数器2控制寄存器t2con和串行通信控制寄存器scon的相应位来锁存。另外还有中断控制寄存器ie和中断优先级控制寄存器ip,ie用于确定各中断是允许还是禁止,ip用于定义各中断源的中断优先级,用户通过设置其状态来管理中断系统。
其它类似信息

推荐信息