欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

51单片机之中断系统

程序员文章站 2022-06-09 15:09:43
...

2018/3/24

51单片机

说在前面

1.今天初步使用了一下怎么去焊接,什么锡丝,松香,铁架台,焊枪,洞洞板,还是得自己买一套琢磨

2.心疼我的电源模块一秒

1.51单片机的中断系统

1.在cpu在处理事件A的时候,发生了另外一件事B要求cpu紧急处理(中断发生),cpu转去实现b(中断响应和服务),处理完B之后返回处理A(中断返回)

2.让cpu实现中断的叫做中断源,cpu处理完中断源,返回原断点处,实现这一功能的叫中断系统

2.中断系统的优点

1.分时操作

2.实时响应

3.可靠性高

3.相关实现过程(重点:敲黑板啦)

中断响应条件

1.中断源有着中断请求

2.中断源的中断允许位为1

3.CPU开中断(EA=1)

顺序可变化

4.思路

想使用的中断是什么,选择中断号

需要什么样的触发条件(低点平or下降沿)

中断之后干嘛?编写中断服务函数实现功能

void int0()interrupt  0

{

>...<;

}


51单片机有5个中断源分别是:

  1、INT0——外部中断0,由P3.2端口引入,低电平或下降沿引起。默认优先级最高,中断号0

  2、INT1——外部中断1,由P3.3端口引入,低电平或下降沿引起。默认优先级第二,中断号1

  3、T0——定时器/计数器0中断,由T0计数器计满回零引起。默认优先级第三,中断号2

  4、T1——定时器/计数器1中断,由T1计数器计满回零引起。默认优先级第四

,中断号3

  5、TI/RI——串行口中断,串行端口完成一帧字符发送/接收后引起。默认中断优先级最低,中断号4

5.中断函数的特点

1.首先响应优先级别最高的

2.正在进行的中断函数不能被同级或低级所打断,但是可以被高级打断(但是51只有双层嵌套哇)

6.中断函数的简单使用

	//使用延时函数来实现外部中断
	#include<reg52.h>
	typedef unsigned int u16;
	typedef unsigned char u8;
	sbit led=P2^0;
	sbit k3=P3^2;
	//延时函数
	void delay(u16 i)
	{
		   while(i--);
	}
	//使用延时命令响应中断
	void INT0Init()
	{
		EA=1;//打开总中断开关
		EX0=1;//打开外部中断0
		IT0=1;//采用下降源触发模式(当电平由1变为0启动下降源)
	}
		void main()
		{
			INT0Init();
			while(1);
		}
		//编写中断函数(进入中断函数)
		void int0()interrupt 0
		{
			 delay(10000);//消抖
			 if(k3==0)
			 {
			 	led=~led;
			 }
		}

51单片机之中断系统51单片机之中断系统51单片机之中断系统

51单片机之中断系统