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

📄 mb9002.c

📁 楼宇对讲系统里用的文字信息接收。用可视对讲话机的TFT屏可看到从管理中心发过来的广播信息和本户的特发信息
💻 C
📖 第 1 页 / 共 2 页
字号:
      00 Y5 Y4 Y3 Y2 Y1 Y0
      EC:同步信号选择 EC=0 只用行同步信号 EC=1 行场共用
      LP:LP=0 正常操作
      LP=1    NTSC/PAL 格式
      FO:颜色信号输出控制
      Y5---Y0垂直位置设定*/

/*--------command 8------------*/
/*  水平位置设定  */
/*********************************************************************/
/*                   COMMAND8                                        */
/*               bit7  bit 6  bit5  bit4  bit3  bit2  bit1  bit0     */
/*first byte       1    1      0      0     0    SC     0    FC      */
/*second byte      0    0     X5     X4     X3   X2    X1    X0      */
/*      SC:同步信号输入控制位                                        */
/*      FC:同步信号是否要有3US的滤波                                */
/*      X5--X0 :屏幕上从哪里起始显示(系统显示起始位置)             */
/*********************************************************************/

        Send_byte(0xc0);
 //       Send_byte(0x18);
        Send_byte(0x08);
/*--------command 9--------- */        
        Send_byte(0xc8);
/*      */
//      Send_byte(0x20);
        Send_byte(0x00);
        
                	
        	
		/*------背景设置1-------*/
		/*--------command 10----------*/
		Send_byte(0xd1);
//        Send_byte(0xd0);
        Send_byte(0x38+bc);/*1101000 RB
        					0 BK CC BC UC UG UR UB
        					RB:背影(solid-fill)选择
        					BK:闪烁;
        					CC:彩色/黑白选择
        					BC:背景颜色
        					UC:屏幕颜色
        					UG,UR,UB 颜色选择*/
       
/*-------command 4----------*/      
		Send_byte(COMMAND_4+0x02);   //内同步,非隔行扫描,一般性的屏幕背景显示
  		Send_byte(0x2b);             /*区域控制:一般显示,显示颜色:彩色,放大控制:不放大*/
							         /*制式:PAL制,显示控制:使能显示输出 */
  						
 		for(i=0;i<12;i++)
        {
        	Disp_color(i);
    	}

        Vram_clear();

}

/******************************************************/
/******************************************************/

unsigned char  *Disp_next_content(unsigned char *s)
{
    unsigned int actual_adr;
	if(*s!='\0')
	{
		if(*(s + 1) != '\0')
		{
			if(Isascii2((int)*s & 0xff))           //显示ASCII字符
			{
				if(*s != '\n')    //not return
				{
				   actual_adr = 0x0000;
			       Disp_num(content_row,content_col,actual_adr,font_size,back_cor,char_cor,at_label);
				   content_col++;
				   if(content_col>MAX_DISP_COL)
				   {
				      content_col=0;
				      content_row++;
					  if(content_row>6)
					  {
					     content_row=0;
						 content_col=0;
						 full_screen_F = 1;
					  }
				   }
				  				   
				}
				else 
				{
				   content_col = 2;      //换行,起始第二列开始显示
				   content_row++;
				   if(content_row>6)
				   {
				      content_row=0;
					  full_screen_F = 1;
					}
				}
				++s ;
				
			}
			else          //非ASCII码
			{
	
		        actual_adr = Dfontadr(*(int *)s ) ;
			    Disp_num(content_row,content_col,actual_adr,font_size,back_cor,char_cor,at_label);
				content_col++;
				if(content_col>MAX_DISP_COL)
				   {
				      content_col=0;
				      content_row++;
					  if(content_row>6)
					  {
					     content_row=0;
						 content_col=0;
						 full_screen_F = 1;
					  }
				   }
				++((int *)s);
				
			}
		}
		else
		{
	
		    actual_adr =(unsigned int)*s;              //disp NULL
		    Disp_num(content_row,content_col,actual_adr,font_size,back_cor,char_cor,at_label);		
			++s;
		}

		mes_content = s ;
	
	}
	else
	{
	   
	    content_disp_end_F = 1;
		mes_content = (unsigned char *)0x00;
		s=(unsigned char*)0x00;
	}
		return(s);
}
/***********************************************/
/***********************************************/

