版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章MCS-51单片机的中断系统及定时器
本章主要介绍51系列单片机中断系统和定时器问题,本章将介绍以下具体内容:定时/----定时/计数器的定时和计数功能、定时器/计数器的控制寄存器、定时器/计数器的工作方式、定时/计数器用作外部中断扩展、定时中断联合举例。中断系统----中断源、中断方式、中断控制寄存器、中断响应、中断请求的撤除。
CPU与外设之间传送数据的方式可以有以下几种:无条件传送方式查询方式中断传送方式DMA方式§5.1输入/输出的控制方式预备内容§5.2MCS-51单片机的中断系统5.2.1.MCS-51单片机的中断系统结构一、中断的概念执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回IE0TF0IE1TF1TIRI中断请求标志EX0ET0EX1ET1ES≥1PX0PT0PX1PT1PS高级低级二、MCS-51单片机的中断系统(图5-2)内部查询内部查询入口地址入口地址INT0INT1T0T1TIRI中断允许控制中断优先级EA中断源一、中断源
共有五个中断源,分别是外部中断两个、定时中断两个和串行中断一个,它们是:外部中断0--INT0,由P3.2提供,外部中断1—INT1,由P3.3提供,外部中断有两种信号方式,即电平方式和脉冲方式。T0溢出中断;由片内定时/计数器0提供T1溢出中断;由片内定时/计数器1提供串行口中断RI/TI;由片内串行口提供5.2.2.MCS-51中断源二、中断方式单片机的中断为固定入口式中断,即一响应中断就转入固定入口地址执行中断服务程序。具体入口如下:中断源入口地址INT00003HT0000BHINT10013HT1001BHRI/TI0023H在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。三、中断控制的寄存器与中断控制有关的控制寄存器有四个:TCON----定时控制寄存器,IE----中断允许控制寄存器,IP----中断优先级控制寄存器,SCON----及串行口控制寄存器。1.定时控制寄存器TCOND7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中断请求标志触发方式选择0低电平1下降沿2.串行口控制寄存器SCOND7D6D5D4D3D2D1D0TIRI串行中断请求标志3.中断允许控制寄存器IED7D6D5D4D3D2D1D0EAESET1EX1ET0EX04.中断优先级控制寄存器(IP)D7D6D5D4D3D2D1D0PSPT1PX1PT0PX00禁止,1允许0低级别,1高级别INT0、INT1、T0、T1中断请求标志放在TCON中串行中断请求标志放在SCON中。中断请求控制寄存器TCOND7D6D5D4D3D2D1D0位名称TF1—TF0—IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能T1
中断标志—T0中断标志—
中断标志
触发方式
中断标志触发方式TCON的结构、位名称、位地址和功能如下:5.2.3外中断触发方式IT0:外中断0触发方式设置位
IT0=0,外中断1为低电平触发
CPU在每一个机器周期的S5P2期间对P3.2引脚采样,若P3.2为低电平,则使IE0置1,否则IE0清0。
D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0
TCON格式如下:5.2.3外中断触发方式IT0=1,外中断0为下降沿触发
CPU在每一个机器周期的S5P2期间对P3.2引脚采样,若上一个机器周期检测为高电平,紧挨着的下一个机器周期为低电平,则使IE0置1。
IT1:外中断1触发方式控制位。功能同IT0
D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0
TCON格式如下:串行控制寄存器SCONTCOND7D6D5D4D3D2D1D0位名称——————TIRI位地址——————99H98H功能——————串行发送中断标志串行接收中断标志①TI——串行口发送中断请求标志②RI——串行口接收中断请求标志串行口中断请求标志RI:为接收中断请求标志位。当串行口接收到一帧数据后,RI被置1,请求中断,CPU响应中断后,不会被硬件清0,需要软件清0。TI:为发送中断请求标志位。当串行口发送完一帧数据后,TI被置1,请求中断,CPU响应中断后,不会被硬件清0,需要软件清0。5.2.4中断请求标志SCON(98H)D7D6D5D4D3D2D1D0TIRI
80C51对中断源的开放或关闭由中断允许控制寄存器IE控制。
中断允许控制寄存器IEIE的结构、位名称和位地址如下:IED7D6D5D4D3D2D1D0位名称EA——ESET1EX1ET0EX0位地址AFH——ACHABHAAHA9HA8H中断源CPU——串行口T1T0
PS:串行口中断优先级控制位。PT1:定时计数器T1中断优先级控制位。PX1:外部中断1中断优先级控制位。PT0:定时计数器T0中断优先级控制位。PX0:外部中断0中断优先级控制位。注意:单片机复位后,IP寄存器被清0,所有中断源为低级中断。中断优先级控制寄存器(IP)
D7D6D5D4D3D2D1D0PSPT1PX1PT0PX0中断优先级控制中
断
源同级内优先权排列外部中断0中断定时器/计数器0中断外部中断1中断定时器/计数器1中断串行接口中断
最
高
最
低自然优先权顺序:例5-1假设允许INT0、INT1、T0、T1中断,试设置IE的值。按字节操作:IE=0x8f;按位操作:EX0=1; //允许外部中断0中断ET0=1; //允许定时器/计数器0中断EX1=1; //允许外部中断1中断ET1=1; //开定时器/计数器1中断EA=1; //开总中断控制位5.2.5中断允许控制例5-2编写程序段,设置单片机的两个外部中断和串行口中断为高优先级,二个定时器的中断为低优先级。C语言程序按字节操作:IP=0x15;按位操作:PX0=1; //设置外中断0为高级中断PX1=1; //设置外中断1为高级中断PS=1; //设置串行口中断为高优先级5.2.6中断优先级控制C语言的中断程序结构如下:(1)main()函数。与汇编的主程序类似,要完成中断系统的初始化。要有一个循环,等待中断发生。(2)中断处理函数。中断处理函数在定义时,要有interruptn说明中断号。C51中断程序设计C51编译器支持在C源程序中直接嵌入中断服务程序,C51提供的中断函数定义语法如下:
返回值类型函数名interruptn[usingm]n:中断编号,取值范围为0~4m:
工作寄存器组号(如不声明,默认为0)中断通道和中断源中断系统的初始化步骤:①根据需要确定各中断源的优先级别,设置中断优先级寄存器IP中相应的位。②根据需要确定外部中断的触发方式,设置定时器控制寄存器TCON中相应的IT0位和IT1位。③设置总中断控制位EA,设置中断源对应的中断允许控制位。5.4.1中断应用程序结构外部中断程序模板main(){IT0=1;//中断边沿触发EX0=1;//允许外部中断0EA=1;//总允许while(1);//等待中断}int0()interrupt0{
P2_0=!P2_0;//中断内容
}前面不需要函数说明不能有返回值不能有形参主程序中没有调用中断函数的语句中断函数与一般函数的区别中断函数一般函数前面不需要函数说明前面需要函数说明不能有返回值可以有返回值不能有形参可以有形参主程序中不需要调用语句主程序中需要调用语句函数执行时间是随机的函数执行时间是确定的函数的入口地址是固定的函数的入口地址是随机的外部中断应用举例
例5-3如图5-10所示,将P0口的P0.0~P0.3作为输入位输入4个开关的状态,P2.0~P2.3作为输出显示开关状态。要求利用89C52外部中断0将开关所设的数据读入单片机内,并依次通过P2.0~P2.3输出,驱动发光二极管,以检查P0.0~P0.3输入的电平情况(若输入为低电平则相应的LED亮)。要求采用中断边沿触发方式,每中断一次,完成一次读/写操作。外部中断应用举例#include<reg52.h>voidmain(){ IT0=1; //选择边沿触发方式
EX0=1; //允许外部中断0 EA=1; //总中断允许
while(1); //等待中断}voidint0_serv(void)interrupt0
{ //外部中断服务函数 P0=0x0f; //设P0.0~P0.3为输入
P2=P0; //P0的值输出到P2使LED发光}例5-4用单片机中断方式设计一4路故障声光报警系统。C语言程序清单:#include<reg52.h>sbitsound=P3^7;voidmain(){ IT1=0; //选择低电平触发方式
EX1=1; //允许外部中断1 EA=1; P2=0x0f; while(1); //等待中断}voidint1_serv()
interrupt2
{ //外部中断1中断服务函数 unsignedchari; sound=~sound; //输出方波到蜂鸣器发声
for(i=0;i<100;i++); //发声延时,控制声音频率}5.3.2硬件设计(例5)
图5.3.1外部中断原理电路图5.5.2硬件设计(例6)
图5.5.1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年注册消防工程师继续教育考试押题卷(易错题)附答案详解
- 小学六年级英语下册词汇深度理解与整合应用教案
- 2026年责任区背景下幼儿园自主游戏观察与记录教研
- 高中生物(高二年级)《物质与能量观视角下的人体稳态维持》教案
- 初中八年级物理下册期末试卷质量评估与讲评教学设计
- 初中英语中考满分作文写作指导:核心素养导向下跨学科整合教学设计
- 云南省楚雄州2025-2026学年高二上学期期末教育学业质量监测试题语文
- 初中化学九年级下册“溶解度”概念深度建构与跨学科应用教学设计
- 小学六年级数学下册《统计图的综合应用与数据分析观念培养》教学设计
- 初中科学七年级下册《汽化与液化》探究式教学设计
- 2026重庆联合产权交易所集团股份有限公司招聘13人考试备考试题及答案解析
- 2026中国文创产品市场消费趋势与商业模式创新研究报告
- 2026中考语文试题分类汇编《作文》练习题
- 2026年辽宁省二级建造师继续教育复习真题AB卷附答案详解
- 高中作文纸800字模板
- 药物医疗器械临床试验质量管理规范试题及答案
- YC/T 88.2-2006烟草机械喂料机第2部分:技术条件
- GB/T 10855-2016齿形链和链轮
- GA 1334-2016管制刀具分类与安全要求
- 2023年广州铁路职业技术学院单招职业适应性测试笔试模拟试题及答案解析
- DB44 2208-2019农村生活污水处理排放标准-(高清现行)
评论
0/150
提交评论