液晶12864中文字库C程序及关键函数

需积分: 10 4 下载量 51 浏览量 更新于2024-09-18 收藏 246KB DOC 举报
"该资源提供了一个使用C语言编写的针对12864液晶显示器的程序,特别适用于avr单片机或51单片机。程序包含初始化、清除屏幕、发送指令和数据、设置坐标、打印字符和字符串等功能,支持中文显示。液晶模块型号为MD12864C-1,采用并行接口与单片机连接,定义了相关的端口和控制信号。" 在嵌入式系统中,12864液晶显示器是一种常见的用于文本和图形显示的设备,它有128列和64行的像素点,能够显示汉字和英文字符。这个程序是针对这种显示器设计的,主要目标平台是avr单片机或51单片机。C语言作为一种广泛应用的编程语言,被用来编写这些控制液晶的低级别操作。 程序的关键组成部分包括以下几个函数: 1. `lcd_init(void)`:初始化函数,用于设置液晶的工作模式和参数。 2. `clr_lcd(void)`:清除液晶屏幕,将所有像素点设置为非显示状态。 3. `send_com(unsigned char cmd)`:发送指令到液晶,cmd是控制命令,如设置显示模式、光标位置等。 4. `send_data(unsigned char dat)`:发送数据到液晶,dat可以是字符或图形数据。 5. `chek_busy(void)`:检查液晶是否忙,用于确保在发送新数据之前,液晶已经处理完前一次的数据传输。 6. `set_xy(unsigned char xpos, unsigned char ypos)`:设置光标位置,便于在指定坐标打印字符。 7. `print(unsigned char x, unsigned char y, char* str)`:在指定位置打印字符串。 8. `printstr(unsigned char xpos, unsigned char ypos, unsigned char str[], unsigned char k)`:打印字符串数组,k表示要打印的字符数量。 9. 定义了一些常量和位操作宏,如`DATAP2`、`CONTROLP0`、`E7`等,用于方便地访问和操作单片机的端口和控制线。 代码中还定义了一个简短的中文字符串`unsigned char code buf[4]`,这表明程序支持显示汉字。`PSB4`被用来选择并行接口,而非串行接口,这意味着液晶通过并行方式与单片机连接,数据传输速率通常比串行接口更快。 在实际应用中,这样的程序可能需要根据具体硬件配置进行适当的修改,例如,单片机的端口映射、复位信号的控制以及特定的延时函数。此外,为了实现中文显示,还需要一个完整的汉字字库,这个程序中可能只包含了几个示例汉字。在实际项目中,可能需要更大的字库以支持更多的汉字显示。