概述
外部中断0(INT0)和外部中断1(INT1)均有两种触发方式:上升沿或下降沿均可触发方式和仅下降沿触发方式。
因为引脚的状态有0和1,0代表低电平,1代表高电平。从高电平变为低电平,这种电平突然下降的地方叫做下降沿;从低电平变为高电平,这种电平突然上升的地方叫做上升沿。
TCON中的IT0和IT1分别决定了INT0和INT1是哪种触发方式,如果ITx(x=0,1)=0,当系统在INTx(x=0,1)引脚检测到上升沿或下降沿均可触发外部中断;如果ITx(x=0,1)=1,当系统在INTx(x=0,1)引脚检测到下降沿时可触发外部中断。
以下是测试代码(效果为按下按键流水灯)
#include<STC15F2K60S2.H>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit led_sel=P2^3;
sbit key1=P3^2;
uchar led;
void Init()
{
P0M1=0x00;
P0M0=0xff;
P2M1=0x00;
P2M0=0xff;
EA=1; //打开总中断
EX0=1; //打开外部中断0
IT0=1; //设置为下降沿触发
led_sel=1;
}
void Delay10ms() //@11.0592MHz
{
unsigned char i, j;
i = 108;
j = 145;
do
{
while (--j);
} while (--i);
}
void main()
{
Init();
led=0x01;
while(1)
{
P0=led;
}
}
void ex0() interrupt 0
{
Delay10ms();
if(key1==0)
{
while(!key1);
if(led==0x80)
led=0x01;
else
led=led<<1;
}
}
(若有不足和错误,还请各位斧正)
最后
以上就是瘦瘦金针菇为你收集整理的中断系统的相关知识(五)(外部中断)的全部内容,希望文章能够帮你解决中断系统的相关知识(五)(外部中断)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复