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

📄 intspassing.c

📁 T108 LCD屏的DEMO源代码!需要的就下吧
💻 C
字号:
#include <reg51.h>
#include "Common.h"
#include "Global.h"
#include "ICControl.h"
#include "Initial.h"
#include "TWICreg.h"
#include "Keypad.h"
#include "VideoDetect.h"
code uCHAR aKeyTable[16]={REMOTE_KEY_POWER,REMOTE_KEY_SOURCE,0,REMOTE_KEY_MENU,0,REMOTE_KEY_CH_INC,0,REMOTE_KEY_CH_DEC,
						  REMOTE_KEY_LEFT,0,REMOTE_KEY_RIGHT,0,0,0,0,0};

void INT0Passing(void) interrupt 0
{
	uCHAR INTRead1=0;
	uCHAR INTRead2=0;
EX0 = 0;    // Disable Externel Interrup 0	 
	
	INTRead1=IC_ReadByte(TWIC_P0,INTSTS_REG);  
	INTRead2=IC_ReadByte(TWIC_P0,INSTS2_REG);
	IC_WritByte(TWIC_P0,INTSTS_REG,0xFF); 	   //Clear interrupt
	IC_WritByte(TWIC_P0,INSTS2_REG,0x01);	   //Clear interrupt
	//Detect Ir
	if(INTRead1&0x80)	 //INTSTS 
	{
		m_cCurreKey=IC_ReadByte(TWIC_P1,IR_STREAM4);
					
	}						  
	//Detect Keypad	
	if(INTRead2&0x01)	 //INTSTS2					  
	{	
		INTRead2=IC_ReadByte(TWIC_P0,GPIO_OUT_CTRL_REG)&0x0F;		
		m_cCurreKey=aKeyTable[INTRead2];		  					
	} 	  

EX0 = 1;    // Enable Externel Interrup 0	  
}

void PoolingINT(void)
{
	uCHAR INTRead1=0;
	uCHAR INTRead2=0;
	INTRead1=IC_ReadByte(TWIC_P0,INTSTS_REG);  
	INTRead2=IC_ReadByte(TWIC_P0,INSTS2_REG);
	IC_WritByte(TWIC_P0,INTSTS_REG,0xFF); 	   //Clear interrupt
	IC_WritByte(TWIC_P0,INSTS2_REG,0x01);	   //Clear interrupt
	
		
	//Detect Ir
	if(INTRead1&0x80)	 //INTSTS 
	{
//		IC_WritByte(TWIC_P0,INTSTS_REG,0xFF); 	   //Clear interrupt
		//while(IC_ReadByte(TWIC_P0,INTSTS_REG)&0x80);
		if((IC_ReadByte(TWIC_P1,IR_STREAM_REG)&0x01)!=0)
			m_cCurreKey=0;
		else
			m_cCurreKey=IC_ReadByte(TWIC_P1,IR_STREAM4);   					
	}						  
	//Detect Keypad	
	if(INTRead2&0x01)	 //INTSTS2					  
	{	
		INTRead2=IC_ReadByte(TWIC_P0,GPIO_OUT_CTRL_REG)&0x0F;		
		m_cCurreKey=aKeyTable[INTRead2];		  					
	} 	
}

⌨️ 快捷键说明

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