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

📄 lcdcontrol.c

📁 DSP 2407AD模块
💻 C
字号:
/* ============================================================================*/
/*                                                                             */
/*  NAME                                                                       */
/*      lcdPrintf -- DSP control LCD routine                                   */
/*                                                                             */
/*   USAGE                                                                     */
/*                                                                             */
/*   This routine is C Callable and can be called as:                          */
/*                                                                             */
/*       void lcdPrintf(int ln, int col, char *buf)                            */
/*                                                                             */
/*       ln: line location (1-4)                                               */
/*		 col:column location (0-7)                                             */
/*                                                                             */
/*   DESCRIPTION                                                               */
/*                                                                             */
/*          这是一个64X128的图形点阵液晶显示屏。该液晶显示模块                 */
/*  自带汉字字库,每屏可以显示4行8列共32个汉字。液晶屏由MCU管理。DSP将需要显   */
/*  示的信息通过IO口发送到MCU,由MCU负责完成对液晶屏的具体操作。               */
/*  串口通讯格式总共23个Byte组成,具体分配如下所示:                           */
/*  0x55  0x66     xx  xx    xx     xx xx ...............xx xx    0x88 0x99    */
/*  固定(2 Byte)   行  列   显示字   固定16个Byte,每个汉字        结束标志    */
/*                 号  号   符个数   (ASIIC内码)占用2个Byte      (2 Byte)   */
/*                                    若少于8个汉字,后面保留                  */
/*  注意,行号为1-4,列号为0-7。液晶屏每行最多显示8个汉字,若超过,系统将丢弃   */
/*  多余汉字。另外,由于汉字内码为2个Byte,所以要显示ASIIC码的英文             */
/*  字母、数字、符号(1个Byte)时,每次显示的字符个数必须是2的整倍数。         */
/*                                                                             */
/*  例如,在1行,0列显示两个汉字"我们",这数据格式为:                         */
/*  0x55 0x66    0x1 0x0 0x4    0xce 0xd2 0c3 0xc7  ...0x00 0x00   0x88 0x99   */
/*  固定开头     行、列,共     "我们"两个汉字内码,4Byte,然后      结束标志   */
/*               显示4个字符     是12个Byte的0x0                               */
/*  再如,需要在第2行,第0列显示ASCII码的'3 ',格式为:                         */
/*  0x55 0x66    0x2 0x0 0x2    0x33 0x20 0x00 0x0 ....0x00 0x00   0x88 0x99   */
/*  固定开头     行、列,共     '3'的ASCII码和空格的ASCII码,然后   结束标志   */
/*               显示2个字符     是14个Byte的0x0                               */
/*                                                                             */
/*                                                                             */ 
/*                                                                             */ 
/* ----------------------------------------------------------------------------*/ 
/*                        Copyright (C) 2008 WJS                               */ 
/*                          All Rights Reserved.                               */ 
/* ============================================================================*/ 
#define lcdBufLen  23                                                          
char LCD_Buffer[lcdBufLen]={0x55,0x66} ;                   /* LCD SHOW's buffer */
void MCUUartPrintf1(char * UPBuffer, int transCount);

void lcdPrintf(int ln, int col, char *buf)                                   
{
    LCD_Buffer[2]=ln;     /*  which LN will show the string */
    LCD_Buffer[3]=col;    /*  which COL will show string */
    LCD_Buffer[4]=strlen(buf)/2;  /* how many chinese char(2 byte) will show */
    
    memcpy(&LCD_Buffer[5],buf, LCD_Buffer[4]*2);/*copy the chinese char to LCD_Buffer*/
    
    LCD_Buffer[21]=0x88;
    LCD_Buffer[22]=0x99;
    MCUUartPrintf1(LCD_Buffer,lcdBufLen);

}

//clear LCD
void lcdClr()
{
    LCD_Buffer[2]=0xff;  
    LCD_Buffer[3]=0xff;    
    LCD_Buffer[4]=0xff;  
    
    LCD_Buffer[21]=0x88;
    LCD_Buffer[22]=0x99;
    MCUUartPrintf1(LCD_Buffer,lcdBufLen);
}



/* ========================================================================*/
/*  End of file: LCDcontrol.c                                              */
/* ------------------------------------------------------------------------*/
/*                        Copyright (C) 2008   WJS                         */
/*                          All Rights Reserved.                           */
/* ========================================================================*/

  

⌨️ 快捷键说明

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