51单片机 - 中断系统

22 篇文章 9 订阅
订阅专栏

1> 定义

1

中断(interrupt)是指:
CPU执行某一程序过程中,由于系统内,或外部某种原因,
必须中止原程序的执行,
转去执行相应的处理程序,
处理结束后,再回来继续执行原程序的【过程】


2> 作用

解决CPU与外设之间速度匹配问题,使计算机可以及时处理系统中许多随机的参数和信息;

3> 组成


3.1> 中断系统结构

3


3.2> 8个中断源

1

4种中断控制:硬件实现,软件设置;
1》中断触发方式;
2》中断允许控制;
3》中断请求标志;
4》中断优先级控制;


3.3> 中断向量

中断向量(Interrupt Vector):是程序存储器的一个地址,表明一个中断服务程序从这里开始存放。
中断发生后要通过它引导CUP转【向】相应的中断服务
正因为具有【指定性】,所以称其为中断向量。

3.3


3.4> 中断优先级

中断原则:
只有【高】优先级中断 打断【低】优先级;

硬件设计,同级中断优先级:
0> 外部中断 0;
1> 定时器0中断;
2> 外部中断1;
3> 定时器1中断;
4> 串口中断;
5> 定时器2中断;
6> 外部中断2;
7> 外部中断3;


4> 工作原理

4

CPU中断响应过程,以外部中断0(INT0#)为例:

Step 1> CPU每个机器周期对芯片引脚P3.2(INT0)采样;
Step 2> CPU根据采样结果设置中断标志位(IE0);
Step 3> CPU中断查询,CPU逐个检测中断标志位;
Step 4> 中断响应,程序计数器PC的值压栈;
Step 5> 外部中断入口地址(0003H)装入程序计数器PC,执行中断服务服务程序,此时中断标志位硬件清0;
Step 6> 中断返回,将PC值从栈中取出,执行主程序;

  • 内部中断不需要 Step 1> 对引脚采用;

5> 程序设计

硬件平台:普中-A7开发板, STC89C516R
功能实现:
主程序中,数码管循环显示0~F;
用外部中断0,实现按键1按下的下降沿,LED1状态翻转;
用外部中断1,实现按键2按下的下降沿,LED2状态翻转,并能打断中断0服务程序;

#include <reg52.h>

typedef unsigned char	uchar;
typedef unsigned short	ushort;
/* byte device */
#define NUM_PORT P0

/* bit Device */
sbit KEY1 = P3^2;
sbit KEY2 = P3^3;

sbit LED1 = P2^0;
sbit LED2 = P2^1;

sfr IPH = 0xB7;  // Interrupt Priority High



unsigned char DS_code[16] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99,
							 0x92, 0x82, 0xF8, 0x80, 0x90,
							 0x88, 0x83, 0xa7, 0xa1, 0x86,
							 0x8E };


void digit_ctrl(uchar num);
void delay_10us(ushort num);

/**
 *  main
 */

int main(void)
{

	uchar i = 0;
	
	/* initialize INT0# */
	IT0 = 1; 		// set falling edge;;
	IPH = 0x01;		// set Priority High bit 1;
	PX0 = 0;		// set Priority Low bit 1; 
	EX0 = 1; 		// Enable INT0#;


	/* initialize INT1# */
	IT1 = 1;		// Set falling edge;
	IPH = 0x05;		// set priority High bit 1;
	PX1 = 1;		// set priority Low bit 0;
	EX1 = 1;		// Enable INT1 #;

	EA  = 1;		// Enable global interrupt;	 

	while (1) {		
		for (i= 0; i<16; i++) {
			digit_ctrl(i);
			delay_10us(60000);
		}
	}

}

/** 
 *  INT0# interrupt handle
 */

void Int0_handle(void) interrupt 0
{
	
	uchar i = 0;

	for (i = 0; i < 10; i++){
		delay_10us(65535); // kidding
		LED1 = ~LED1;
	}
}

/**
 * INT1# interrupt handle
 */
void Int1_handle(void) interrupt 2
{
	LED2 = ~LED2;	/* 快速按KEY2,观察中断现象  */

}


void delay_10us(unsigned short num)
{
	while (num--) {
		/* nothing */;
	}

}

/**
 * Ctrl digit number 
 */
void digit_ctrl(uchar num)
{

	NUM_PORT = DS_code[num];

}

// file end

假如你是CPU,
那么数码管循环显示,好比是你在看电影,
外部中断0或1,好比是快递到了,要去楼下拿,
所以中断要尽量短,才不会影响你看电影;


6> 视频链接

🔗B站视频链接

