📄 ti's 8050i's case.lst
字号:
C51 COMPILER V7.01 TI_S_8050I_S_CASE 09/19/2005 15:17:33 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE TI_S_8050I_S_CASE
OBJECT MODULE PLACED IN Ti's 8050I's case.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Ti's 8050I's case.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*
2 //*************************************************************************
3 //
4 // M X I C(ShenZhen) P R O P R I E T A R Y
5 //
6 // COPYRIGHT (c) 2005 BY MXIC SHENZHEN.
7 // -- ALL RIGHTS RESERVED --
8 //
9 // File Name: Ti's 8050I Case.C
10 // Created: 29 Aug.05 by AndyHu
11 // Modified:
12 // Revision: 1.0
13 //
14 //*************************************************************************
15 //
16 //
17 //*************************************************************************
18 */
19 #include <stdio.h>
20 #include "mxREG52.h"
21 #include "i2cm.h"
22 #include "Define.h"
23 #include "Mxic_IR.h"
24
25
26 #define SLA_R 0xD8;
27 #define SLA_W 0xD9;
28 #define power 0x7E;
29 #define volumn_left 0x7D;
30 #define volumn_right 0x7B;
31 #define program_left 0x77;
32 #define program_right 0x6F;
33 #define menu 0x5F;
34 #define source_in 0x3F;
35
36 //sbit power_on_key = P2^6;
37 unsigned char event_key_press;
38 unsigned char Power_on_key_pressed;
39 unsigned char power_on_flag;
40 unsigned char click;
41 unsigned char Power_status;
42 unsigned char Power_status_handle;
43 unsigned char IR_receive_flag;
44 unsigned char MxicIrBitsb1IrOn;
45 unsigned char MxicIrBitsb1GetIrFlame;
46 unsigned char MxicIrBitsb1GetIrRepeatCode;
47 unsigned char MxicIrBitsb1GetIrCommand;
48 extern unsigned char num;
49 extern unsigned char idata SDATA[10];
50 extern unsigned char idata FReceive_Done;
51 extern unsigned char data keydata;
52 extern unsigned char data RTCDATA[4];
53 sbit Power_on_TVP9000=P0^6;
54 sbit LED1=P0^0;
55 sbit LED2 = P2^2;
C51 COMPILER V7.01 TI_S_8050I_S_CASE 09/19/2005 15:17:33 PAGE 2
56 //sbit LED2=P2^1;
57 //sbit LED3=P2^2;
58 //sbit LED4=P2^3;
59 //sbit LED5=P2^4;
60 //sbit LED6=P2^5;
61 //sbit LED7=P2^6;
62 //sbit LED8=P2^7;
63 extern BYTE key;
64 void Initi_MCU_slaver(void);
65 extern void InitialTimer1(void); //for IR sampling
66 void InitialTimer0(void);
67 extern bit EnableIr(void);
68 extern bit CheckIrFlame(void);
69 extern BYTE GetIrCodeData(void);
70 extern bit CheckIrRepeatCode(void);
71 //extern void SetRemoteControllerID(UINT ID);
72 void K1_press(void);
73 void K2_press(void);
74 void K3_press(void);
75 void K4_press(void);
76 void K5_press(void);
77 void K6_press(void);
78 void K7_press(void);
79 void K8_press(void);
80 void K9_press(void);
81 void key_check(void);
82
83 unsigned char scan_key(void);
84 void delay(int i);
85
86
87 //#define V_TH0 0xfc /* 时间常数高8位 */
88 //#define V_TL0 0x18 /* 时间常数低8位 */
89 #define ENABLE_I2C 0xC6 //
90 void main(void)
91 {
92 1 bit IrVaild;
93 1 bit IrRepeat;
94 1 BYTE GetIr;
95 1 BYTE key;
96 1
97 1 Power_status = 1;
98 1
99 1 Initi_MCU_slaver();
100 1 Init_uart();
101 1 // Init_Timer();// Timer0,2用于判断错误和命令延时及实时时钟
102 1 EnableIr();
103 1 InitialTimer0();//for key scan and real tim clock
104 1
105 1 /* TI = 0x00;
106 1 TMOD = 0x20;
107 1 RCAP2H = 0XFF; //11.0592MHz
108 1 RCAP2L = 0XB8; //the baud rate is the 4800bps
109 1 T2CON = 0x34;
110 1 SCON = 0x52;
111 1 TR2 = 1;
112 1 ET2 = 1;
113 1 EA = 1;
114 1 */
115 1 delay(50);
116 1 //set Timer0 for key scan
117 1 // TMOD=0x01;
C51 COMPILER V7.01 TI_S_8050I_S_CASE 09/19/2005 15:17:33 PAGE 3
118 1 // TH0=V_TH0;
119 1 // TL0=V_TL0;
120 1 // EA=1;
121 1 // TR0=1;
122 1 // ET0=1;
123 1
124 1
125 1
126 1 while(1)
127 1 {
128 2 delay(100);
129 2 delay(100);
130 2 IrVaild=CheckIrFlame();
131 2 // LED5 = 0;
132 2 GetIr=GetIrCodeData();
133 2
134 2 // if(Power_status)
135 2 // {
136 2 if((GetIr == 0x5F)||(key == 0x7E))
137 2 {
138 3 if(Power_status)
139 3 {
140 4 transreg(GetIr);
141 4 transreg(SR_SLAW_ACK);
142 4 Power_on_TVP9000 = 1;
143 4 keydata = GetIr;
144 4 delay(200);
145 4 // Power_status = 0;
146 4 LED1 = 0;
147 4 delay(300);
148 4 LED1 = 1;
149 4 delay(300);
150 4
151 4 GetIr = 0x00;
152 4 }
153 3 }
154 2 /* }
155 2 else
156 2 {
157 2 if(GetIr == 0x5F)
158 2 {
159 2 transreg(SR_SLAW_NONACK);
160 2 Power_on_TVP9000 = 0;
161 2 Power_status = 1;
162 2 GetIr = 0x00;
163 2 }
164 2 }
165 2 */
166 2 transreg(Bus_error);//for test;
167 2 }
168 1 }
*** WARNING C280 IN LINE 93 OF TI'S 8050I'S CASE.C: 'IrRepeat': unreferenced local variable
169
170 void Initi_MCU_slaver(void)
171 {
172 1 //initial MCU's in slave mode
173 1 EA=1;
174 1 ES1=1;
175 1 S1CON=0xC6;//ENABLE_I2C;enable MCU in slave mode.
176 1 S1ADR=0xD8;//SLA_R;
177 1 }
178
C51 COMPILER V7.01 TI_S_8050I_S_CASE 09/19/2005 15:17:33 PAGE 4
179 //-------------------------------------------
180 /* transmit a string */
181 void transs(char *s)
182 {
183 1 while (*s!='\0')
184 1 {
185 2 SBUF=*s;
186 2 while(!TI);
187 2 TI = 0 ;
188 2 s++;
189 2 }
190 1 }
191 //=======================================
192 //* transmit a char*/
193 void transc (char c)
194 {
195 1 SBUF = c;
196 1 while(!TI);
197 1 TI = 0;
198 1 }
199 //---------------------------------------
200 //---------------------------------------
201 void transreg(char c)
202 {
203 1 int tmp;
204 1 int tmpc;
205 1 tmp=c;
206 1 tmp=(tmp>>4)&0x0F;
207 1 ACC=tmp;
208 1 tmpc=hextoascii(tmp);
209 1 transc(tmpc);
210 1 tmp=c&0x0F;
211 1 tmpc=hextoascii(tmp);
212 1 transc(tmpc);
213 1 transs("\n\r");
214 1 }
215 //-----------------------------------------
216 int hextoascii(int hex2)
217 {
218 1 int tmp1;
219 1 tmp1=hex2;
220 1 if (tmp1 >= 0x0A )
221 1 {
222 2 tmp1 += 0x37;
223 2 }
224 1 else
225 1 {
226 2 tmp1+=0x30;
227 2 }
228 1 return tmp1;
229 1 }
230 void Init_uart()
231 {
232 1 // SCON = 0x50;
233 1 TI = 0x00;
234 1 TMOD = 0x20;
235 1 RCAP2H = 0XFF; //11.0592MHz
236 1 RCAP2L = 0XB8; //the baud rate is the 4800bps
237 1 T2CON = 0x34;
238 1 SCON = 0x52;
239 1 TR2 = 1;
240 1 ET2 = 1;
C51 COMPILER V7.01 TI_S_8050I_S_CASE 09/19/2005 15:17:33 PAGE 5
241 1 EA = 1;
242 1 // TL1 = 0x00;
243 1 // TH1 = 0xF3; //12M 2400
244 1 // TR1 = 0x01;
245 1 }
246
247 void K1_press(void)
248 {
249 1 delay(10);
250 1 P1 = 0x55;
251 1 delay(10);
252 1 }
253 void K2_press(void)
254 {
255 1 delay(10);
256 1 P1 = 0x5A;
257 1 delay(10);
258 1 }
259 void K3_press(void)
260 {
261 1 delay(10);
262 1 P1 = 0xA5;
263 1 delay(10);
264 1 }
265 void K4_press(void)
266 {
267 1 delay(10);
268 1 P1 = 0x33;
269 1 delay(10);
270 1 }
271 void K5_press(void)
272 {
273 1 delay(10);
274 1 P1 = 0x3C;
275 1 delay(10);
276 1 }
277 void K6_press(void)
278 {
279 1 delay(10);
280 1 P1 = 0xC3;
281 1 delay(10);
282 1 }
283 void K7_press(void)
284 {
285 1 delay(10);
286 1 P1 = 0xCC;
287 1 delay(10);
288 1 }
289 void K8_press(void)
290 {
291 1 delay(10);
292 1 P1 = 0xAA;
293 1 delay(10);
294 1 }
295 void K9_press(void)
296 {
297 1 delay(10);
298 1 P1 = 0xA3;
299 1 delay(10);
300 1 }
301
302 void delay(int i)
C51 COMPILER V7.01 TI_S_8050I_S_CASE 09/19/2005 15:17:33 PAGE 6
303 {
304 1 int j1,j2;
305 1 for(j1=0;j1<i;j1++)
306 1 for(j2=0;j2<i;j2++);
307 1 {
308 2 ;
309 2 }
310 1 }
311 /**************************************************************************
312 * 函数原型: void timer0(void);
313 * 功 能: 定时器T0中断服务数函按键扫描
314 /**************************************************************************/
315
316 /*void Timer0(void) interrupt 1 using 1
317 {
318 TR0=0;
319 // 重装定时器T0时间常数
320 TMOD=0x01;
321 TH0=V_TH0;
322 TL0=V_TL0;
323
324 TR0=1;
325
326 if(++click==4)
327 {
328 click=0;
329 scan_key();
330 }
331 }
332 */
333
334
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 425 ----
CONSTANT SIZE = 3 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 3
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -