task.lst
来自「CS8955控制TV软件。用MCU做模拟电视的控制。」· LST 代码 · 共 183 行
LST
183 行
C51 COMPILER V8.05a TASK 01/05/2009 15:57:49 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE TASK
OBJECT MODULE PLACED IN .\OBJ\Task.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE task\Task.c LARGE BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\List\
-Task.lst) OBJECT(.\OBJ\Task.obj)
line level source
1 /******************************************************************************\
2 Project Version: MTKCARDVD()
3 ********************************************************************************
4 Filename: MAIN.c
5
6 Author: Alan chan
7
8 Company: CoreTek/ACT Company
9
10 ********************************************************************************
11 File Version: 1.01
12 File Created: July 2007
13
14 Compiled Using: keil uVision2 Version 2.23
15
16 ********************************************************************************
17 Files Required:
18
19 ********************************************************************************
20 File Description:
21
22 ********************************************************************************
23 File History:
24
25 --------------------------------------------------------------------------------
26 Date Name Description
27 --------------------------------------------------------------------------------
28 Mar. 2007 Alan Chan File Created
29
30 \******************************************************************************/
31 #include "stdio.h"
32
33 #include "global.h"
34 #include "irkey.h"
35 #include "key.h"
36
37 #include "tv.h"
38 #include "task.h"
39
40 extern void vInitCPU(BIT OnOff);
41 extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
42 void TVRaCurrDataOut()
43 {
44 1 BYTE i,chksum=0;
45 1 {
46 2 DataOut[1] = bDisplaMode;
47 2 // #ifdef MARTIN_MCU_AND_DVD_PROTOCOL
48 2 DataOut[2] = bTvTotalCh; //btesttvIf; //bTvTotalCh; 05Jun08 test
49 2 // #endif
50 2 DataOut[3] = 0x00;
51 2 if (_fgSearchDir == UP_SEARCH)
52 2 DataOut[3] |= 0x08;
53 2 if (_bSearchMode == SEARCH_SCAN)
54 2 DataOut[3] |= 0x01;
C51 COMPILER V8.05a TASK 01/05/2009 15:57:49 PAGE 2
55 2 else if (_bSearchMode == SEARCH_SEEK)
56 2 DataOut[3] |= 0x02;
57 2 else if (_bSearchMode == SEARCH_STEP)
58 2 DataOut[3] |= 0x03;
59 2
60 2 DataOut[4] = bTvCurrChIndex;
61 2 DataOut[5] = bTvCurrSound;
62 2 DataOut[6] =(BYTE)((_sTunerPLL.wDB>>8) & 0xff); //0x1f; //
63 2 DataOut[7] =(BYTE)(_sTunerPLL.wDB & 0x00ff); //0xe2;//
64 2 DataOut[8] = _bSearchPercent & 0xff; //btesttvPll; //03Jul08
65 2 #ifdef MARTIN_MODIFY_AUTO_SCAN
66 2 // DataOut[9] = _bSearchCnt;
67 2 #endif
68 2 DataOut[9] =btesttvIf; // btesttvPll; //btesttvIf; //bTempStroIndex; // btesttvPll; //bVideoCheck;
-//04Jun08 test
69 2 DataOut[10] = (sTvCurrChannel.bSystem & 0x47);
70 2 bDisplaMode=0x00;
71 2 }
72 1
73 1
74 1 for (i=1;i<COMDVD_BYTE;i++)
75 1 chksum += DataOut[i];
76 1 DataOut[0] = chksum;
77 1 }
78
79
80
81 // 100ms tasks
82 void TaskProc(void)
83 {
84 1 #ifndef MARTIN_MODIFY_UPDATE_DATA //06Jun08
BYTE i, chksum;
#endif
87 1 #ifndef MARTIN_SYSTEM_ONLY_TVMODE //martin 08May08
BYTE bTemp;
#endif
90 1
91 1
92 1 #ifdef MARTIN_MCU_AND_DVD_PROTOCOL
93 1 if((ShadowDvdInfo[0] != 0xff)&&(ShadowDvdInfo[0] != 0x00)/*&&(ShadowDvdInfo[0]>=0x01)&&(ShadowDvdInfo[0]
-<IR_KEY_MAX)*/)
94 1 {
95 2 btesttvIf=0x00;
96 2 _bIRKey0=ShadowDvdInfo[0];
97 2 ShadowDvdInfo[0]=0xff;
98 2 }
99 1 #endif
100 1
101 1
102 1 #ifndef MARTIN_MCU_NO_IR //martin 08May08 disable IR
if(fgLongOrShortKey)
{
if(_bRemoteTimer<=5)
{
fgLongOrShortKey = 0;
if(LongPushCount>10)
_bIRKey0 = Key2IR(1,_bIRLongPush);
else
_bIRKey0 = Key2IR(0,_bIRLongPush);
LongPushCount = 0;
_fgIRKeyValid = TRUE;
}
C51 COMPILER V8.05a TASK 01/05/2009 15:57:49 PAGE 3
}
#endif
117 1 // key process
118 1 //02Jun08 if (_bIRKey0!=IR_NONE)
119 1 if ((_bIRKey0!=IR_NONE)||(bTempIrKey!=IR_NONE))
120 1 {
121 2
122 2 // DRS232LogB(bTvCurrChIndex,sTvCurrChannel.bSystem,bTvCurrSound,_bIRKey0); //07Oct08
-
123 2
124 2 btesttvIf=_bIRKey0;
125 2 KeyProcess();
126 2
127 2 }
128 1 // prepare mcu cmd
129 1 // TVRaCurrDataOut();
130 1
131 1 #ifndef MARTIN_SYSTEM_ONLY_TVMODE //09May08
// power down
if ((SysMode!=PWR_DOWN_MODE) && (DvdRxBuf[1]==0x3f))
{
PowerDownSaveToE2prom();
EA = 0; //disable all interrupt
// power down
// power down mode
vInitCPU(OFF);
TR0=1; // start timer0
EX0 = 1;
EX1 = 0;
ES = 0;
EA = 1; //enable all interrupt
SysMode = NextSysMode = PWR_DOWN_MODE;
return;
}
#endif
150 1 }
151
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 207 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?