51单片机中断(重要)
qianrushixixi的博客
03-20 1485
中断基本知识,中断允许寄存器,IE中断优先级寄存器IP,中断函数,两种中断1外部中断,计时器相关寄存器TCON,两种中断2定时器,计时器相关寄存器TMOD,定时器时间设置原理,定时器代码示例
单片机(3)
weixin_30737363的博客
05-28 565
8x8LED P0口控制列,p3^6,p3^5,p3^4控制行。 中断系统 中断的概念   CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。      引起CPU中断的根...
基于51单片机的定时器程序
06-15
基于51单片机的定时器程序
51单片机中断系统
最新发布
2401_86400220的博客
09-03 616
中断允许控制CPU对中断系统的所有中断以及某个中断源的开发和屏蔽是由中断允许寄存器IE控制的。中断请求标志的中断标志。
51单片机中断系统
qq_43627100的博客
04-25 4012
CPU 执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对异常情况或特殊请求进行处理,处理完毕后再返回现行程序断点处,继续执行原程序。void 函数名(void) interrupt n using m {中断函数内容 //尽量精简 }编译器会把该函数转化为中断函数,表示中断源编号为n,中断源对应一个中断入口地址,而中断入口地址的内容为跳转指令,转入本函数。using m用于指定本函数内部使用的工作寄存器组,m取值为0~3。该修饰符可省略,由编译器自动分配。
51单片机中断系统详解
u011555996的博客
07-09 1782
51系列单片机的中断源包括:两个外部中断源、两个定时器/计数器中断源和一个串行通信口中断源,如果它们向 CPU 发出中断请求信号,CPU 就会产生中断,停止执行当前的程序,转而去执行指定的程序(又称中断服务程序或中断子程序),执行完后又返回来执行原来的程序。将生活事例与单片机中断结合分析,主任务是洗衣服,水开报警是一个中断请求,这一时刻相当于断点处,响应中断去关火,然后将开水灌入暖水瓶中,这一动作实际上是处理中断程序,灌完开水后再回去继续洗衣服,相当于处理完中断程序后再返回主程序继续执行主程序。
51单片机中断
m0_54644067的博客
05-21 6334
文章目录第六章 单片机的中断系统6.1 中断系统简介6.2 中断系统的控制1. 定时器/计数器控制寄存器TCON2. 中断允许寄存器IE3. 中断优先级寄存器IP6.3 中断系统的编程1. 中断函数2. 编程的具体流程 第六章 单片机的中断系统 6.1 中断系统简介 当cpu在执行某一程序过程中,在突发事件的请求下,cpu中断当前正在执行的程序,自动转去执行为处理该事件而预先编写的程序服务;当服务程序执行完后,cpu继续执行原来的程序。这一过程称为中断。 8051单片机提供5个中断源,包括两个外部中断源IN
51单片机——中断
butnotif的博客
12-30 2893
51单片机——中断
STC51单片机-中断控制LED-物联网应用系统设计项目开发
06-13
在本项目中,我们将深入探讨如何使用STC51单片机进行中断控制LED,并将其应用于物联网(IoT)系统的设计。STC51系列单片机是8051微控制器的一种,以其低功耗、高性价比和丰富的内置功能在嵌入式系统设计中广泛应用。...
51单片机-定时器中断
06-24
3. **中断向量**:51单片机中断系统中断向量表管理,每个中断源都有一个固定的中断向量地址,存储中断服务程序的入口地址。定时器1的中断向量地址是0x001B,中断服务程序应放置在这个地址开始的地方。 4. **...
51单片机--中断控制数码管多态显示代码
12-23
51单片机中断系统51单片机中断系统允许它在执行主程序的同时响应外部或内部的突发事件。中断源包括定时器溢出、串行通信、外部中断等。当一个中断发生时,CPU会暂停当前任务,保存现场(即当前的寄存器值),...
C51单片机 项目4-单片机的中断系统 (仿真文件+程序包)
05-24
C51单片机 项目4-单片机的中断系统 (仿真文件+程序包)C51单片机 项目4-单片机的中断系统 (仿真文件+程序包)C51单片机 项目4-单片机的中断系统 (仿真文件+程序包)C51单片机 项目4-单片机的中断系统 (仿真文件+...
51单片机-外部中断实验
06-24
51单片机——外部中断 51单片机——外部中断 51单片机——外部中断 实现一个简单的外部中断实验。程序的主要功能是:当按下连接到P3.2端口的按键时,P1.0端口的LED灯亮起,数码管停止变化;当松开按键时,LED灯熄灭...
51单片机-(中断系统
好乐无荒之地
02-27 2718
了解51单片机中断系统中断源、中断响应条件和优先级等,通过外部中断0实现按键控制LED亮灭为例理解中断工作原理和编程实现过程。
51之中断
williamgavin的博客
09-19 1324
/****************************** 51单片机中断系统。 选用的单片机型号是:HC6800-ES V2.0 *****************************/ 一、中断的概念 CPU在处理某一事件A时, 发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前工作, 转去助理处理事件B(中断响应和中断服务); 待CPU将事
51 单片机中断
xiebs的博客
02-19 514
中断源: EA = 1; //开总中断 ET0 = 1; //开定时器中断 TR0 = 1; //开定时器0 51单片机的定时器不准,但是串口很准。 #include <REGX52.H> #include "intrins.h" #include "delay.h" unsigned char m_t0; unsigned char key_tim20ms_flag; #define LED0 P2_0 #define KEY3 P
51单片机中断
weixin_46364710的博客
08-27 9439
1.原理: 1.中断:当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求, 要求 CPU 暂停当前的工作,转而去处理这个紧急事件,处理完以后, 再回到原来被中 断的地方,继续原来的工作,这样的过程称为中断。 2.51单片机中断源:外部中断0、定时计数器中断0、外部中断1、定时计数器中断1、串口中断。 3.与中断相关的寄存器:IE(中断允许控制寄存器)、TCON(控制寄存器)、IP(中断优先级控制寄存器) SCON(串行口控制寄存器)、TMOD(定时器/计数器模
关于51单片机中断
quaer的博客
03-11 579
1.中断源有中断请求(Ask for instructions of the CPU interrupt request source called interrupt source.)2.此中断源的中断允许位为1.(The interrupt source interruption allows a 1.)3.CPU打开中断.(The CPU opens interrupt)例子:配置外部中断0.IT0=0/1;//设置外部中断的触发模式是电平触发还是下降沿触发EX0=1;//打开外部中断0。
写文章

热门文章

  • 示波器_使用手册 13027
  • FX3U_硬件接线 11804
  • Keil-5_快捷键 7493
  • Keil-5_使用手册 7380
  • 电池容量单位 6675

分类专栏

  • STM32F1-外设驱动 18篇
  • STM32F4-外设驱动 34篇
  • 51单片机-外设驱动 22篇
  • 51单片机-毕业设计 4篇
  • C语言 18篇
  • 工具使用 10篇
  • 工业自动化 3篇
  • 1》PLC 15篇
  • 2》HMI
  • 3》ST语言 6篇
  • 硬件设计 14篇
  • PCB设计 12篇
  • BaLu 2篇
  • English 3篇
  • 1》英语语法 95篇
  • 2》英语口语 2篇
  • 3》英语写作 2篇
  • 数学 & 物理 3篇
  • Basketball 8篇
  • Style 9篇

最新评论

  • 51单片机 - 自写操作系统

    qq_24158561: 请问各个任务内部局部变量怎么保存到栈和出栈?每个任务的现场保存和恢复不止sp

  • 51单片机 - 步进电机28BYJ-48

    saintlior: 毕业论文

  • 51单片机 - 步进电机28BYJ-48

    saintlior: 您好,3.2的那张图可以使用吗,放在论文里

  • 51单片机 - LCD12864

    橡木工作室: HHH

  • ASCII码-对照表

    普通网友: 这篇文章真是一篇佳作!作者运用了生动有趣的语言,将枯燥的理论知识娓娓道来,让人如沐春风。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

大家在看

  • 蓝易云 - 在虚拟机Docker环境下部署Nginx的步骤。 371
  • 蓝易云 - Java编程技巧:<where>和<if>标签的组合使用示例 146

最新文章

  • STM32F1 - FSMC控制LCD
  • STM32F1 - SPI读写Flash
  • STM32F1 - I2C读写EEPROM
2024年23篇
2023年22篇
2022年140篇
2021年70篇
2020年35篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家福建季节性商场美陈怎么样商场美陈公仔雕塑零售罗马柱玻璃钢雕塑扬州玻璃钢人物雕塑优惠廊坊玻璃钢雕塑大城县商场美陈张家界景区玻璃钢雕塑定做江苏超市商场美陈销售企业甘南大型玻璃钢雕塑设计有什么好的商场美陈网站寿光玻璃钢仿铜农耕人物雕塑上海商场美陈有哪些玻璃钢花盆雕塑设计价格艺术商场美陈市场报价玻璃钢仿铜狮子雕塑曲阳玻璃钢彩绘雕塑玻璃钢花盆组合专卖店玻璃钢仿真型十二生肖雕塑动物玻璃钢雕塑工艺品阜阳园林玻璃钢雕塑生产厂家南阳发光玻璃钢雕塑加工定制日照人物玻璃钢雕塑安装北京玻璃钢花盆怎么样大型玻璃钢雕塑销售金华玻璃钢广场雕塑玻璃钢花盆花器经销商南汇玻璃钢雕塑工程郴州市玻璃钢雕塑五华区玻璃钢雕塑加工哪家好江西商场美陈报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化