您当前的位置:五五电子网电子知识单元电路显示电路-显示屏字符型LCD的显示实验 正文
字符型LCD的显示实验

字符型LCD的显示实验

点击数:7985 次   录入时间:03-04 11:40:08   整理:http://www.55dianzi.com   显示电路-显示屏

  做一个实验,让英文字母“FH在显示屏的第二行第10列显示。通过这个实验,我们会掌握在显示屏上定位于什么位置显示字符。

  在我的文档中建立一个文件目录(LCD2),然后建立一个LCD2.uv2的工程项目,最后建立源程序文件(LCD2.asm)。
  
  输入下面的程序:

  编译通过后,将LCD2文件夹中的hex文件通过TOP851编程器烧录到89C51芯片中,将芯片插入到S2型数码管试验板上,试验板上标示LCD1的排针通过14芯排线与液晶显示模组( LCM)正确连接,将TOP851编程器的9V直流电源插到S2型试验板上通电运行。可看到液晶显示屏的第二行第10列显示英文字符“F”。
  
  对程序进行解释序号1(程序解释,以下同):程序分隔及说明。
  
  序号2:定义LCM的RS引脚由89C51的P3.3脚控制。
  
  序号3:定义LCM的R_W引脚由89C51的P3.4脚控制。
  
  序号4:定义LCM的E引脚由89C51的P3.5脚控制。
  
  序号5:定义LCM的数据口DBO_DB7由89C51的P1口控制。
  
  序号6:程序分隔及说明。
  
  序号7:程序从地址OOOOH开始。
  
  序号8:跳转到MAIN主程序处。
  
  序号9:程序分隔及说明。
  
  序号10:主程序MAIN从地址0030H开始。
  
  序号11:主程序开始,堆栈指针指向70H。
  
  序号12:调用启动LCM子程序进行初始化。
  
  序号13:向累加器送立即数11000111B,设定显示地址为第二行第10列。
  
  序号14:调用写指令到LCM子程序。
  
  序号15:向累加器送立即数46H,46H为英文字母“F”的ASCII码。
  
  序号16:调用写数据到LCM子程序。
  
  序号17:程序动态停机。
  
  序号18:程序分隔及说明。
  
  序号19~25:启动LCM子程序。
  
  序号26:程序分隔及说明。
  
  序号27~37:查询忙碌标志信号子程序。
  
  序号38:程序分隔及说明。
  
  序号39~46:写指令到LCM子程序。
  
  序号47:程序分隔及说明。
  
  序号48~55:写数据到LCM子程序。
  
  序号56:程序分隔及:说明。
  
  序号57~61:2.7mS延时子程序。
  
  序号62:程序分隔及说明。
  
  序号63:程序结束。
  
  下来做第三个实验,使LCM显示两行字符串(英文信息)。第一行显示“Welcome to LCD!!,第二行显示“ABCDEFGHIJKLMNOP”。
  
  在我的文档中建立一个文件目录( LCD3).然后建立-个LCD3.uv2的工程项目,最后建立源程序文件( LCD3.asm)。
  
  输入下面的程序:
  
  序号:1:****89C51引脚定义*******



www.55dianzi.com

  编译通过后,将LCD3文件夹中的hex文件通过TOP851编程器烧录到89C51芯片中,将芯片插入到S2型数码管试验板上,试验板上标示LCD1的排针通过14芯排线与液晶显示模组(LCM)正确连接,将TOP851编程器的9V直流电源插到S2型试验板上通电运行。可看到液晶显示屏上显示的内容正如我们期待的那样。
  
  对程序进行解释序号1(程序解释,以下同):程序分隔及说明。
  
  序号2:定义LCM的RS引脚由89C51的P3.3脚控制。
  
  序号3:定义LCM的R_W引脚由89C51的P3.4脚控制。
  
  序号4:定义LCM的E引脚由89C51的P3.5脚控制。
  
  序号5:定义LCM的数据口DBO_DB7由89C51的P1口控制。
  
  序号6:程序分隔及说明。
  
  序号7:程序从地址OOOOH开始。
  
  序号8:跳转到MAIN主程序处。
  
  序号9:程序分隔及说明。
  
  序号10:主程序MAIN从地址0030H开始。
  
  序号11:主程序开始,堆栈指针指向70H。
  
  序号12:调用启动LCM子程序进行初始化。
  
  序号13:调用清除LCM子程序。
  
  序号14:向累加器送立即数10000000B,设定显示地址为第一行第1列。
  
  序号15:调用写指令到LCM子程序。
  
  序号16:将第一行字符串的起始地址送入DPTR中。
  
  序号17:调用显示字符串到LCM子程序。
  
  序号18:向累加器送立即数11000000B.设定显示地址为第二行第1列。
  
  序号19:调用写指令到LCM子程序。
  
  序号20:将第二行字符串的起始地址送入DPTR中。
  
  序号21:调用显示字符串到LCM子程序。
  
  序号22:程序动态停机。
  
  序号23:程序分隔及说明。
  
  序号24:第一行字符串。
  
  序号25:第二行字符串。
  
  序号26:程序分隔及说明。
  
  序号27~33:启动LCM子程序。
  
  序号34:程序分隔及说明。
  
  序号35~45:查询忙碌标志信号子程序。
  
  序号46:程序分隔及说明。
  
  序号47~54:写指令到LCM子程序。
  
  序号55:程序分隔及说明。
  
  序号56~63:写数据到LCM子程序。
  
  序号64:程序分隔及说明。
  
  序号65~67:清除LCM子程序。
  
  序号68:程序分隔及说明。
  
  序号69~73:2,7mS延时子程序。
  
  序号74:程序分隔及说明。
  
  序号75—83:显示字符串到LCM子程序。由于这段子程序前面未出现过,这里作一详细解释。
  
  序号75:标号DISP作显示字符串到LCM子程序名称。将累加器内容压栈。
  
  序号76:清除累加器。
  
  序号77:查表将字符串内容送入累加器。
  
  序号78:若查到的内容为0,则终止查表。
  
  序号79:调用写数据到LCM子程序。
  
  序号80:DPTR加1指向下一个对象。
  
  序号81:跳转到DISP_LOOP循环执行。
  
  序号82:弹出压栈内容至累加器。
  
  序号83:子程序返回。
  
  序号84:程序分隔及说明。
  
  序号85:程序结束。
  
  以下,做第四个实验,使LCM显示两行字符串(英文信息)并循环移动。第一行显示“Shanghai”,第二行显示“China”。
  
  在我的文档中建立一个文件目录(LCD4).然后建立一个LCD4.uv2的工程项目,最后建立源程序文件(LCD4.asm)o输入下面的程序:
  
  序号:1:****89C51引脚定义*****

  编译通过后,将LCD4文件夹中的hex文件通过TOP851编程器烧录到89C51芯片中,将芯片插入到S2型数码管试验板上,试验板上标示LCD1的排针通过14芯排线与液晶显示模组( LCM)正确连接,将TOP851编程器的9V直流电源插到S2型试验板上通电运行。可看到液晶显示屏上显示的两行英文自左向右移动,反复循环。

[1] [2]  下一页


本文关键字:暂无联系方式显示电路-显示屏单元电路 - 显示电路-显示屏

《字符型LCD的显示实验》相关文章>>>