unsigned char* Disp_next_font(unsigned char *s)
{
    unsigned int actual_adr;
	if(*s!='\0')
	{
		if(*(s + 1) != '\0')
		{
			if(Isascii2((int)*s & 0xff))           //显示ASCII字符
			{
				if(*s != '\n')    //not return
				{
				   actual_adr = 0x0000;
			       Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);
				   str_col++;
				   if(str_col>MAX_DISP_COL)
				   {
				      str_col=0;
				      str_row++;
					  if(str_row>MAX_DISP_ROW)
					  {
					     str_row=0;
						 str_col=0;
						 full_screen_F = 1;
					  }
				   }
				  				   
				}
				else 
				{
				   str_col = 2;      //换行,起始第二列开始显示
				   str_row++;
				   if(str_row>MAX_DISP_ROW)
				   {
				      str_row=0;
					  full_screen_F = 1;
					}
				}
				++s ;
				
			}
			else          //非ASCII码
			{
	
		        actual_adr = Dfontadr(*(int *)s ) ;
			    Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);
				str_col++;
				if(str_col>MAX_DISP_COL)
				   {
				      str_col=0;
				      str_row++;
					  if(str_row>MAX_DISP_ROW)
					  {
					     str_row=0;
						 str_col=0;
						 full_screen_F = 1;
					  }
				   }
				++((int *)s);
				
			}
		}
		else
		{
	
		    actual_adr =(unsigned int)*s;              //disp NULL
		    Disp_num(str_row,str_col,actual_adr,font_size,back_cor,char_cor,at_label);		
			++s;
		}

	
	
	}
	else
	{
/*	    row++;
		col=2;
		if(row>MAX_DISP_ROW)
		{
  			row = 0 ;
			col = 2;
		 }*/
	    str_disp_end_F = 1;
		s=(unsigned char*)0x00;
		
	}
     return(s);
}


/*******************************************************/
/*******************************************************/

int		Isascii2( int c )
{

//	if(((c >= 0) && (c <= 0x7f)) || ((c >= 0xa0) && (c <= 0xd6)))
	
		if((c >= 0) && (c <= 0x7f)) 
	{

		return(1);
	}
	return(0);
}

/******************************************************/
/******************************************************/

unsigned int  Dfontadr( unsigned int font_code )
{

	    
	TCODE	dt ;      
	unsigned int  actual_adr ;       
                      
	dt.wcode = font_code ;
 
    if((dt.scode.high>=0xa1)&&(dt.scode.high<=0xaa))
	{
		            
         actual_adr = (dt.scode.high-0xa1)*94+dt.scode.low-0xa1;
	}
	else if((dt.scode.high>=0xb0)&&(dt.scode.high<=0xf7))
    {
	     actual_adr = (dt.scode.high-0xa1-6)*94+dt.scode.low - 0xa1;
	}
	else 
	     actual_adr = font_code;      
	return(actual_adr);
}

/******************************************************/
/******************************************************/


void Set_str_attr(byte x,byte y,byte size,byte bc,byte cc,byte at)
{
    str_row = x;
	str_col = y;
	font_size = size ;
	back_cor = bc;
	char_cor = cc;
	at_label = at;
}
/******************************************************/
/******************************************************/
void Set_content_attr(byte x,byte y,byte size,byte bc,byte cc,byte at)
{
    content_row = x;
	content_col = y;
	font_size = size ;
	back_cor = bc;
	char_cor = cc;
	at_label = at;
}
/******************************************************/
/******************************************************/
void Disp_str(unsigned char *pointer,byte x,byte y,byte size,byte bc,byte cc,byte at)
{
   str_disp_end_F = 0;
   full_screen_F = 0;
   Set_str_attr(x,y,size,bc,cc,at);
   while((str_disp_end_F != 1)&&(full_screen_F != 1))
   		pointer = Disp_next_font(pointer) ;
}

/*****************************************************/
/*****************************************************/
void Disp_content(unsigned char  *pointer,byte x,byte y,byte size,byte bc,byte cc,byte at)
{
   content_disp_end_F = 0;
   full_screen_F = 0;
   Set_content_attr(x,y,size,bc,cc,at);
   while((content_disp_end_F != 1)&&(full_screen_F != 1))
        pointer = Disp_next_content(pointer) ;
}

⌨️ 快捷键说明

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