实例讲解,单片机常用中断控制子程序
单片机系统中,应用最多的中断方式是中断I/O方式。中断I/O方式提供了5个中断源,即两个外部输入中断源INT0(P3.2或称为外部中断源0)和INT1(P3.3或称为外部中断源1),两个片内定时器T0和T1的溢出中断源TF0和TF1,一个片内串行口发送或接收中断源TI或RI。
中断由中断控制寄存器控制,不论哪个中断,都必须进行初始化,中断响应必须有中断响应程序。5个中断的控制编程如下。
4个中断应用实例讲解
【例1】 利用单片机的外部中断0响应按键开关的按键信号,当有按键按下时,单片机响应中断,并使内部某变量加1,硬件电路如图4-4所示。
图4-4 单片机外部中断检测按键电路图
C51源程序如下:
将按键电路改为其他传感器电路,如光电传感器检测电路,霍尔传感器检测电路,热释电传感器检测电路等即可实现不同的检测控制功能。
【例2】 2个按健中断控制流水等灯的速度,按健K0用以减慢速度控制,按健K1用以加快速度控制,硬件电路如图4-5所示。
图4-5 流水灯控制电路图
C51源程序如下:
【例3】 利用单片机外部中断即时实现不同方式的流水灯控制,L2开关实现2只灯循环亮,L1开关实现1只灯循环亮,两个控制开关具有不同的优先级别,L2比L1具有更高的优先级。硬件电路如图4-6所示。
C51源程序如下:
图4-6 不同优先级别控制流水灯电路图
【例4】 利用单片机外部中断实现遥控解码。具体功能:通过电视机遥控器向单片机系统板上的一体化红外线接收头发射红外遥控编码信号,由于一体化红外线接收头的输出端与单片机的外部中断0相连,从而触发单片机产生中断,单片机根据红外遥控信号的组成对功能码进行识别,并通过P1口的发光二极管显示该功能码。
单片机与一体化红外接收头HS0038的引脚连接如图4-7所示,单片机与发光二极管的连接可以参照本章之前案例中的硬件电路图,这里省略未画出。
图4-7 HS0038引脚连接图
系统分析如下:
遥控编码脉冲信号通常由引导码、系统码、系统反码、功能码和功能反码组成。引导码由宽度为9ms的高电平和宽度为4.5ms的低电平组成。8位的系统码又称为识别码,主要是为了区分不同的控制系统,防止误动作。8位功能码也称为数据码,其代表相应的控制功能。8位的系统反码和功能反码的加入是为了校对传输过程中产生的差错提高抗干扰性能,遥控编码脉冲信号组成如图4-8所示。
图4-8 遥控编码脉冲信号的组成图
当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。
解码的关键是如何识别“0”和“1”,采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。其串行码波形如图4-9所示。
图4-9 0和1的构成串行码波形图
从上图中可以发现,位“0”、“1”均以0.565ms的高电平开始,不同的是低电平的宽度不同,“0”为0.56ms,“1”为1.685ms,所以可以根据低电平的宽度区别“0”和“1”。如果从0.565ms高电平过后,开始延时,0.56ms以后,若读到的电平为高,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.125ms,否则如果该位为“0”,读到的已是下一位的低电平,因此一般取(1.125ms+0.56ms)/2≈0.84ms。
C51源程序如下:
相关问答
51 单片机 ,用按键实现 外部中断 ,软件如何去抖?定时中断里设置一个记录按下时间的static变量t按下按键则将t++(注意不要加到溢出)松开按键,检测tt定时中断里设置一个记录按下时间的static变量t按下...
51 单片机 的哪个口具有外 中断 的作用?基本型mcs51单片机有两个外部中断引脚,分别是P3.2和P3.3。现在以stc为代表的生产厂家研发出了多款扩展型的51单片机,以STC8A单片机为例,又增加了P3.6和P3.7...
51 单片机 有几个 外部中断 ?51单片机有两个外部中断。它们分别是0、外部中断1。分别由单片机的12号引脚(INT0/P3.2)、13号(INT1/P3.3)引脚的低电平/负跳变触发。中断是指计算机运行过程...
串行 中断方式 ?单片机中断能够及时响应外部触发事件,在中断函数中处理外部事件,处理完成之后退回到中断点。1、设置一个全局标志,触发中断之后在中断函数内把该标志设置为1...
51 单片机 有哪几个 中断源 ?各中断标志是如何产生的?当中断响应...51单片机有哪几个中断源?各中断标志是如何产生的?当中断响应后,中断标志是如何消除的?当CPU响应CPU讨论回答(5)串口定时器01外部中断0.1中断标志除串口中...
8051 单片机外部中断 ,有哪些激活 方式 ?有两种方式:下降沿触发方式和低电平触发方式80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是8048的延伸,改进了8048的缺点,增加了如乘(MUL)、...
89C51 单片机 的 中断 系统共有几个 中断 源?89C51单片机的中断系统共有5个中断源。这些中断源分别是外部中断0(INT0)和1(INT1),定时器/计数器0(T0)和1(T1)溢出中断以及串行通信口中断(RI/TI)。IN...89C5.....
单片机中断 机制有哪些?谢邀!对于单片机的中断分这么几类,从中断源分部布上可分外部中断和内部中断、硬件中断及软件中断,芯片的开发者已给各类芯片的中断都有赋予各自的向量地址入...
中断 源的 中断 标志是如何置位和复位?中断源的中断标志是通过硬件操作进行置位和复位的,当中断源发生中断时,硬件会自动将对应的中断标志置位。在处理中断时,处理器会将中断标志复位,以免重复中断...
单片机 51,两个 外部中断 不能同时使用,就是这个开了,另外一个打开,之前的不能用?同时有多个中断的话,就要考虑中断优先级的问题了。51单片机,默认的中断优先级是:外中断0>定时器0>外中断1>定时器1>串口由于低级中断不能打断高级...同时...