12864液晶串行显示程序及ST7920初始化

需积分: 9 4 下载量 129 浏览量 更新于2024-09-13 收藏 49KB PDF 举报
"这篇资源是关于12864液晶显示屏的串行显示程序,适用于ST7920控制器。程序包含延时、写指令、写数据、定位、显示等基本功能的函数声明,以及初始化和设置显示位置的实现。通过串行通信接口与微控制器进行交互,使用了P0口的特定引脚来控制液晶屏的CS、SID和SCLK信号。程序还包含了欢迎文字的显示示例。" 在嵌入式系统中,12864液晶显示器是一种常见的显示设备,用于显示文本和简单图形。这种显示器具有128列和64行的像素点,通常使用ST7920或者类似控制器进行驱动。在本程序中,它通过串行接口与微控制器(如8051系列)通信,而不是并行接口,这减少了所需的微控制器I/O引脚数量,简化了硬件连接。 串行显示意味着数据一位接一位地传输,而不是同时传输所有数据。程序中定义了一些关键的函数,例如: 1. `Delay(uint ms)`:提供了一种延时功能,用于在操作之间插入必要的等待时间,确保正确执行指令序列。 2. `Write_cmd(uchar cmd)` 和 `Write_data(uchar data)`:分别用于向液晶屏发送控制指令和显示数据。 3. `Position(uchar row, uchar col)`:用于设置显示的位置,即在指定的行和列开始显示字符。 4. `LCD_Init(void)`:初始化函数,设置液晶屏的工作模式和初始状态。 5. `LcdSetXY(uchar x, uchar y, uchar* pt)` 和 `W_1byte(uchar RW, uchar RS, uchar W_data)`:可能涉及设置显示坐标并写入数据的高级函数。 6. `Write_8bits(uint W_bits)`:可能用于将8位数据写入串行接口。 程序还使用了预定义的字符数组`mynew1`、`mynew2`和`mynew3`,这些数组包含了一些示例文字,可以用于在液晶屏上显示欢迎信息。 在硬件层面,程序通过微控制器的P0口来控制液晶屏的片选(CS)、串行数据(SID)和时钟(SCLK)信号。`sbit CS = "P0"^4;`、`sbit SID = "P0"^5;` 和 `sbit SCLK = "P0"^6;` 分别定义了这些控制信号。 这个12864液晶串行显示程序提供了基本的液晶屏操作功能,包括初始化、定位和显示文本,适用于基于ST7920控制器的12864液晶屏,并且通过串行方式与微控制器通信,降低了硬件接口的复杂性。