⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 osd1_cls.c

📁 T118+AU7驱动程序完整版
💻 C
字号:
#include <reg51.h>
#include "common.h"
#include "OSD_def.h"
#include "OSD1_CLS.h"

void OSD1ClearSRam(void)
{
	OSD1CfgWr(OSD_BLK_WRT_LSB,0x00);
	OSD1CfgWr(OSD_BLK_WRT_MSB,0x00);
	OSD1CfgWr(OSD_BLK_WRT_SADD_LSB,0x00);
	OSD1CfgWr(OSD_BLK_WRT_SADD_MSB,0x00);
	OSD1CfgWr(OSD_BLK_WRT_LENGTH,0xFF);
	OSD1CfgWr(OSD_BLK_WRT_CTR,0x9F);
}

void OSD1ClearLine(uCHAR x,uCHAR y,uCHAR HVScale,uCHAR MenuIndex)
{
	uCHAR k=0; 
	if(MenuIndex == MENU1)		
	{	
		//~Set RAtt_C~//
		OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+3);
		OSD1SetRamData(((0x0000+HVScale)<<6)|(OSD1Menu1Width));	
		OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+x+4);	  
		k=x;
		while(k<OSD1Menu1Width)
		{
			OSD1SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(OSD1Blank));	  				
			k++;
		}
	}
}

void OSD1ClearMenu(uCHAR MenuIndex)
{
	uCHAR i;
	if(MenuIndex == MENU1)
	{
		for(i = 0; i < OSD1Menu1Height; i++)
		{
			OSD1ClearLine(0,i,0,MENU1);
		}
	}
}

void OSD1ShowLine(uCHAR *string,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR MenuIndex,uCHAR cColor)
{
	uCHAR *pString= string;	
	uCHAR k; 
	k=0;	
	if(MenuIndex == MENU1)		
	{		 
		//~Set RAtt_C~//
		OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+3);
		OSD1SetRamData(((0x0000+HVScale)<<6)|(OSD1Menu1Width));	
		OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+x+4);  
		k=x;
		//~Stuff Strings~//
		while(((*pString) != EOL)&&(k<OSD1Menu1Width))
		{
			OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(cColor&0x0f)<<9)|(*pString++));	  				
			k++;
		}
		while(k<OSD1Menu1Width)
		{
			OSD1SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(0));	  				
			k++;
		}
		y++;
	}
}

void OSD1PutChar(uCHAR cChar,uCHAR x,uCHAR y,uCHAR cBlink,uCHAR HVScale,uCHAR MenuIndex,uCHAR cColor)
{
	uCHAR k; 
	k=0;	
	if(MenuIndex == MENU1)		
	{		 
		//~Set RAtt_C~//
		OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+3);
		OSD1SetRamData(((0x0000+HVScale)<<6)|(OSD1Menu1Width));	
		OSD1SetRamAddr(OSD1Menu1StrAdr+(OSD1Menu1Width+4)*y+x+4);  
		k=x;
		//~Stuff Strings~//
		OSD1SetRamData(0x0000|((uWORD)(cBlink)<<13)|((uWORD)(cColor&0x0f)<<9)|(cChar));	  				
		k++;

		while(k<OSD1Menu1Width)
		{
			OSD1SetRamData(0x0000|((uWORD)(0&0x0F)<<9)|(OSD1Blank));	  				
			k++;
		}
		y++;
	}
}

void OSD1Disp(uCHAR MENU1disp, uCHAR MENU2disp)
{
	if(MENU1disp&0xF0)
		OSD1CfgWr(OSD_MENU1_ENABLE,0x80);
	else
		OSD1CfgWr(OSD_MENU1_ENABLE,0x00);

	if(MENU2disp&0xF0)
		OSD1CfgWr(OSD_MENU2_ENABLE,0x80);
	else
		OSD1CfgWr(OSD_MENU2_ENABLE,0x00);

	if((MENU1disp | MENU2disp)&0xF0)
		OSD1CfgWr(OSD_CTRL,0x80);
	else
		OSD1CfgWr(OSD_CTRL,0x00);

	I2CWriteByte(TW803_P0,0xE2,0x11);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -