51单片机的中断服务_第1页
51单片机的中断服务_第2页
51单片机的中断服务_第3页
51单片机的中断服务_第4页
51单片机的中断服务_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、80C51单片机中断系统结构图映件作询elecfans com 藏吕惧貌故中断的类型和应用(个人理解):1、外部中断(INT0、INT1):直接可以由单片机外围设备的变化导致外部中断接口(P3A2、P3A3)电平变化(低 电平和下降沿)触发,可由外部控制。2、定时器中断(T0、T1、丁2):直接由软件设置的定时的内部中断,按照指定的时间计满数触发。3、串口中断(TI、RI):应用在串口通信,把数据发送标志位TI和接收位RI置0。一、外部中断1、外部中断(INT0、INT1)的初始化设置的步骤:*(1)首先设置这些外部中断优先级PX0=1/0;PX1=1/0(1为高级,0为低级)【默认为0】(2

2、)其次要开总中断EA=1【默认为0】(3)设置外部中断触发方式:IT0 = 1 (下降沿触发)/0 (低电平触发)、IT1=1 (下降沿触发)/0 (低电平触发)【默认为0】(4)再开启外部中断使能:EX0=1 (外部中断0)或EX1=1 (外部中断1【默认为0】(5)中断请求标志(不需人为设定,机器自动设置):EI0=1/0;(外部中断0中断请求标志)EI1=1/0;(外部中断1请求标志【1表示处于中断请求状态,0表示无该中断请求,在电平触发方式时,在相应的中断端口检测到低电平时置1】 (6)只要对应中断的接口(INT0或INT1)接受到有效电平(至少持续两个机器周期的低电平(电 平触发方式

3、)或下降沿(下降沿触发方式)它就启动。2、外部中断涉及的寄存器(1) IP (中断优先级寄存器)0*4点ip字节地址:PT2PSPT1PX1PT0PX0IP,(2) IE(中断允许寄存器)算3a择0。字节地址:ASH.EA辛ESET1EXIETOEXO(3) TCON (中断控制和标志寄存器)位。5“心I1+字节地址:8SHTF1TRI.TFOTROIE1IT1IE0TOTCON3、外部中断的应用 #include #define uint unsigned int #define uchar unsigned char sbitdula=P2A6; sbitwela=P2A7;sbit d1

4、=P1AQ; ucharnum; uchar code table= Qx3f,QxQ6,Qx5b,Qx4f, Qx66,Qx6d,Qx7d,QxQ7,Qx7f,Qx6f,Qx77,Qx7c, Qx39,Qx5e,Qx79,Qx71; void delay(uint z); void main() EA=1;/开总中断 EXQ=1;/开外部中断Q /ITQ=1;TCON=QxQ1;wela=1;/111Q1Q1Q PQ=Qxea;wela=Q;while(1)for(num=Q;num0;x-)for(y=110;y0;y-); void exter0() interrupt 0d1=0;4、

5、外部中断的电平触发和下降沿触发的区别:选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位中断请求标志,向CPU请 求中断。选择边沿触发方式时,单片机在上一个机器周期检测到中断源口线为高电平,下一个机器周期检测 到低电平,即置位中断标志,请求中断。电平触发方式时,中断标志寄存器不锁存中断请求信号,因此要使电平触发的中断被CPU响应并执行,必须 保证外部中断源口线的低电平维持到中断被执行为止。而边沿触发方式时,中断标志寄存器锁存了中断请求, 中断口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU响应并转向该中断服务程序时,由硬件自 动清除。【如果是下降沿触发,当从高至低

6、电平转变时,触发产生。低电平保持多久都只产生一次。如果是低电平触发,那么在低电平时间内中断一直有效。如果在电平没有恢复之前就退出中断程序,那么会 在退出后又再次进入中断。只要不退出是不会重复触发的。我的做法是在退出前关闭中断,等后面有空时再 打开】二、定时器中断1、定时器(T0、T1)中断:1、定时器中断0的初始化设置步骤(1)首先设置外部中断优先级:PT0=1/0(定时器0);PT1=1/0 (定时器1)/(1为高级,0为低级)【默认为0】(2)设置定时器的工作方式:TMOD=0 x?;详解如下::3:34hj-WHGATEc/fMl忙0GATE成MlM0TMOD:低四位用于T0,高四位用于

7、T1GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工 作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/ 计数器工作。即此时定时器的启动多了一条件。C/T:定时/计数模式选择位。_=0为定时模式;=1为计数模式。【定时工作模式和计数工作模式的工作原理相同,只是计数脉冲来源有所不同:处于计数工作模式时, 加法计数器对芯片端子T0(P3.4)或T1(P3.5)上的输入脉冲进行计数;处于定时器工作模式时,加法计数器 对内部机器周期脉冲进行计数。总的来说都是计数,只不过信号来源不同,应用方面也不同】M1

8、M0: 工作方式设置位。定时/计数器有四种工作方式,由M1M0进行如下设置。定氐.,计型寤工咋方式设置表i 1I1MD工g说明*OD 1方式313位宝廿敏器01 1方式却16位定町;寸故茬ID 1方式#6位扣重耘甲计翼器11 1* 31X1分成为个归立的8位定T1此方式泽止;数P转载初值(以方式1为例)TH0= (65535-N) /256;TL0=(65535-N)%256;/定 时器 0 初值装载TH1= (65535-N) /256;TL1=(65535-N)%256;/定 时器 1 初值装载【初值N的计算:N=t/Tcy(t为定时的时间,单位为us;Tcy为机器周期;另外51单片机 中

9、Tcy=12/fsoc(fSoc为晶振频率)】开总中断:EA=1【默认为0】开定时器中断允许:ET0=1;(定时器0中断允许)ET1=1;(定时器1中断允许【默认为0】启动定时器:TF1 (TCON.7): T1溢出中断请求标志位【不用人为设置,由机器自动设置】T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU 可随时查询TF1的状态。所以,丁1可用作查询测试的标志。TF1也可以用软件置1或清 0,同硬件置1或清0的效果一样。TR1 (TCON.6): T1运行控制位【TR1=1时启动定时器1,TR1=0是关闭定时器1】TR1置1时,T1开始工作;T

10、R1置0时,T1停止工作。TR1由软件置1或清0。所以,用软 件可控制定时/计数器的启动与停止。TF0 (TCON.5): T0溢出中断请求标志位,其功能与TF1类同。TR0 (TCON.4): T0运行控制位,其功能与TR1类同【TR0=1时启动定时器0,TR0=0是关 闭定时器0】2、定时器中断涉及的寄存器(1)中断优先级寄存器IPRr5;:1; P辛匕引L 辟卬#.次PS PTl PN1 FK PXOIF位,由n字节代址,A8H.昌ESET1EX1ETOEXC(4)中断控制寄存器3、定时器中断的应用 #include #define uint unsigned int #define uchar unsigned char sbit led1=P1A0;ucharnum;void main() TMOD=0 x01; TH0=(65536-458

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论