第4章_单片机中断系统的C51语言编程.ppt

第4章_单片机中断系统的C51语言编程.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 单片机中断系统的C51语言编程 4.1 单片机的中断系统 4.2 外部中断 4.3 定时器/计数器中断 4.4 本章小结 4.5 实训四 十字路口交通信号灯控制 教学提示 教学要求 4.1 单片机的中断系统 4.1.1 51系列单片机的中断系统 4.1.2 51系列单片机中断系统的控制 4.1.3 51系列单片机的中断处理过程 4.1 单片机的中断系统 4.1.1 51系列单片机的中断系统 1. 中断源 2. 中断请求标志 4.1.2 51系列单片机中断系统的控制 1. 中断允许寄存器IE 2. 中断优先级寄存器IP 4.1.3 51系列单片机的中断处理过程 1. 中断请求 2. 中断查询和响应 3. 中断处理 4. 中断返回 中断函数 4.2 外部中断 4.2.1 外部中断源编程 #include <AT89X51.h> main() { IT0=1; IT1=1; EA=1; EX0=1; EX1=1; while(1); } void int0() interrupt 0 { P1=0xff; } void int1() interrupt 2 { P1=0x00; } 采用中断和查询结合的方法扩展外部中断源 4.3 定时器/计数器中断 4.3.1 定时器/计数器的结构及工作原理 1. 计数功能 2. 定时功能 4.3.2 定时器/计数器的控制 1. 工作方式寄存器TMOD 2. 控制寄存器TCON 4.3.3 定时器/计数器的工作方式及应用编程 1. 工作方式0 2. 工作方式1 3. 工作方式2 4. 工作方式3 4.4 本章小结 4.5 实训四 十字路口交通信号灯控制 从外部中断硬件接线图4.7来看,外部中断请求输入端为下降沿有效,即P3.2、P3.3未产生中断请求时,为高电平;有中断请求时,会产生一个低电平,从而使IE0=1或IE1=1,表示外部中断0或外部中断1向CPU申请中断。在外部中断0中断函数中设置相应的发光二极管发光,在外部中断1中断函数中设置相应的发光二极管熄灭。 分 析 在PROTEUS ISIS中绘制如图4.8所示的电路图。除了 基本的时钟电路、复位电路外,在P1口高4位接有4个红色 的发光二极管D1~D4;在外部中断0信号输入引脚P3.2 上接有4个按键K1~K4,用来模拟4个外部中断。当CPU 接收到来自外部中断0的中断请求信号后,就可以通过P1 口的低4位查询到底是哪个中断源在申请中断。 图4.8 外部中断源的扩展 4.3.1 定时器/计数器的结构及工作原理 4.3.2 定时器/计数器的控制 4.3.3 定时器/计数器的工作方式及应用编程 在单片机应用系统中,往往需要实现定时或延时控制、对外部事件计数的功能。在满足控制系统要求的情况下,应优先选用单片机内部的定时器/计数器来实现这些功能。 图4.9 定时器/计数器0的内部结构 51系列单片机内部有两个16位的定时器/计数器(T/C),可用于定时控制、延时、对外部事件计数和检测等场合。通过编程可以设定任意一个或两个T/C工作,并使其工作在定时或计数方式。以T/C 0为例,其内部结构如图4.9所示。 T/C的计数功能是指对外部事件进行计数,外部事件的发生以输入脉冲来表示,因此计数功能的实质是对外来脉冲进行计数。 8051单片机芯片用引脚T0( P3.4 )作为T/C0的外来计数脉冲的输入端,用引脚T1( P3.5 )作为T/C1的外来计数脉冲的输入端。外来脉冲负跳时有效,T/C在有效脉冲的触发下进行加1操作。 由于单片机对计数脉冲的采样是在两个机器周期中进行的,因此为了计数的正确性,要求外来计数脉冲的频率不得高于单片机系统振荡脉冲频率的1/24。 T/C的定时功能也是通过计数来实现的,只不过此时的计数脉冲来自单片机芯片内部,是系统振荡脉冲经12分频后送来的,由于一个机器周期等于12个振荡脉冲周期,所以此时的T/C是每到一个机器周期就加1,计数频率为振荡器fOSC频率的1/12。 在计数/定时功能中,每来一个脉冲,加1计数器(TH0TL0或TH1TL1)就加1,当加1计数器达到最大值(即0xFFFF)时,再来一个计数脉冲就使T/C回到全0,同时产生溢出。T/C的溢出脉冲使定时中断请求标志位TF0或TF1置1。对计数功能而言,表示计数已满,对于定时功能而言,表示定时时间已到。 定时器/计数器的控制是通过软件设置来实现的,所涉及的特殊功能寄存器有4个:TMOD,TCO

文档评论(0)

考试资料文库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档