📄 tv.lst
字号:
C51 COMPILER V7.09 TV 09/06/2006 13:39:49 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE TV
OBJECT MODULE PLACED IN ..\OUTPUT\TV.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\code\TV.c LARGE ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND PRINT(.\TV.lst) O
-BJECT(..\OUTPUT\TV.obj)
line level source
1
2 #include "global.h"
3
4
5 #ifdef _TV_
6 BYTE TVChannel,BackTVCh;
7 BYTE TVSearchCH[16];
8 BYTE TVMTS;
9
10 WORD code NTSC_CHANNEL[] =
11 {
12 0x0000, 0x06F0, 0x0650, 0x06B0, 0x0710, 0x07B0, 0x0810, 0x0DD0,
13 0x0E30, 0x0E90, 0x0EF0, 0x0F50, 0x0FB0, 0x1010, 0x0A70, 0x0AD0,
14 0x0B30, 0x0B90, 0x0BF0, 0x0C50, 0x0CB0, 0x0D10, 0x0D70, 0x1070,
15 0x10D0, 0x1130, 0x1190, 0x11F0, 0x1250, 0x12B0, 0x1310, 0x1370,
16 0x13D0, 0x1430, 0x1490, 0x14F0, 0x1550, 0x15B0, 0x1610, 0x1670,
17 0x16D0, 0x1730, 0x1790, 0x17F0, 0x1850, 0x18B0, 0x1910, 0x1970,
18 0x19D0, 0x1A30, 0x1A90, 0x1AF0, 0x1B50, 0x1BB0, 0x1C10, 0x1C70,
19 0x1CD0, 0x1D30, 0x1D90, 0x1DF0, 0x1E50, 0x1EB0, 0x1F10, 0x1F70,
20 0x1FD0, 0x2030, 0x2090, 0x20F0, 0x2150, 0x21B0, 0x2210, 0x2270,
21 0x22D0, 0x2330, 0x2390, 0x23F0, 0x2450, 0x24B0, 0x2510, 0x2570,
22 0x25D0, 0x2630, 0x2690, 0x26F0, 0x2750, 0x27B0, 0x2810, 0x2870,
23 0x28D0, 0x2930, 0x2990, 0x29F0, 0x2A50, 0x2AB0, 0x2B10, 0x0890,
24 0x08F0, 0x0950, 0x09B0, 0x0A10, 0x2B70, 0x2BD0, 0x2C30, 0x2C90,
25 0x2CF0, 0x2D50, 0x2DB0, 0x2E10, 0x2E70, 0x2ED0, 0x2F30, 0x2F90,
26 0x2FF0, 0x3050, 0x30B0, 0x3110, 0x3170, 0x31D0, 0x3230, 0x3290,
27 0x32F0, 0x3350, 0x33B0, 0x3410, 0x3470, 0x34D0
28 };
29 #endif
30
31 #ifdef _TV_
32
33 void Set_TVChannel()
34 {
35 1 union DW_TEMP dw_temp;
36 1 //BYTE temp[4];
37 1
38 1 DoWait(50);
39 1 dw_temp.valW[0] = NTSC_CHANNEL[TVChannel];
40 1 dw_temp.valB[2] = 0xCE;
41 1
42 1 if(dw_temp.valW[0] < 0x0D00)
43 1 dw_temp.valB[3] = 0x01;
44 1 else if(dw_temp.valW[0] < 0x1E80)
45 1 dw_temp.valB[3] = 0x02;
46 1 else
47 1 dw_temp.valB[3] = 0x04;
48 1
49 1 WriteData(I2C_TVTUNER,dw_temp.valB[0] ,&dw_temp.valB[1] ,3);
50 1
51 1 }
52
53 void TV_Channel_Up()
54 {
C51 COMPILER V7.09 TV 09/06/2006 13:39:49 PAGE 2
55 1 BackTVCh = TVChannel;
56 1
57 1 do{
58 2 TVChannel ++;
59 2 if(TVChannel > TV_ChannelTotal)
60 2 TVChannel= 0;
61 2 }while(!(TVSearchCH[TVChannel/8] & (0x01 << (TVChannel%8))));
62 1 Set_TVChannel();
63 1 Show_TVChannel();
64 1 SaveProgressData(TVCH);
65 1
66 1 //sAudio.Mute = 0;
67 1 }
68
69 void TV_Channel_Down()
70 {
71 1 BackTVCh = TVChannel;
72 1
73 1 do{
74 2 TVChannel --;
75 2 if(TVChannel > TV_ChannelTotal)
76 2 TVChannel=TV_ChannelTotal;
77 2 }while(!(TVSearchCH[TVChannel/8] & (0x01 << (TVChannel%8))));
78 1
79 1 Set_TVChannel();
80 1 Show_TVChannel();
81 1 SaveProgressData(TVCH);
82 1
83 1 //sAudio.Mute = 0;
84 1 }
85
86 void TV_Channel_Jump()
87 {
88 1 BYTE temp;
89 1
90 1 temp = TVChannel;
91 1 TVChannel = BackTVCh;
92 1 BackTVCh = temp;
93 1 Set_TVChannel();
94 1 //Show_TVChannel();
95 1 //Save_Var(SaveTVChannel);
96 1
97 1 //sAudio.Mute = 0;
98 1 }
99
100 void TV_Channel_Search()
101 {
102 1 BYTE i,temp_TVChannel,Temp,tmp;
103 1 //BYTE AudioTemp[4];
104 1
105 1 //bMuteFlag = 1;
106 1 DoWait(50);
107 1 temp_TVChannel = TVChannel;
108 1
109 1 if(TV_ChannelTotal==125)
110 1 Temp=0x60; // NTSC System and Signal detected
111 1 else
112 1 Temp=0x20; // PAL Syatem and Signal Detected
113 1
114 1 for(i = 0; i < 16; i++)
115 1 TVSearchCH[i] = 0;
116 1
C51 COMPILER V7.09 TV 09/06/2006 13:39:49 PAGE 3
117 1 for(i = 1; i <= TV_ChannelTotal; i++)
118 1 {
119 2 TVChannel = i;
120 2 Set_TVChannel();
121 2 Show_TVChannel();
122 2 DoWait(200);
123 2 CS7111_Read(0x00,&tmp,1);
124 2 tmp&=0x60;
125 2 if(tmp==Temp)
126 2 TVSearchCH[i/8] = (TVSearchCH[i/8]>>1) | 0x80;
127 2 else
128 2 TVSearchCH[i/8] = (TVSearchCH[i/8]>>1);
129 2
130 2 }
131 1
132 1 //bMuteFlag = 0;
133 1 SaveProgressData(SaveTVSearch);
134 1 TVChannel = temp_TVChannel;
135 1 Set_TVChannel();
136 1
137 1
138 1 }
139
140 void TV_MTS()
141 {
142 1 #ifdef _MSP3450_
if(TVMTS == 0)
Set_Vol_Source(STEREO_AB);
else if(TVMTS == 1)
Set_Vol_Source(STEREO_A);
else
Set_Vol_Source(STEREO_B);
#endif
151 1 }
152
153
154 void Show_TVChannel()
155 {
156 1 gotoxy(5,0);
157 1 PrintValue(TVChannel,Red);
158 1 EnableOSD();
159 1 }
160 #endif
161
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 538 ----
CONSTANT SIZE = 252 ----
XDATA SIZE = 19 8
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -