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

📄 ir.h

📁 使用于克隆器
💻 H
字号:
/******************************************************************************
 Copyright (c) 2003 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: Ir.h
 [Date]:        04-Feb-2004
 [Comment]:
   Remote control header file.
 [Reversion History]:
*******************************************************************************/

#include "define.h"
#include "mcu.h"

#include "isr.h"

#ifndef _IR_H
#define _IR_H

#ifdef _IR_C_
#define _IRDEC_
#else
#define _IRDEC_ extern
#endif

///////////////////////
// IR Option
///////////////////////
//#define IR_DEBUG_EN
#define IR_CODE_DEBUG_EN  1
#if (IR_CODE_DEBUG_EN)
_IRDEC_ bit g_bIR_DebugCustomerCode0_OK;
_IRDEC_ bit g_bIR_DebugCustomerCode1_OK;
_IRDEC_ bit g_bIR_DebugData_OK;
_IRDEC_ XDATA BYTE g_ucIRDebugCode0;
_IRDEC_ XDATA BYTE g_ucIRDebugCode1;
_IRDEC_ XDATA BYTE g_ucIRDebugData;

#define IR_DebugCustomerCode0_OKFlag  (g_bIR_DebugCustomerCode0_OK)
#define IR_DebugCustomerCode1_OKFlag  (g_bIR_DebugCustomerCode1_OK)
#define IR_DebugData_OKFlag           (g_bIR_DebugData_OK)

#define Set_IR_DebugCustomerCode0_OKFlag()  (g_bIR_DebugCustomerCode0_OK=1)
#define Clr_IR_DebugCustomerCode0_OKFlag()  (g_bIR_DebugCustomerCode0_OK=0)

#define Set_IR_DebugCustomerCode1_OKFlag()  (g_bIR_DebugCustomerCode1_OK=1)
#define Clr_IR_DebugCustomerCode1_OKFlag()  (g_bIR_DebugCustomerCode1_OK=0)

#define Set_IR_DebugData_OKFlag()  (g_bIR_DebugData_OK=1)
#define Clr_IR_DebugData_OKFlag()  (g_bIR_DebugData_OK=0)

_IRDEC_ void irDebugHandler(void);
#endif

//////////////////////////////////////
// Definition
//////////////////////////////////////
#define pinIr    P3_2

//////////////////////////////////////
//   IR Header Code
//////////////////////////////////////
#if (IR_TYPE==IR_RC5)

#elif (IR_TYPE==IR_NEC)
  #if (IR_NEC_TL10S)
    #define IR_HEADER_CODE0  0x03
    #define IR_HEADER_CODE1  0xFC
  #else
    #define IR_HEADER_CODE0  0x00
    #define IR_HEADER_CODE1  0x7B
  #endif
#elif (IR_TYPE==IR_TOSHIBA)
#define IR_HEADER_CODE0  0x18
#define IR_HEADER_CODE1  0x18
#endif

//////////////////////////////////////
//    IR command delay time
//////////////////////////////////////
#define IR_OVERFLOW  0xFF
#define IR_DELAY_TIME 10
#define IR_RELEASE_TIME  8

//////////////////////////////////////////////////////////////////
// Variables
//////////////////////////////////////////////////////////////////
// IR recieve action
_IRDEC_ bit g_bIrDetect;  // IR command detect flag
_IRDEC_ bit g_bKeyDetect;
_IRDEC_ bit g_bIrRepeat;  // IR command repeat flag
//_IRDEC_ bit g_bIrPower;  // IR command repeat flag

_IRDEC_ BYTE g_ucIrCode; // IR code
_IRDEC_ BYTE g_ucIrCustem; // IR Custem
_IRDEC_ BYTE g_ucIrClocker;// IR Clocer
_IRDEC_ BYTE g_ucIrReleaseCounter;// IR Release

_IRDEC_ WORD g_ucKeyReleaseCounter;// IR Release
_IRDEC_ BYTE g_ucIrRepeatCounter;// IR Repeact
_IRDEC_ XDATA BYTE g_ucIrOkCounter;

//////////////////////////////////////
// Subroutines
//////////////////////////////////////
_IRDEC_ void irInterruptProcess(BYTE ucHeaderCode0, BYTE ucHeaderCode1);
_IRDEC_ void irDetectTimer0(void);
_IRDEC_ void irPolling(void);
_IRDEC_ void irSendIRTODVD(void);
_IRDEC_ void irDecodeRepeat(BYTE ucRepeatTime);

#endif

⌨️ 快捷键说明

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