int_2.c

来自「16个单片机c语言实验程序」· C语言 代码 · 共 46 行

C
46
字号
//外部中断程序
//使用外部中断INT2
//按键9,0,a,b输入,led显示
#include <iom16v.h>  
#pragma interrupt_handler ext_int2_isr:19 
 //指定外部中断函数
#define uint unsigned int 
#define uchar unsigned char 


s_ms(uint ms)
{
for(;ms>1;ms--);
}

unsigned char i=1;
// External Interrupt 0 service routine
void ext_int2_isr(void)
{
  uchar aa=1;
  PORTD=~i++;
  while(aa)       //判断端口是否恢复高电平,有延时抗干扰
  {
  aa=!(PINB&(1<<2));
  if(aa==0)
    {
	s_ms(15000);
	aa=!(PINB&(1<<2));
	}
  }
}


void main(void)
{
DDRD=0xff;
PORTD=0XFF;
DDRB=0xf0;
PORTB=0x0f;

SREG=0x80;    //开全局中断

GICR=0x20;   //开外部中断int_2,对应按键K9,K0,KA,KB
while (1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?