⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iintrrupt.c

📁 Interrup rutin for 8051
💻 C
字号:
#include <REG52.H>
#include<stdio.h>

/*=============================================================================
=============================================================================*/
unsigned int ex0_isr_counter = 0,final_count = 0;

void ex0_isr (void) interrupt 0
{
final_count++;   // Increment the count
}

/*=============================================================================
=============================================================================*/
void InitUART()
	{
	SCON  = 0x50;
//	TMOD = TMOD &0x0F; 
	TMOD  = 0x21;
	TH1   = 0xFA;
	TR1   = 1;
	TI    = 1;
	PCON |= 0x80;
	}

void Delay_1s()
	{
	TMOD = 0x51;
 	TH0=0x4c;
	TL0=0x00;
	TR0=1;
	while(!TF0);
	TF0 =0;
	}

void main (void)
{
unsigned char i;
/*-----------------------------------------------
Configure INT0 (external interrupt 0) to generate
an interrupt on the falling-edge of /INT0 (P3.2).
Enable the EX0 interrupt and then enable the
global interrupt flag.
-----------------------------------------------*/
IT0 = 1;   // Configure interrupt 0 for falling edge on /INT0 (P3.2)
EX0 = 1;   // Enable EX0 Interrupt
EA = 1;    // Enable Global Interrupt Flag

/*-----------------------------------------------
Wait forever.
-----------------------------------------------*/
while (1)
  {
  for(i=0;i<200;i++)
  {
  Delay_1s();
  }
  TR0 = 0;

  InitUART();
  printf("count = %u\n", final_count);
  final_count = 0;	
  }
}

/*=============================================================================
=============================================================================*/

⌨️ 快捷键说明

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