📄 osd.lst
字号:
227 1 color = color & 0x0f; // 低4位是有效
228 1 color <<= 4; // Shift color left 4 bits
229 1 temp = temp | color; // set higher 4 bits of color to higher 4 bits of temp
230 1 write1828(addr,temp);
231 1 }
232
233 //**********************************
234 //函数:void osd_BackColor_N(char block,char color);
235 //作用:设置OSD正常背景颜色
236 //参数说明: block => 8 bits , osd块
237 // color => 8 bits , 低4位是有效
238 //Function: OSD Displaying Color=(Video Color*OSD_ALPHA+OSD Color*(16-OSD_ALPHA))/16
239 //**************************************
C51 COMPILER V7.50 OSD 09/29/2006 10:54:51 PAGE 5
240 void osd_BackColor_N(char block,char color)
241 {
242 1 char idata addr;
243 1 char idata temp;
244 1
245 1 switch(block)
246 1 {
247 2 case title: // Setup position of Title Block
248 2 addr = osd11;
249 2 break;
250 2 case content: // Setup position of Content Block
251 2 addr = osd26;
252 2 break;
253 2 case bottom: // Setup position of Bottom Block
254 2 addr = osd36;
255 2 break;
256 2 default:
257 2 break;
258 2 }
259 1
260 1 temp = read1828(addr); // Read back the register
261 1 temp = temp & 0x0f; // 低4位是有效
262 1 color = color & 0x0f; // 低4位是有效
263 1 color <<= 4; // Shift color left 4 bits
264 1 temp = temp | color; // set higher 4 bits of color to higher 4 bits of temp8
265 1 write1828(addr,temp);
266 1 }
267
268 //**********************************
269 //函数:void osd_ForeColor_N(char block,char color);
270 //作用:设置OSD正常前景颜色
271 //参数说明: block => 8 bits , osd块
272 // color => 8 bits , 低4位是有效
273 //Function:OSD Displaying Color=(Video Color*OSD_ALPHA+OSD Color*(16-OSD_ALPHA))/16
274 //**************************************
275 void osd_ForeColor_N(char block,char color)
276 {
277 1 char idata addr;
278 1 char idata temp;
279 1
280 1 switch(block)
281 1 {
282 2 case title: // Setup position of Title Block
283 2 addr = osd11;
284 2 break;
285 2 case content: // Setup position of Content Block
286 2 addr = osd26;
287 2 break;
288 2 case bottom: // Setup position of Bottom Block
289 2 addr = osd36;
290 2 break;
291 2 default:
292 2 break;
293 2 }
294 1
295 1 temp = read1828(addr); // Read back the register
296 1 temp = temp & 0xf0; // 保留高4位
297 1 color = color & 0x0f; // 低4位是有效
298 1 temp = temp | color; // set lower 4 bits of color to lower 4 bits of temp8
299 1 write1828(addr,temp);
300 1 }
301
C51 COMPILER V7.50 OSD 09/29/2006 10:54:51 PAGE 6
302 //**********************************
303 //函数:void osd_ForeColor_H(char block,char color);
304 //作用:设置OSD加亮的前景颜色
305 //参数说明: block => 8 bits , osd块
306 // color => 8 bits , 低4位是有效
307 //Function: OSD Displaying Color=(Video Color*OSD_ALPHA+OSD Color*(16-OSD_ALPHA))/16
308 //**************************************
309 void osd_ForeColor_H(char block,char color)
310 {
311 1 char idata addr;
312 1 char idata temp;
313 1
314 1 switch(block)
315 1 {
316 2 case title: // Setup position of Title Block
317 2 addr = osd12;
318 2 break;
319 2 case content: // Setup position of Content Block
320 2 addr = osd27;
321 2 break;
322 2 case bottom: // Setup position of Bottom Block
323 2 addr = osd37;
324 2 break;
325 2 default:
326 2 break;
327 2 }
328 1
329 1 temp = read1828(addr); // Read back the register
330 1 temp = temp & 0xf0; // 保留高4位
331 1 color = color & 0x0f; // 低4位是有效
332 1 temp = temp | color; // set lower 4 bits of color to lower 4 bits of temp
333 1 write1828(addr,temp);
334 1 }
335
336 //**********************************
337 //函数:void osd_Highlight(char block,char xstart,char xend,char ystart,char yend);
338 //作用:设置Highlight Section的开始位置和结束位置
339 //参数说明: block => 8 bits , osd块
340 // x => 低6位是有效
341 // y => 低5位是有效
342 //**************************************
343 void osd_pos_Highlight(char block,char xstart,char xend,char ystart,char yend)
344 {
345 1 xstart = xstart & 0x3f;
346 1 xend = xend & 0x3f;
347 1 ystart = ystart & 0x1f;
348 1 yend = yend & 0x1f;
349 1
350 1 switch(block)
351 1 {
352 2 case title: // Setup x size of Title Block
353 2 write1828(osd5,xstart); // Start
354 2 write1828(osd6,xend); // End
355 2 break;
356 2
357 2 case content: // Setup x and y size of Content Block
358 2 write1828(osd20,xstart); // xStart
359 2 write1828(osd21,xend); // xEnd
360 2 write1828(osd18,ystart); // yStart
361 2 write1828(osd19,yend); // yEnd
362 2 break;
363 2
C51 COMPILER V7.50 OSD 09/29/2006 10:54:51 PAGE 7
364 2 case bottom: // Setup x size of Bottom Block
365 2 write1828(osd32,xstart); // Start
366 2 write1828(osd33,xend); // End
367 2 break;
368 2
369 2 default:
370 2 break;
371 2 }
372 1 }
373
374
375 //**********************************
376 //函数:void osd_Blink(char block,char xstart,char xend,char ystart,char yend);
377 //作用:设置Blink Section的开始位置和结束位置
378 //参数说明: block => 8 bits , osd块
379 // x => 低6位是有效
380 // y => 低5位是有效
381 //**************************************
382 void osd_pos_Blink(char block,char xstart,char xend,char ystart,char yend)
383 {
384 1 xstart = xstart & 0x3f;
385 1 xend = xend & 0x3f;
386 1 ystart = ystart & 0x1f;
387 1 yend = yend & 0x1f;
388 1
389 1 switch(block)
390 1 {
391 2 case title: // Setup x size of Title Block
392 2 write1828(osd7,xstart); // Start
393 2 write1828(osd8,xend); // End
394 2 break;
395 2
396 2 case content: // Setup x and y size of Content Block
397 2 write1828(osd24,xstart); // xStart
398 2 write1828(osd25,xend); // xEnd
399 2 write1828(osd22,ystart); // yStart
400 2 write1828(osd23,yend); // yEnd
401 2 break;
402 2
403 2 case bottom: // Setup x size of Bottom Block
404 2 write1828(osd34,xstart); // Start
405 2 write1828(osd35,xend); // End
406 2 break;
407 2
408 2 default:
409 2 break;
410 2 }
411 1 }
412
413 //**************************************
414 //函数:void osd_blink(char blink);
415 //作用:设置OSD blinking rate
416 //*************************************
417 void osd_blink(char blink)
418 {
419 1 blink = blink & 0x3f; // Remove redundant bits
420 1 write1828(osd3,blink);
421 1 }
422
423 //*********************************************
424 //函数:void osd_alpha(char alpha);
425 //作用:设置 alpha-blending
C51 COMPILER V7.50 OSD 09/29/2006 10:54:51 PAGE 8
426 //参数: alpha => 8 bits , OSD alpha-blending
427 // P.S. Lower 4 bits are available
428 //*********************************************
429 void osd_alpha(char alpha)
430 {
431 1 char temp;
432 1
433 1 alpha <<= 4;
434 1 alpha = alpha & 0xf0; // Remove redundant bits
435 1 temp = read1828(osd2);
436 1 temp = temp & 0x0f;
437 1 temp = temp | alpha;
438 1 write1828(osd2,temp);
439 1 }
440
441 //**********************************************
442 // Adjust Brightness/Contrast/Saturation/Hue/Position (For VX1828)
443 //函数: void adj_britclr(char kind,char value)
444 //作用:向相应regsister中填写调整以后和数值
445 //参数: kind => 8 bits , Select Brightness/Contrast/Saturation/Hue be set
446 // Lower 2 bits are available.
447 // 0 : Brightness
448 // 1 : Contrast
449 // 2 : Saturation
450 // 3 : Hue
451 // 4 : Sharpness
452 // ---Reserved begin ---
453 // 5 : Brightness R 6 : Brightness G
454 // 7 : Brightness B 8 : Contrast R
455 // 9 : Contrast G 10: Contrast B
456 // ---Reserved end ---
457 // 11: Horizontal Position
458 // 12: Vertical Position
459 //******************************************
460 void adj_britclr(char kind,char value)
461 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -