ST7920控制的12864液晶屏驱动详解

4星 · 超过85%的资源 需积分: 34 6 下载量 128 浏览量 更新于2024-09-11 收藏 357KB PDF 举报
12864液晶屏(ST7920)驱动程序设计 在人机交互显示界面中,12864液晶屏是一种常用的显示设备,其横向可以显示128个点,纵向可以显示64个点。该液晶屏的控制芯片有多种,例如KS0108、T6963、ST7920等等。本文将以ST7920为主控芯片的12864液晶屏为例,介绍如何驱动该液晶屏。 **液晶屏的并行连接** 液晶模块和单片机的连接除了P0口的8位并行数据线之外,还有RS、RW、E等几根线。其中RS是指令和数据寄存器的选择控制线(串行模式下为片选),RW是读写控制线(串行模式下是数据线),E是使能线(串行模式下是时钟线)。 **液晶屏的时序图** 通过了解液晶屏的时序图,我们可以编写出相应的驱动程序。写时序图如下所示: 根据这个时序图,我们可以写出写数据或者写命令到LCD12864液晶的子程序。读时序图如下所示: 根据这个时序图,我们可以从LCD12864液晶模块内部RAM中读出相应的数据,我们的忙检测函数就是根据这个时序图写出来的。 **液晶屏的指令集** OCMJ4X8C的相关指令集分为基本指令集和扩充指令集,其中扩充指令集主要是与绘图相关。在编写驱动程序时,我们需要了解这些指令集。 **驱动程序设计** 根据上述知识点,我们可以编写出驱动程序。以下是驱动程序的部分代码: ```c #include"reg52.h" #include"intrins.h" sbit io_LCD12864_RS=P1^0; sbit io_LCD12864_RW=P1^1; sbit io_LCD12864_EN=P1^2; ``` 驱动程序中有多个函数,例如写数据、写指令、忙检测、初始化、指定地址显示字符串等等。 **实际显示效果** 通过编写驱动程序,我们可以实现液晶屏的显示效果,例如显示字符串、图形等等。我们可以根据实际需求来设计驱动程序,以实现不同的显示效果。 通过了解12864液晶屏的基本原理、时序图和指令集,我们可以编写出相应的驱动程序,以实现液晶屏的显示效果。