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

📄 main-1.c

📁 RM0038红外传感器接收电视机摇控的源码
💻 C
字号:
#include "Stdafx.h"
#include "Serial.h"

long count = 0;

int Counts = 0;
uchar uSendCount = 0;
//下面是外部中断INT0的中断服务程序
void Int0IrqHandler (void) interrupt 0 {

	EX0 = 0;
     Counts++;   //结果只是简单地增加计数值
	  delay(20);
	  if(P3_2 == 0)
	  {
			P1_0 = 0;
			uSendCount = (uchar)count;
			count = 0;
		}
	EX0 = 1;
  
}

  void   main()   
  {
  
 //Init
/*	TMOD = 0x1; //定时器T0模式1
	TL0  = 0x0f;//定时初值
	TH0  = 0x00;
	TR0  = 1;   //开始运行
	ET0  = 1;   //允许定时器T0中断*/
	//P2_5 = 0;

	T2CON=0x04;
   T2MOD=0x00;
 	TH2=0x3C;
  	TL2=0xB0;
   RCAP2H=0x3C;
   RCAP2L=0xB0;
   TR2=1;
   ET2=1;


  InitCom(8);
  EA = 1;

	//EA = 0;
	//TR0 = 0;
	//TH0 = 0xF8;
	//TL0 = 0xCC;
	//TL0 = 0x41;
	//TH0 = 0xFE;
//	TR0 = 1;
//	EA = 1;	

   IT0 = 1;            // 设置中断触发方式为下降沿触发
   EX0=1;              // 允许外部中断INT0

	P0 = 0x0F;
	//P1 = 0;
	while(1)
	{
		if(uSendCount)
		{
			Send(uSendCount);
			uSendCount = 0;
		}
		P1_0 = 1;
		/*P2_5 = P3_2;
		if(P3_2)
			P1 = 0xFF;
		else P1 = 0x00;*/
		while(SerialCheck())
		{
			Send(Getbyte());
		}
		//Send('A');
		//P2_5 = 0;
		//delay(60000);
		//P2_5 = 1;
		//delay(60000);
		//delay(600);
	}
}


#define led P1_1
void timer2 (void) interrupt 5
{
	TR2 = 0;
	
	TL2 = 0xA3;
	 TH2 = 0x1F;	 
	 count ++;
	 TR2 = 1;
}


⌨️ 快捷键说明

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