51单片机中断详解..docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机中断详解.

一、中断的概念CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断二、中断源在51单片机中有5个中断源中断号优先级中断源中断入口地址0 1(最高)外部中断0 0003H1 2 定时器0 000BH2 3 外部中断1 0013H3 4 定时器1 0018H4 5 串口总段 0023H三、中断寄存器单片机有10个寄存器主要与中断程序的书写控制有关1.中断允许控制寄存器IE2.定时器控制寄存器TCON3.串口控制寄存器SCON4.中断优先控制寄存器IP5.定时器工作方式控制寄存器TMOD6.定时器初值赋予寄存器(TH0/TH1,TL0/TL1)四、寄存器功能与赋值说明注:在用到中断时,必须要开总中断EA,即EA=1。//开总中断1.中断允许控制寄存器IEEX0(EX1):外部中断允许控制位EX0=1 外部中断0开关闭合//开外部0中断EX0=0 外部中断0开关断开ET0(ET1):定时中断允许控制位ET0=1 定时器中断0开关闭合//开内部中断0ET0=0 定时器中断0开关断开ES: 串口中断允许控制位ES=1 串口中断开关闭合//开串口中断ES=0 串口中断开关断开2.定时器控制寄存器 TCON //控制外部中断和定时器中断外部中断:IE0(IE1):外部中断请求标志位当INT0(INT1)引脚出现有效的请求信号,此位由单片机自动置1,cpu开始响应,处理终端,而当入中断程序后由单片机自动置0.//外部中断,即外部中断相应的引脚接入低电平或下降沿信号时,中断开始响应。IT0(IT1):外部中断触发方式控制位//选择有效信号IT0(IT1)=1:脉冲触发方式,下降沿有效。IT0(IT1)=0:电平触发方式,低电平有效。内部中断:TF0(TF1):内部定时器/计数器溢出中断标志位当定时器、计数器计数溢出的时候,此位由单片机自动置1,cup开始响应,处理中断,而当进入中断程序后由单片机自动置0.//内部中断实际上就是利用内部的计数器,只不过提供计数的脉冲来自单片机自身。TRO(TR1):定时器/计数器启动位//启动定时器TRO(TR1)=1; 启动定时器/计数器0TR0(TR1)=0; 关闭定时器/计数器03.串口控制寄存器SCONTI:串行口发送中断标志位当单片机串口发送完一帧数据后,此位由单片机自动置1,而当进入中断服务程序后是不会自动清0的,必须由用户在中断服务中用软件清0.RI:串行口接收中断标志位当单片机串口接收完一帧数据后,此位由单片机自动置1,而当进入中断服务程序后是不会自动清0的,必须由用户在中断服务软件中用软件清0.(IP以后补上,TMOD,TL0/TH0 在定时器/计数器中讲)五、中断结构图:六、定时器/计数器1.计数的定义:计数是指对外部事件进行计数,外部事件的发生以输入脉冲的形式表示,因此计数功能的实质就是对外来的脉冲进行计数,在单片机中对应引脚T0和T1,两个脉冲输入端。外部输入的脉冲在负跳变时有效(即外部脉冲由1变化到0),计数器加1.2.定时器:定时器是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机的内部,因此定时器的实质是对内部脉冲的计数,在单片机中,每个机器周期产生一次计数脉冲,计数器加1.3.工作方式控制寄存器TMOD:TMOD的低半字节(D0,D1,D2,D3)用来控制定时器/计数器0TMOD的高半字节(D4,D5,D6,D7)用来控制定时器/计数器1对TMOD中的内容说明:GATE——门控制。  GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。  当INT0引脚为高电平时TR0置位,启动定时器T0;  当INT1引脚为高电平时TR1置位,启动定时器T1。  GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。C/T——功能选择位  C/T=0时为定时功能,C/T=1时为计数功能。    M0、M1——方式选择功能  由于有2位,因此有4种工作方式4.根据单片机晶振,所选TMOD的的工作方式,所要定的时间,来确定THO和TLO所要赋予的初值(以12M晶振,工作方式1,16位计数器为例,设所定时间为Xus(16为计数器最大数65536,即65536us,若所定时间大于65535,则要用if语句控制,现假设X65535))1.时钟周期的时间t=1/12M=1/12 us2.机器周期的时间T=12*1/12=1 us3.因为每经过一个机器周期计数器+1,所以,计数器+1,经过的时间为 1 us。若所定时间为X,则要求经过Xus,中断响应,又因为16为计数器要全部置1(即达到65

文档评论(0)

gangshou + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档