液晶显示器由于其自身的优点而广泛用于电子设备中。文详细介绍了使用ST7920控制器显示中小尺寸12864 LCD显示器的硬件和软件设计方法。
方法具有一定的实用性,对其他形式的液晶显示器的设计具有一定的参考价值。积小,中等;液晶显示器; ST7920; 12864简介LCD显示屏具有以下特点:低电压,低功耗,显示屏信息,寿命长,广泛应用于人机交互界面。前,随着集成电路制造技术和电子技术的快速发展,LCD器件已成为信息领域最重要的信息处理方法之一。时,在许多应用领域中使用的越来越多的便携式数字设备使用微控制器作为控制心脏和LCD作为显示终端。12864点矩阵液晶是中小型液晶的典型代表,被广泛使用。文以ST7920 12864控制器为例,介绍其实际应用方法。ST7920是控制器的12864。
LCD控制显示信息。必须编写显示在LCD屏幕缓冲区中的编码数据。
通过一系列LCD控制命令写入数据,您可以执行命令。ST7920 RS和R / W控制信号控制显示控制命令。DB0-DB7是实现外部CPU与内部液晶处理器之间数据通信的数据总线,交互数据包括控制命令和要显示的数据。于ST6420控制器的12864中文字符库基于针脚的LCD控制的主要指令列表如表1所示。1 ST7920显示屏的主要控制指令列表液晶液晶显示器的控制设置与其他可控设备的控制设置相同为了使液晶盒正常工作,需要进行一些控制,这与高电平的充足顺序相对应和低控制信号。于LCD驱动程序开发,主机控制器必须根据适当的时序与ST7920控制器通信。1是12864 ST7920控制液晶的8位并行端口写操作的时序图。图1中可以看出,当通过8位DB0-DB7并行端口执行写操作控制时,需要三个RS,R / W和E控制信号进行协作:首先,RS基于以下事实:并行端口上写入的数据是命令或显示数据。
义或设置为0,写入后R / W读/写控制信号应设置为0,然后控制使能信号E应设置为1.只有上面列出的三个控制信号是以上是稳定的,8位并行端口可以是DB0-DB7。线上的数据可以写在LCD上,写入后激活信号E设置为0。使用中,要特别注意每个控制信号的高低转换期间的不稳定阶段。写操作应该尝试避免这一步骤。了读写控制信号不同外,ST7920控制的8位LCD 12864 LCD并行读操作的时序图与写操作类似。1 8位LCD并行端口的同步图写操作与ST7920控制硬件显示接口电路与LCD显示器这是一个单片机控制LCD的例子STC89C52,显示了MCU与液晶之间的连接过程。2是一个8位并行端口STC89C52控制接口图。
MCU的端口P1连接到液晶的DB0-DB7作为总线通道,用于控制和显示数据; P3.0,P3.1和P3.2分别连接到液晶的RS,R / W和E,以形成液晶显示控制信号。道。
2 8位并行端口图和STC89C52接口LCD软件设计根据图2中的硬件连接图,在显示器上显示“ST7920显示控制”等字符。
LCD屏幕作为程序代码设计的一个例子。置位E = P3 ^ 2;位RW = P3 ^ 1; RS比特= P3 ^ 0; BUSY位= P1 ^ 7;忙检测功能为空Parallel_Check_Busy(void)//检查忙状态并等待{unsigned tank temp; P0 = 0xff; //预定义输入1作为输入端口RS = 0; //命令RW = 1; //读取模式做{E = 1; //激活时间= P00x80; //检测忙状态(b7)E = 0;} while(temp); // busy wait} write operation function void Parallel_Write_LCD(unsigned character A0,unsigned character ud8){Parallel_Check_Busy(); RS = A0? 1:0;数据或指令RW = 0; //写模式P0 = ud8; //数据放在端口P0 E = 1; // P2 = 0; _nop_(); _ nop_(); _ nop_(); E = 0;}初始化真空Parallel_Init_LCD(void)// LCD屏幕的并行初始化{// unsigned char i; // RST = 0; // for(i = 0; i <10; i ); RST = 1; Parallel_Write_LCD(0,0x30); //基本指令操作Parallel_Write_LCD(0,0x01); //清除Parallel_Write_LCD屏幕(0,0x06); //光标移动方向Parallel_Write_LCD(0,0x0c); //打开显示,光标关闭DDRAM地址设置功能void Parallel_DDRAM_Address_Set(uchar ucDDramAdd){Parallel_Write_LCD(Add,BASIC_FUNCTION); //基本指令集Parallel_Write_LCD(COMMAND,ucDD-ramAdd); //设置DDRAM地址}字符串void显示函数Parallel_DisplayStrings(无符号字符ucAdd,无符号字符代码* p){unsigned character i; i = strlen(p); Parallel_Write_LCD(0,恒温阀芯0x30); //基本语句动作Parallel_DDRAM_Address_Set(ucAdd); (; i)。; i – ){Parallel_Write_LCD(1,* p );}} main函数void main(void){Parallel_Init_LCD();只要(1){Parallel_DisplayStrings(0x80,“ST7920 Display Control”);只要(1);}}结论由于其优点,中小型LCD越来越多地用作电子设备的人机交互界面。文档介绍了ST7920控制器中小型12864 LCD的硬件和软件实现方法,以及开发和使用LCD应用程序的步骤。方法具有一定的普遍适用性,为其他形式的液晶显示器的设计提供了一些参考。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com