【单片机】4.2 AT89S52中断系统结构
目录
- 4.2.1 中断请求源
- 4.2.2 中断请求标志寄存器
- 1. TCON寄存器
- TCON各标志位功能如下:
- 2. SCON寄存器
- 各标志位的功能:
- 3.定时器2的控制寄存器T2CON
- 中断系统结构图如图4-2所示。
- 中断系统有6个中断请求源(简称中断源)(80c51单片机有5个中断源),两个中断优先级,可实现两级中断服务程序嵌套。
- 每一中断源可用软件独立控制为允许中断或关中断状态,中断优先级均可用软件来设置。
图4-2 AT89S52的中断系统结构
4.2.1 中断请求源
由图4-2可见,AT89S52中断系统共有6个中断请求源:
- INT0* — 外部中断请求0,中断请求信号由 INT0* 脚输入,中断请求标志为IE0。
- INT1* — 外部中断请求1,中断请求信号由 INT1* 脚输入,中断请求标志为IE1。
- 定时器/计数器T0 计数溢出发出的中断请求,中断请求标志为TF0。
- 定时器/计数器T1 计数溢出发出的中断请求,中断请求标志为TF1。
- 串行口中断请求,中断请求标志为发送中断TI或接收中断RI。
- T2 的中断请求源(AT89S52多了这个中断源),含有计数溢出(TF2)和“捕捉”(EXF2)两种中断请求标志,经或门共用一个中断矢量。两种中断触发是由T2的两种不同工作方式决定的。
4.2.2 中断请求标志寄存器
- 6个中断请求源的中断请求标志分别由TCON 、SCON和T2CON的相应位锁存(见图4-2)。
1. TCON寄存器
- 为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。特殊功能寄存器TCON的格式如图4-3所示。
图4-3 特殊功能寄存器TCON的格式
TCON各标志位功能如下:
- TF1—定时器/计数器T1的溢出中断请求标志位。
- 当T1计数产生溢出时,由硬件使TF1置“1”,向CPU申请中断。CPU响应TF1中断时,TF1标志由硬件自动清“0”,TF1也可由软件清“0”。
- TF0—定时器/计数器T0的溢出中断请求标志位,功能与TF1类似。
- IE1—外部中断请求1的中断请求标志位。
- IE0—外部中断请求0中断请求标志位,功能与IE1类似。
- IT1—选择外部中断请求1为跳沿触发还是电平触发。
- IT1=0,电平触发方式,引脚 上低电平有效,并把IE1置“1”。转向中断服务程序时,由硬件自动把IE1清“0”。
- IT1=1,跳沿触发方式,加到引脚 上的外部中断请求输入信号电平从高到低的负跳变有效,并把IE1置“1”。转向中断服务程序时,由硬件自动把IE1清“0”。
- IT0—选择外部中断请求0为跳沿触发方式还是电平触发方式,其意义与IT1类似。
- AT89S52复位后,TCON被清“0”,6个中断源的中断请求标志均为0。
- TR1(D6位)、TR0(D4位) 这2位与中断系统无关,将在第5章定时器/计数器中介绍。
2. SCON寄存器
- 串行口控制寄存器,字节地址为98H,可位寻址。
- 低二位锁存串行口的发送中断和接收中断的中断请求标志TI和RI,格式如图4-4所示。
图4-4 SCON中的中断请求标志位
各标志位的功能:
- TI—串行口的发送中断请求标志位。每发送完一帧串行数据后,TI自动置“1”。TI标志必须由软件清“0”。
- RI—串行口接收中断请求标志位。串行口接收完一个串行数据帧,硬件自动使RI中断请求标志置“1”。必须在中断服务程序中用指令对RI清“0”。
3.定时器2的控制寄存器T2CON
- 80c51没有。
- 特殊功能寄存器T2CON的字节地址为C8H,可位寻址,位地址为C8H~CFH。格式见图4-5。
图4-5 T2CON格式
T2CON中的最高两位为定时器/计数器T2的中断请求标志位TF2和EXF2。
TF2(D7):当T2的计数器(TL2、TH2)计数计满溢出回0时,由内部硬件置位TF2(寄存器T2CON.7),向CPU发出中断请求。但是当RCLK位或TCLK位为1时将不予置位。本标志位必须由软件清0。
EXF2(D6):当由引脚T2EX(P1.1脚)上的负跳变引起“捕捉”或“重新装载”且EXEN2位为1,则置位EXF2标志位(寄存器T2CON.6),向CPU发出中断请求。
上述两种中断请求,在满足中断响应条件时,CPU都将响应其中断请求,转向同一个中断矢量地址进行中断处理。因此,必须在T2的中断服务程序中对TF2和EXF2两个中断请求标志位进行查询,然后正确转入对应的中断处理程序。中断结束后,中断请求标志位TF2或EXF2必须由软件清0。
【单片机】4.2 AT89S52中断系统结构相关推荐
- 51单片机——中断系统结构
目录 1 什么是中断 2 中断的基本概念 2.1 中断源 2.2 中断的优先级别 3 中断的处理过程 4 中断系统的结构 4.1 中断系统的组成 4.2 中断系统的工作原理 5 中断源寄存器 5.1 ...
- 单片机串口中断控制流水灯c语言,基于单片机AT89C51控制的中断控制流水灯_课程设计报告...
<基于单片机AT89C51控制的中断控制流水灯_课程设计报告>由会员分享,可在线阅读,更多相关<基于单片机AT89C51控制的中断控制流水灯_课程设计报告(25页珍藏版)>请在 ...
- 中断系统结构及中断控制详解
中断系统结构及中断控制详解 MCS-51提供5个中断请求源,2个中断优先级,可实现两级中断服务程序嵌套.当CPU执行关中断指令后(或复位),将屏蔽所有中断请求,只有CPU执行开中断指令后才有可能接受中 ...
- 51单片机复习:外部中断,定时器/计数器中断
中断: 什么是中断,就是打断,你一开始在做一件事,突然意外发生(中断源),你不得不停止手中的事,(中断响应),去处理那 件意外(中断服务),处理完意外后你继续做刚才那件事(中断返回),这就是中断,而单 ...
- 单片机的延时与中断问题及解决方法
延时与中断出错,是单片机新手在单片机开发应用过程中,经常会遇到的问题,本文汇总整理了包含了MCS-51系列单片机.MSP430单片机.C51单片机.8051F的单片机.avr单片机.STC89C52. ...
- 用 C学习51单片机——记录 4、中断系统 (1)外部中断
用 C学习51单片机--记录 4.中断系统 用 C 学习51单片机过程与自我拓展--记录(STC89C52芯片) 前言--其实51并不太难,多看 多写代码,多调试,就一定会有所感悟. 所以我在此留下一 ...
- 51单片机:利用外部中断实现按键按一下数码管数字加1直到加到99,另一个按键实现清零
51单片机:利用外部中断实现按键按一下数码管数字加1直到加到99,另一个按键实现清零 题目要求: 利用外部中断实现按键按一下数码管数字加1,实现00-99的循环,另一个按键实现清零,不管数码管数字是多 ...
- 51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真
51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真 文章目录 51单片机开发 矩阵键盘中断实验与简易计算器及proteus仿真 实验内容 一.实验一 矩阵键盘中断实验 数码管显示 1.仿 ...
- C51单片机——多个按键中断控制实现
C51单片机--多个按键中断控制实现 1.实现代码 /* * 2018-10-22 */ #include<STC15F2K60S2.h> #define uchar unsigned c ...
- 51单片机系列二:中断与延时
本篇通过闪烁led和数码管两个实验来分析延时与中断概念,以及实现软件仿真. Chapter1.中断的概念 中断就是当CPU执行主程序时,突然被打断一下,去干别的事情,干完再回来执行主程序.这个过程类似 ...
最新文章
- LIVE555建立RTSP服务记录
- Javascript中 != 和 !==的区别
- [Java] Java常见错误
- 中介者模式(Mediator) 笔记
- 车机没有carlife可以自己下载吗_雷克萨斯NX 原车carlife转换无线carplay
- Python网络爬虫案例
- iOS前后台切换和监听
- Nginx模块开发之http handler实现流量统计(进阶篇)
- 树形管理工具-美美哒
- Oracle数据库将数字金额转换为大写汉字
- 微信支付 自动退款 php,银联在线、微信、支付宝自动退款接口文档总结和API地址...
- Python 鸡兔同笼
- 封神台——手工注入基础(猫舍)
- Trove系列(二)—Trove 的架构和流程介绍
- 基于springmvc的Junit与Jmockit使用
- iCheck 的简单了解
- 幻灯片素材:商务通用PPT动态模板
- ODB学习笔记之基础环境搭建
- 【Matlab】在Java中调用matlab函数
- 默默无闻之随机练习题
热门文章
- 新版C语言面试题面试题库(含答案)
- 德鲁克对管理学的贡献
- 【软件设计师中级】设计模式之原型模式学习笔记(c++)
- 台达变频器485通讯接线图_三菱PLC 与台达VFD-L 变频器通讯(RS485)程序
- canvas 实现图片添加水印
- 微信小程序怎么开店?怎么开一个小程序店铺
- 六轴传感器ICM20602芯片手册学习笔记
- linux su命令快捷键,Linux下su与su -命令的区别
- 通过分享后的百度网盘链接获取外链图片地址
- android远程桌面源码,ARDC Android远程桌面助手 简介(示例代码)