51单片机之中断使用
程序员文章站
2022-06-09 15:45:14
...
#include <reg52.h>
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
P1=0x0f; //P1指示灯引脚
EX1=1; //外部中断0允许位
EA=1; //打开全局中断
IT1=0; //设置外部中断方式 0:低电平触发方式 1:负跳变触发方式
while(1);
}
void low() interrupt 0
{
P1=~P1;
delay(200);
}
1.关于P1八位流水灯引脚,引脚有一个上拉的5V电源,所以程序写时P1的八位,为1时灯不亮,为0时灯亮,电路图如下
2. 关于IT1=0/1中断方式:
IT0表示INT0的中断方式,INT1表示INT1的中断方式
当INT1=0时:低电平触发方式,意思是给INT0的引脚一个低电平的电压,中断变一直触发,实验时,接通GND,则指示灯不停闪亮,不停触发中断
当INT1=1时,负跳变触发方式,表示一个低电平电压触发一次,实验时接通一次GND,指示灯亮一次
3.实验时将INT0/INT1的引脚接通按键所测试,按键的电路图如下
主电路图如下 :