📄 lcdcontrol.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 + -