博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51 中断系统 外部中断0 外部中断1
阅读量:4221 次
发布时间:2019-05-26

本文共 1651 字,大约阅读时间需要 5 分钟。

51单片机的中断系统结构

中断允许控制

CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。

EX0(IE.0),外部中断0允许位;

ET0(IE.1),定时/计数器T0中断允许位;

EX1(IE.2),外部中断0允许位;

ET1(IE.3),定时/计数器T1中断允许位;

ES(IE.4),串行口中断允许位;

EA (IE.7), CPU中断允许(总允许)位。

中断请求标志

1、TCON的中断标志

IT0(TCON.0),外部中断0触发方式控制位。

        当IT0=0时,为电平触发方式。

        当IT0=1时,为边沿触发方式(下降沿有效)。

IE0(TCON.1),外部中断0中断请求标志位。

IT1(TCON.2),外部中断1触发方式控制位。

IE1(TCON.3),外部中断1中断请求标志位。

TF0(TCON.5),定时/计数器T0溢出中断请求标志位。

TF1(TCON.7),定时/计数器T1溢出中断请求标志位。      

 

中断源

 

中断响应条件

 中断源有中断请求;

n此中断源的中断允许位为1;

 CPU开中断(即EA=1)。

以上三条同时满足时,CPU才有可能响应中断

 

 

 

#include "reg51.h"   #include "intrins.h"typedef unsigned char u8;typedef unsigned int u16;sbit k1=P3^3;	 sbit led=P2^0;	void delay(u16 i){	while (i--);} //外部中断0条件void Int0Init(){	IT0 = 1;	//设置外部中断的触发方式为下降沿触发。	EX0 = 1;	//开启外部中断0	EA = 1;		//中断总开关}//外部中断1条件void Int1Init(){	IT1 = 1;	//设置外部中断1的触发方式为下降沿触发。	EX1 = 1;	//开启外部中断1	EA = 1;		//中断总开关}void main(){	Int1Init();	while(1);}void Int0()	   interrupt 0{	  delay(1000);	  if(k1 == 0)	  {	  	led= ~led;	  }}void Int1()	   interrupt 2{	  delay(1000);	  if(k1 == 0)	  {	  	led= ~led;	  }}

 

proteus 8 电路原理图,k3接p32,k4接p33。p32默认高电平,按下k3后,电平拉低,产生下降沿,触发中断0。同样k4按下,触发为中断1。

 

#include "reg51.h"   #include "intrins.h"typedef unsigned char u8;typedef unsigned int u16;sbit k3=P3^2;sbit k4=P3^3;	 sbit led=P2^0;	void delay(u16 i){	while (i--);} //外部中断0条件void Int0Init(){	IT0 = 1;	//设置外部中断的触发方式为下降沿触发。	EX0 = 1;	//开启外部中断0	EA = 1;		//中断总开关}//外部中断1条件void Int1Init(){	IT1 = 1;	//设置外部中断1的触发方式为下降沿触发。	EX1 = 1;	//开启外部中断1	EA = 1;		//中断总开关}void main(){	Int0Init();	while(1);}void Int0()	   interrupt 0{	  delay(1000);	  if(k3 == 0)	  {	  	led= ~led;	  }}void Int1()	   interrupt 2{	  delay(1000);	  if(k4 == 0)	  {	  	led= ~led;	  }}

 

转载地址:http://szgmi.baihongyu.com/

你可能感兴趣的文章
修改代码150万行!Apache Flink 1.9.0做了这些重大修改!(附链接)
查看>>
2019研究生新生大数据出炉!清华园迎来8900多名新主人
查看>>
在刚刚结束的ACL 2019上,知识图谱领域都发生了哪些大事?
查看>>
GitHub 上有什么好玩的项目?(附地址)
查看>>
独家|使用Python进行机器学习的假设检验(附链接&代码)
查看>>
跨学科整合,打造大数据最强集团军:清华大学大数据能力提升项目宣讲会来了!...
查看>>
报名 | 智进未来:AI在医疗健康领域的应用、挑战及发展趋势
查看>>
10行代码带你搞定目标检测(附代码)
查看>>
包教包会!7段代码带你玩转Python条件语句(附代码)
查看>>
数据分析必备:掌握这个R语言基础包1%的功能让你事半功倍!(附代码)
查看>>
近期活动盘点:智进未来:AI在医疗健康领域的应用、挑战及发展趋势
查看>>
158行Python代码复现:DeepMind提图像生成的递归神经网络DRAW
查看>>
报名 | AI TIME 6 论道机器翻译——离我们还有多远?
查看>>
清华发布新版计算机学科推荐学术会议和期刊列表,与CCF有何不同?(附链接)...
查看>>
报名 | 2019清华大数据系统软件峰会
查看>>
清华90后女学霸范楚楚将加入MIT任助理教授,面试宝典分享!
查看>>
数据蒋堂 | 数据压缩手段
查看>>
ACL 2019 | 理解 BERT 每一层都学到了什么
查看>>
近期活动盘点:2019清华大数据系统软件峰会(9.15)
查看>>
看!清华网红自行车成精了:拥有“类人脑芯片”,可无人驾驶!
查看>>