RSS

1602LCD屏上显示字母“A”

来源: 作者: 时间:2007-06-25 Tag: 点击:

做这实验之前我们需要将相关的实验器材准备好

    1:RT1602C液晶显示模块一个

    2:AT89S51芯片一片

    3:编程器及相关的编程软件

    4:电脑就不用我在这里提了吧。呵呵

 现在你可以按下图的LCD驱动电路做个电路板,购买了本站产品的朋可直接将配套的1602插到驱动接口上:VSS为地电源                         
VDD接5V正电源
VL为液晶显示器对比度调整端:接正电源时对比度最弱,接地电源时对比度最高,对比度过高时 
                会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
RS为寄存器选择:高电平时选择数据寄存器、低电平时选择指令寄存器。
RW为读写信号线:高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写
                入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电
                平RW为低电平时可以写入数据。
E端为使能端:当E端由高电平跳变成低电平时,液晶模块执行命令。
DB0~DB7为8位双向数据线
BLK和BLA:是背光灯电源。

在上一课我们已经知道了字母“A”的代码是01000001B了,为什么会是01000001B呢?如果还不明白?请返回上节再巩固一下吧!

其实现在有查询LCD显示内码的软件,点击这里下载,不过大家最好去理解一下。

;*******************************源程序如下*********************************
;单片机自学网
     RS   BIT   P3.0
     RW   BIT   P3.1
     E    BIT   P3.5
     DB0_DB7 DATA P1
     ORG    00H
     AJMP   START
     ORG    000BH
     AJMP   INSE 
     ORG    50H
START:MOV   TMOD,#0
      MOV   TL0,#0
      MOV   TH0,#0
      SETB  EA
      SETB  ET0
      SETB  TR0
      MOV   R5,#50
      MOV   SP,#60H
      ACALL INIT
      MOV   A,#10000000B   ;写入显示地址为第一行第一位。
      ACALL C51
      MOV   A,#01000001B   ;字母“A”的代码。
      ACALL C51DDR
LOOP: AJMP  LOOP
INSE: MOV   TL0,#0         ;中断服务子程序。
      MOV   TH0,#0
      DJNZ  R5,NO
      MOV   R5,#50
NO:   RETI
INIT: MOV   A,#00111000B   ;使用8Bits汇流排,显示两行,使用5*7的字型。
      LCALL C51
      MOV   A,#00001110B   ;显示器开,光标开,光标闪烁。
      LCALL C51
      MOV   A,#00000110B   ;字符不动,光标自动右移一格。
      LCALL C51
      RET
DDW:                 ;检查忙碌子程序。
      PUSH  ACC
DDW1:CLR RS
      SETB  RW
      CLR   E
      SETB  E
      MOV   A,DB0_DB7
      CLR   E
      JB    ACC.7,DDW1
      POP   ACC
      ACALL DELAY
      RET
C51:                      ;写入IR寄存器子程序。
      ACALL DDW
      CLR   E
      CLR   RS
      CLR   RW
      SETB  E
      MOV   DB0_DB7,ACC
      CLR   E
      RET
C51DDR:                   ;写入DR寄存器子程序。
      ACALL DDW
      CLR   E
      SETB  RS
      CLR   RW
      SETB  E
      MOV   DB0_DB7,ACC
      CLR   E
      RET
DELAY:                   ;延时子程序。
      MOV   R6,#5
D1:   MOV   R7,#248
      DJNZ  R7,$
      DJNZ  R6,D1
      RET
      END

以上程序书写时用二进制目的是为了方便大家去理解。将上面的程序编译好后用编程器将程序写入AT89S51芯片,然后将写好的AT89S51芯片插入本站提供的实验板或自已DIY的实验板上,通电运行,这时在1602液晶显示器上就显示出一个“A”了。


1.部分资源来自网络,经ET电子归类整理,旨在服务电子爱好者并无商业目的,不保证正确性与完整性.
2.如果您觉得本站资源对您有用,请告知您的好友,用搜索引擎搜"ET电子"即可.


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
教程下载