isr.lst
来自「myson的MTV332的DEMO程序 主要功能有菜单的设计和无线遥控以及视频」· LST 代码 · 共 1,619 行 · 第 1/5 页
LST
1,619 行
19 =2 //---------------------
20 =2 // osd color define
21 =2 #define Black 0x00
22 =2 #define Blue 0x01
23 =2 #define Green 0x02
24 =2 #define Cyan 0x03
25 =2 #define Red 0x04
26 =2 #define Magenta 0x05
27 =2 #define Yellow 0x06
28 =2 #define White 0x07
29 =2 //----------------------
30 =2 //define language item
31 =2 enum LanguageItem{
32 =2 English,
33 =2 Chinese,
34 =2 MaxLanguageItem
35 =2 };
36 =2 //define page item width
37 =2 enum MainPageItem{
38 =2 SaturatiOne, // Color
39 =2 BrightOne, // Bright
40 =2 HueOne, // TINT
41 =2 DimmerOne,//Dimmer
42 =2 FormatOne,//Format
43 =2 RecallItem,
44 =2 //ContrastOne, // ch15
45 =2 //HPositionOne,
46 =2 //VPositionOne,
47 =2 //OSDSetupItem,
48 =2 //RotateOne,
49 =2 //BrightItem,
50 =2 //ColorItem,
51 =2 //MiscItem,
52 =2 MaxMainPageItem
53 =2 };
54 =2
55 =2 enum BrightPageItem{
56 =2 BrightnessItem, // ch8
57 =2 ContrastItrm, // ch15
58 =2 MaxBrightPageItem
59 =2 };
60 =2
61 =2 enum ColorPageItem{
62 =2 SaturationItem, // ch5
63 =2 HueItem, // ch6
64 =2 MaxColorPageItem
65 =2 };
66 =2
67 =2 enum OSDPageItem{
68 =2 HPositionItem,
69 =2 VPositionItem,
70 =2 //LanguageItem,
71 =2 MaxOSDPageItem
72 =2 };
73 =2
74 =2 enum MiscPageItem{
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 12
75 =2 //VsignalPosition,
76 =2 //HsignalPosition,
77 =2 //PWM,
78 =2 CommonPulse,
79 =2 YGain,
80 =2 BlackLevel,
81 =2 YaperGain,
82 =2 RsubBri,
83 =2 BsubBri,
84 =2 WhitePeakLevel,
85 =2 Gamma1,
86 =2 Gamma2,
87 =2 MaxMiscPageItem
88 =2 };
89 =2
90 =2 enum {
91 =2 NOTHING,
92 =2 BRIGHT_BRIGHTNESS,
93 =2 BRIGHT_CONTRAST,
94 =2 COLOR_HUE,
95 =2 COLOR_SATURATION,
96 =2 RunDimmer,
97 =2 RunFormat, //OSD_VPOS_U,
98 =2 RunRecall,//OSD_LANGUAGE_U,
99 =2 VIDEO_BRIGHTNESS,
100 =2 VIDEO_CONTRAST,
101 =2 VIDEO_HUE,
102 =2 VIDEO_SATURATION,
103 =2 VIDEO_Rotate
104 =2 };
105 =2 //----------------------
106 =2 // osd page define
107 =2 #define MainPageWinNo 3
108 =2 #define MainPageColor Black
109 =2 #define MainPageBarColor Cyan
110 =2 #define MainPageItemLength 15
111 =2 #define MainPageCharColor Green //White
112 =2 #define MainPageProcessColor Red
113 =2 #define MainPageExitColor Cyan
114 =2 //#define MainPageItemWidth MaxMainPageItem
115 =2 #define MainPageBarLength MainPageItemLength
116 =2 #define MainPageYStart 1 //row start
117 =2 #define MainPageYEnd 10 //row end
118 =2 #define MainPageXStart 0 //column start
119 =2 #define MainPageXEnd 15//cloumn end
120 =2
121 =2 #define BackGroundWinNo 4
122 =2 #define BackGroundColor Magenta
123 =2 #define BackGroundYStart 0
124 =2 #define BackGroundYEnd 11
125 =2 #define BackGroundXStart 0
126 =2 #define BackGroundXEnd 16
127 =2 /*
128 =2 #define SecondPageWinNo 2
129 =2 #define SecondPageColor Green
130 =2 #define SecondPageBarColor Cyan
131 =2 #define SecondPageItemLength MainPageItemLength
132 =2 #define SecondPageItemWidth ?
133 =2 #define SecondPageBarLength SecondPageItemLength
134 =2 #define SecondPageYStart (MainPageYStart+1)
135 =2 #define SecondPageYEnd (MainPageYEnd+1) //row end
136 =2 #define SecondPageXStart (MainPageXStart+1) //column start
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 13
137 =2 #define SecondPageXEnd (MainPageXEnd+1) //cloumn end
138 =2
139 =2 #define ThirdPageWinNo 2
140 =2 #define ThirdPageColor Cyan
141 =2 #define ThirdPageBarColor Yellow
142 =2 #define ThirdPageItemLength MainPageItemLength
143 =2 #define ThirdPageItemWidth ?
144 =2 #define ThirdPageBarLength ThirdPageItemLength
145 =2 #define ThirdPageYStart (SecondPageYStart+1)
146 =2 #define ThirdPageYEnd (SecondPageYEnd+1) //row end
147 =2 #define ThirdPageXStart (SecondPageXStart+1) //column start
148 =2 #define ThirdPageXEnd (SecondPageXEnd+1) //cloumn end
149 =2 */
150 =2 //--------------------------
151 =2 #define EnableOSD() (byM230_OSDCON = OSDConVal|OSDEN)
152 =2 #define EnableOSDWinClr() (byM230_OSDCON = OSDConVal|WENclr)
153 =2 #define EnableOSDRAMClr() (byM230_OSDCON = OSDConVal|RAMclr)
154 =2 #define EnableOSDFBKGC() (byM230_OSDCON = OSDConVal|FBKGC)
155 =2 #define DisableOSD() (byM230_OSDCON = OSDConVal&(~OSDEN))
156 =2 #define DisableOSDWinClr() (byM230_OSDCON = OSDConVal&(~WENclr))
157 =2 #define DisableOSDRAMClr() (byM230_OSDCON = OSDConVal&(~RAMclr))
158 =2 #define DisableOSDFBKGC() (byM230_OSDCON = OSDConVal&(~FBKGC))
159 =2
160 =2 #define OSD_OFFTIME 10000
161 =2
162 =2 #define sOSDAddrSt 0x90
163 =2 #define sBrightAddrSt 0x93
164 =2 #define sColorAddrSt 0x95
165 =2
166 =2
167 =2 //-----------------------------------------------
168 =2 struct sPROGRESS{
169 =2 WORD value;
170 =2 WORD min;
171 =2 WORD max;
172 =2 };
173 =2 //-----------------------------------------------
174 =2 struct sMENUSTACK{
175 =2 void (*MenuProcess)(void);
176 =2 BYTE ItemIndex;
177 =2 };
178 =2 //--------------------------------------------
179 =2 struct OSDData{
180 =2 BYTE H_Pos;
181 =2 BYTE V_Pos;
182 =2 BYTE LANGUAGE;
183 =2 };
184 =2 //------------------------------------------------
185 =2
186 =2 extern BIT bFactoryflag;
187 =2 extern BIT bDEMOFlag;
188 =2 extern BIT bMenuFlag;
189 =2 extern WORD OsdTimer;
190 =2 extern BYTE ItemIndex;
191 =2 extern BYTE OSDStackPoint;
192 =2 extern struct sPROGRESS ItemValue;
193 =2 extern struct sMENUSTACK OSDStack[3];
194 =2 extern struct OSDData sOSD;
195 =2 extern void (*MenuProcess)(void);
196 =2 extern BYTE CursorX,CursorY;
197 =2 extern BYTE OSDConVal;
198 =2
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 14
199 =2 extern void Disp_Nothing(void);
200 =2 extern void OSDProc(void);
201 =2
202 =2 extern void InitialOSD(void);
203 =2 extern void InitialFlag(void);
204 =2
205 =2 extern void OpenWindow(BYTE win_no, BYTE start_x, BYTE start_y, BYTE end_x, BYTE end_y, BYTE color);
206 =2 extern void CloseWindow(BYTE win_no);
207 =2
208 =2 //extern void Disp_Video_Entry(void);
209 =2 extern void Disp_Demo(void);
210 =2 extern void Disp_VideoMenu(void);
211 =2 extern void Disp_PowerMenu(void);
212 =2
213 =2 extern void gotoxy(BYTE x,BYTE y);
214 =2 extern void SetDouble(void);
215 =2 extern void PrintString(BYTE *chardata,BYTE number,BYTE color);
216 =2 extern void PrintByteString(BYTE * databuf, BYTE number, BYTE color);
217 =2 extern void ClearMenu(void);
218 =2
219 =2 extern void PrintChar(WORD chardata,BYTE color);
220 =2 extern void PrintValue(WORD value, BYTE color);
221 =2 extern void Disp_VideoBright(void);
222 =2 extern void Disp_VideoBrightness(void);
223 =2 extern void Disp_Saturation(void);
224 =2 extern void Disp_Hue(void);
225 =2 extern void Disp_OSDHPosition(void);
226 =2 extern void Disp_OSDVPosition(void);
227 =2 extern void Execute_Rotate(void);
228 =2 extern void Execute_Recall(void);
229 =2 extern void Execute_Dimmer(void);
230 =2 extern void Execute_Format(void);
231 =2
232 =2
233 =2
234 =2
235 =2 extern void Disp_VideoContrast(void);
236 =2 extern void Disp_VideoColor(void);
237 =2 extern void Disp_OSDSetup(void);
238 =2 extern void Disp_VideoMisc(void);
239 =2 extern void Disp_Entry(void);
240 =2 extern void Execute_Power(void);
241 =2 extern void Execute_Source(void);
242 =2
243 =2
244 =2 extern void Disp_VideoRecall(void);
245 =2 extern void SetProgressData(BYTE progress_no);
246 =2 extern void SaveProgressData(BYTE progress_no);
247 =2 extern void Set_OSD_HPosition(void);
248 =2 extern void Set_OSD_VPosition(void);
249 =2
250 =2
251 =2
252 =2
253 =2
254 =2
255 =2
256 =2
257 =2
11 =1 //#include "menu.h"
12 =1 //#include "ram.h"
13 =1 //#include "variable.h"
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 15
2 //#include "ir.h"
3
4 Timer0() interrupt 1
5 {
6 1 TH0 = HiByte(65536-TIMER0_COUNT); //set next interrupt time 1ms
7 1 TL0 = LoByte(65536-TIMER0_COUNT);
8 1
9 1 if (EEP_Wait)
10 1 EEP_Wait --;
11 1
12 1 //if(KeyDebunce)
13 1 // KeyDebunce--;
14 1
15 1 //if(KeyRepeat)
16 1 // KeyRepeat--;
17 1 if(KeyReChkCnt)
18 1 KeyReChkCnt--;
19 1
20 1 if(OsdTimer)
21 1 OsdTimer--;
22 1
23 1 if(IIC_Timer)
24 1 IIC_Timer--;
25 1
26 1 //if (AutoReadyCnt)
27 1 // AutoReadyCnt --;
28 1
29 1 }
30
31 BYTE *SlaveB_Addr;
32 BIT bWAddr_Flag;
33 MTV_INT1() interrupt 2 //INT1 //for DDC
34 {
35 1 BYTE temp;
36 1
37 1 EA = 0;
38 1
39 1 temp = byMTV_IIC_INTFLG;
40 1
41 1 //-------Slave B-----------------------------------
42 1
43 1 if( ( temp & RCBI ) ) // Receieved data
44 1 {
45 2 if( ( byMTV_IIC_STUS1 & 0x80 ) ) // word address
46 2 {
47 3 temp = byMTV_IIC_TXRCBBUF;
48 3
49 3 // check 0x77 ==> into ISP mode
50 3 if( temp == 0x77)
51 3 {
52 4 IE = 0;
53 4 byMTV_WDT = 0;
54 4 byMTV_ISPSLV = 0x7C;
55 4 byMTV_ISPEN = 0x93;
56 4 PCON = 1;
57 4 //return;
58 4 }
59 3 // get high address
60 3 bWAddr_Flag = 0;
61 3 if(temp == 0)
62 3 SlaveB_Addr = (BYTE data *)temp;
63 3 else
C51 COMPILER V6.10 ISR 12/02/2004 10:58:52 PAGE 16
64 3 SlaveB_Addr = (BYTE xdata *)((WORD)temp<<8);
65 3 }
66 2 else
67 2 {
68 3 temp = byMTV_IIC_TXRCBBUF;
69 3 // get low address
70 3 if(!bWAddr_Flag)
71 3 {
72 4 SlaveB_Addr += temp;
73 4 bWAddr_Flag = 1;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?