您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制液晶显示器的测试程序 正文
液晶显示器的测试程序

液晶显示器的测试程序

点击数:7637 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   电脑-单片机-自动控制
  
  MCU要读取LCM忙碌标志信号的值时,是使用第9组指令:忙碌标志BF读取。

  序号1(程序解释,以下同):标号CHECK_BUSY作为检查忙碌标志信号子程序的名称,将累加器的内容入栈保护。
  
  序号2:置E=O,禁止读写LCM。
  
  序号3:置R_W=1,选择读模式。
  
  序号4:置RS=O,选择指令寄存器。
  
  序号5:置E=1,允许读写LCM。
  
  序号6:将LCM的DBO_DB7数据读至累加器中。
  
  序号7:置E=O,禁止读写LCM。
  
  序号8:判断由LCM读人数据的第7位(即BF)是否为17若等于I表示LCM忙碌中,程序跳转到BUSY_LOOP处继续查询:否则顺序执行。
  
  序号9:将存入堆栈区中的内容弹出给累加器。
  
  序号10:调用延时子程序,延时约2.7mS。
  
  序号11:子程序返回。



www.55dianzi.com

  写指令到LCM(IR寄存器)子程序

  写指令到LCM是使用第8组指令:DDRAM地址设定。DDRAM地址设定后,便可对LCM写入指令了。

  序号1(程序解释,以下同):标号WRITE_COM作为写指令到LCM子程序的名称,调用检查忙碌标志信号子程序CHECK_BUSY。
  
  序号2:置E=O,禁止读写LCM。
  
  序号3:置RS=O,选择指令寄存器。
  
  序号4:置R_W=O,选择写模式。
  
  序号5:置E=l,允许读写LCM。
  
  序号6:将累加器内容(指令)传送至LCM的DBO_DB7中。
  
  序号7:置E=O,禁止读写LCM。
  
  序号8:子程序返回。
  
  写数据到LCM(DR寄存器)子程序写数据到LCM是使用第10组指令:写数据到CGRAM或DDRAM中。
  
  实际上就是写数据到DR寄存器。

  序号1(程序解释,以下同):标号WRITE_DATA作为写数据到LCM子程序的名称,调用检查忙碌标志信号子程序CHECK_BUSY。
  
  序号2:置E=O,禁止读写LCM。
  
  序号3:置RS=1,选择数据寄存器。
  
  序号4:置R_W=O,选择写模式。
  
  序号5:置E=1,允许读写LCM。
  
  序号6:将累加器内容(数据)传送至LCM的DBO_DB7中。
  
  序号7:置E=O,禁止读写LCM。
  
  序号8:子程序返回。

  清除显示屏子程序

  清除显示屏使用第1组指令。清除显示屏子程序的作用有三个。其一是将DDRAM的内容全填入空白码20H;其二令光标回到显示屏的左上方;其三令地址计数器AC的值为O。

  序号1(程序解释,以下同):标号CLS作为清除显示屏子程序的名称,将立即数OOOOOOOIB传送给累加器。
  
  序号2:调用写指令到LCM(IR寄存器)子程序。
  
  序号3:子程序返回。
  
  启动LCM子程序当电源打开后,MCU必须要启动LCM工作。启动LCM工作的方式有两种:
  
  1.自动启动(冷启动)。
  
  2.指令启动(热启动)。
  
  如果在打开电源时,加在LCM上的电源时序变化符合图1的变化特性,则LCM会自动执行下列的指令以启动工作:
  
  1.自动清除显示屏。
  
  2.自动功能设定。DL=1设定8位数据传送;N=O设定为显示一行;F=O设定使用5x7字型。
  
  3.自动设定显示屏ON/OFF控制。
  
  D=O设定显示屏不显示;C=O设定光标不显示;B=O设定不闪烁。
  
  4.自动设定进入模式设定I/O=1设定为递增模式;S=O设定显示屏不移动。
  
  在LCM执行自动启动的工作后,MCU只要依照系统所需要的功能重新对LCM依序下达功能设定指令、显示屏ON/OFF控制指令及进入模式设定指令即可。在一般的使用情形之下,电源打开的时序都可以符合图1的变化特性,所以MCU启动LCM的子程序也只需要利用WRITE_COM子程序,对LCM下达功能设定指令、显示器ON/OFF控制指令及进入模式设定指令即可。例如,要让LCM使用8位数据传送、显示两行、使用5x7的字型、显示屏显示、光标要显示但不闪烁及每一次数据输入DDRAM后光标向右移动一格,则LCM启动子程序可写成如下。

  序号1(程序解释,以下同):标号INITIAL作为启动LCM子程序的名称,将立即数O0111000B送入累加器中,LCM设定为使用8位数据传送、显示两行、使用5x7字型。
  
  序号2:调用WRITE_COM写指令到LCM(IR寄存器)子程序。
  
  序号3:将立即数OOO01110B送入累加器中.LCM设定为显示屏显示、光标显示并闪烁。
  
  序号4:调用WRITE_COM写指令到LCM(IR寄存器)子程序。
  
  序号5:将立即数OOOO0110B送入累加器中.LCM设定为每次数据输入DDRAM后,光标向右移动一格。
  
  序号6:调用WRITE_COM写指令到LCM(IR寄存器)子程序。
  
  序号7:子程序返回。
  
  如果LCM电源打开时,电源的时序特性不符合图1要求,则必须要使用指令启动(热启动)的方式启动LCMo图2为使用8位数据传送时的指令启动的流程。具体程序读者朋友可在学会字符型LCD显示器编程技术后自行编写。使用指令启动方式启动LCM时,在未执行一般的启动动作之前,不可以检查忙碌标志信号BF的值,否则会无法启动LCM,这点请特别注意。



上一页  [1] [2] 


本文关键字:程序  液晶显示器  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制