📄 rm_all.lst
字号:
C51 COMPILER V7.07 RM_ALL 04/07/2004 10:37:37 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE RM_ALL
OBJECT MODULE PLACED IN RM_ALL.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE RM_ALL.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /******************************************************************************
2 #ifdef DOC
3 File Name :remocon.c
4 Description :Remocon code recieve
5 Remark :
6 Date :04/03/01
7 Copyright :Matsushita Electric Industrial Co.,ltd.
8 #endif
9 ******************************************************************************/
10 /************************************
11 include files
12 *************************************/
13 #include "reg52.h"
14 #include "struct.h"
15 #include "macrodef.h"
16 #include "remocon.h"
17
18 /***********************************
19 Macro define
20 ***********************************/
21 #define REMO_SYSCODE 0x00
22 /***********************************
23 variable declaration
24 ***********************************/
25
26
27 unsigned char rem_code; /* remote code receive */
28 REMO_FRAME remodata;
29
30 /*Flags remo_flags;
31 #define Frem_ok remo_flags.b_flag.f0
32 #define Fremin remo_flags.b_flag.f1
33 #define Fre_lead remo_flags.b_flag.f2
34 */
35 bit Frem_ok ;
36 bit Fremin ;
37 bit Fre_lead;
38
39 //unsigned long int rem_data_tmp; /* */
40 unsigned char re_modc; /* */
41 unsigned char re_lead_width; /* */
42 unsigned char re_with; /* */
43 unsigned char re_blnk; /* */
44 unsigned char re_loc; /* */
45 unsigned char re_data; /* */
46 unsigned char re_err; /* */
47 /*********************************************
48 prototype declarations
49 *********************************************/
50 void vRMC_remocon(void);
51 void rm_blk(void);
52
53 void irq0(void);
54 void getrem(void);
55 extern unsigned char ucIIC_EEP_read(unsigned int addr);
C51 COMPILER V7.07 RM_ALL 04/07/2004 10:37:37 PAGE 2
56 extern void vIIC_EEP_write(unsigned int addr, unsigned char regdata);
57
58
59 //#define USE_PANAX_REMOCON
60 #ifdef USE_PANAX_REMOCON
/*------------------------------------------------------------------*/
/* Remocon KEY Table */
/*------------------------------------------------------------------*/
const unsigned char re_key[ ][3] = {
/* Code Code_, Name */
{0x30, 0xCF, KEY_POWER }, /* 1 POWER */
{0x10, 0xEF, KEY_DISPLAY }, /* 2 DISPLAY */
{0x00, 0xFF, KEY_OPENCLS }, /* 3 OPEN/CLOSE */
{0xB0, 0x4F, KEY_TVSYSTEM }, /* 4 PAL/NTSC */
{0x90, 0x6F, KEY_KEY1 }, /* 5 1 */
{0xA0, 0x5F, KEY_KEY2 }, /* 6 2 */
{0x80, 0x7F, KEY_KEY3 }, /* 7 3 */
{0xD2, 0x2D, KEY_KEY4Y }, /* 8 4 */
{0xE2, 0x1D, KEY_KEY5 }, /* 9 5 */
{0xC2, 0x3D, KEY_KEY6 }, /* 10 6 */
{0x52, 0xAD, KEY_KEY7 }, /* 11 7 */
{0x62, 0x9D, KEY_KEY8 }, /* 12 8 */
{0x42, 0xBD, KEY_KEY9 }, /* 13 9 */
{0x92, 0x6D, KEY_KEY11 }, /* 14 10+ */
{0xA2, 0x5D, KEY_KEY00 }, /* 15 0 */
{0xF2, 0x0D, KEY_ANGLE }, /* 16 ANGLE */
{0x72, 0x8D, KEY_SUBTITLE }, /* 17 SUBTITLE */
{0xB2, 0x4D, KEY_PLAYMODE }, /* 18 LANGUAGE */
{0x82, 0x7D, KEY_CLEAR }, /* 19 CLEAR */
{0x32, 0xCD, KEY_MUTE }, /* 20 MUTE */
{0x12, 0xED, KEY_3D }, /* 21 3D */
{0x22, 0xD4, KEY_SEARCH }, /* 22 SEARCH */
{0x02, 0xFD, KEY_ZOOM }, /* 23 ZOOM */
{0xF0, 0x0F, KEY_MENU }, /* 24 MENU */
{0xC0, 0x3F, KEY_TOPTITIL }, /* 25 TITLE */
{0xE0, 0x1F, KEY_UP }, /* 26 UP */
{0xD0, 0x2F, KEY_DOWN }, /* 27 DOWN */
{0x70, 0x8F, KEY_LEFT }, /* 28 LEFT */
{0x50, 0xAF, KEY_RIGHT }, /* 29 RIGHT */
{0x60, 0x9F, KEY_ENTER }, /* 30 OK */
{0xF8, 0x07, KEY_SETUP }, /* 31 SETUP */
{0xC8, 0x37, KEY_PCB }, /* 32 PBC */
{0x3A, 0xC5, KEY_SPEAK }, /* 33 TSM */
{0x1A, 0xE5, KEY_INTERLACE }, /* 34 INTERLACE */
{0x2A, 0xD5, KEY_VOLUMEMNS }, /* 35 VOLUME - */
{0x0A, 0xF5, KEY_VOLUMEPLS }, /* 36 VOLUME + */
{0xBA, 0x45, KEY_DIGEST }, /* 37 DIGEST */
{0x9A, 0x65, KEY_KALAOKE }, /* 38 KALAOKE */
{0xAA, 0x55, KEY_AUDIO }, /* 39 AUDIO */
{0x8A, 0x75, KEY_RETURN }, /* 40 RETURN */
{0x7A, 0x85, KEY_ABREP }, /* 41 A-B */
{0x5A, 0xA5, KEY_REPEAT }, /* 42 REPEAT */
{0x6A, 0x95, KEY_MARK }, /* 43 MARK */
{0x4A, 0xB5, KEY_IMAGE }, /* 44 VIDEO ADJUST*/
{0xFA, 0x05, KEY_BWDSKIP }, /* 45 PREVIOUS */
{0xFA, 0x35, KEY_FWDSKIP }, /* 46 NEXT */
{0xEA, 0x15, KEY_BWDSEARCH }, /* 47 B.WD */
{0xCA, 0x35, KEY_FWDSEARCH }, /* 48 F.WD */
{0x38, 0xC7, KEY_STOP }, /* 49 STOP */
{0x18, 0xE7, NO_KEY }, /* 50 X */
{0x28, 0xD7, KEY_PAUSE }, /* 51 PAUSE/STEP */
{0x08, 0xF7, KEY_PLAY } /* 52 PLAY */
C51 COMPILER V7.07 RM_ALL 04/07/2004 10:37:37 PAGE 3
};
#endif
121
122 void dummy(void)
123 {}
124
125 void vRMC_remocon(void)
126 {
127 1 /*REM_FRAME now_remodata=remodata;*/
128 1 unsigned char tmp1,tmp2,tmp3,tmp4;
129 1 if (!Frem_ok)
130 1 {
131 2 goto ERR; /* receive not finish ,then return*/
132 2 }
133 1 /*receive 1 frame ok , process and reset the flag*/
134 1 Frem_ok = 0;
135 1 tmp1=remodata.rem_format.verify.low;
136 1 tmp2=remodata.rem_format.verify.high;
137 1 tmp3=remodata.rem_format.data_pos;
138 1 tmp4=~remodata.rem_format.data_neg;
139 1 if((tmp3==tmp4)&&(tmp1==tmp2)) /* check the recieved data is correct or not */
140 1 {
141 2
142 2 {rem_code=remodata.rem_format.data_pos;} /* get the remocon code in the frame */
143 2
144 2 }
145 1
146 1 ERR:
147 1 /*rm_err();*/
148 1 dummy();
149 1 }
150
151
152
153
154
155
156
157
158 void getrem(void) /*do in every timer0 irq */
159 {
160 1 switch(re_modc)
161 1 {case 0:
162 2 if (Fremin) /* if irq0 occured */
163 2 {
164 3 Fremin = 0; /* Clear IRQO Flag */
165 3 if(Fre_lead==0) /*re_lead_width==0 means is the lead start*/
166 3 { Fre_lead=1 ; break;}
167 3 if(Fre_lead==1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -