导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→16位lcd只亮前面8位,后面8位不亮,是怎么回事?[baolqkun]

 *第14959篇: 16位lcd只亮前面8位,后面8位不亮,是怎么回事?

  
楼 主:baolqkun 2003年7月28日19:04
 16位lcd只亮前面8位,后面8位不亮,是怎么回事?

  
2楼:demon_3000 2003年7月28日20:29
 不知道你的地址是否正确,要不换一个检验一下是否已经坏了
  
3楼:baolqkun 2003年7月28日20:55
 哈哈,我也想换一个,不过没有,就单纯加电时,它也是只有8位亮
  
4楼:guest 2003年7月28日21:03
 不只你的lcd是用什么芯片驱动,我用过天
不只你的lcd是用什么芯片驱动,我用过天马的,hd44780,查一下它的后8行地址,和前面8行不连续
  
5楼:baolqkun 2003年7月28日21:05
 我用的也是hd44780,但不知道怎么查后8行地址,就从单上电,它的后8位也不该亮吗?
以下是引用guest在2003-7-28 21:03:09的发言:
不只你的lcd是用什么芯片驱动,我用过天马的,hd44780,查一下它的后8行地址,和前面8行不连续

  
6楼:guest 2003年7月28日21:08
 你用google搜索一下,搜hd4478
你用google搜索一下,搜hd44780,下载它的pdf文件,查一查,如果你不加以控制它的状态可能不确定
  
7楼:baolqkun 2003年7月28日21:11
 我的程序如下,不知道还能怎么控制?
INT:    MOV     A,#30H  ;
        MOV     DPTR,#CW_Add    ;指令口地址设置
        MOV     R2,#03H         ;循环量=3 
INTa:   MOVX    @DPTR,A         ;写指令代码
        LCALL  DELAY            ;调延时子程序 
        DJNZ    R2,INTa
        MOV     COM,#038H       ;设置工作方式*
        LCALL   PR1             
        MOV     COM,#01H        ;清屏
        LCALL   PR1
        MOV     COM,#06H        ;设置输入方式
        LCALL   PR1
        MOV     COM,#0CH        ;设置显示方式
        LCALL   PR1
        RET
  
8楼:mxz 2003年7月28日21:18
 好久不动了,我也记不太清了,好象你应该在
好久不动了,我也记不太清了,好象你应该在显示方式后面加上显示地址命令
  
9楼:baolqkun 2003年7月28日21:21
 我的程序现在是能显示,但是,就是到了第9位往后,就不显示了,气死人
  
10楼:mxz 2003年7月28日21:29
 我可以明确的告诉你,你的地址不对,如果你
我可以明确的告诉你,你的地址不对,如果你不设地址,它从地址0开始显示,但第九位并不是地址9,是几,你从hd44780上查找
  
11楼:guest 2003年7月29日08:56
 第九位地址应该是40H
第九位地址应该是40H
  
12楼:guest 2003年7月29日23:49
 请问,您用总线驱动的还是用I/o驱动的
请问,您用总线驱动的还是用I/o驱动的
我用总线方式驱动不起来
请帮忙,谢谢
  
13楼:baolqkun 2003年7月29日14:19
 谢谢,知道了
  
14楼:guest 2003年7月29日15:18
 但是,出现了点小问题,A程序能显示前8位,后8位,光标在闪,但是不显示数字,为什么?
A程序:       
        MOV      COM,#06H ;设置工作方式
        LCALL    PR1
        MOV      COM,#0H ;设置DDRAM地址
        LCALL    PR1
        MOV      DPTR,#TAB
        MOV      R2,#12
        MOV      R3,#00H
WRIN:   MOV      A,R3
        MOVC     A,@A+DPTR
        MOV      DAT,A
        LCALL    PR2
        LCALL    DELAY
        INC      R3
        DJNZ     R2,WRIN

 
;
 MOV      COM,#06H ;设置工作方式
        LCALL    PR1
        MOV      COM,#40H ;设置DDRAM地址
        LCALL    PR1
        MOV      DPTR,#TAB
        MOV      R2,#12
        MOV      R3,#00H
WRIN1:  MOV      A,R3
        MOVC     A,@A+DPTR
        MOV      DAT,A
        LCALL    PR2
        LCALL    DELAY
        INC      R3
        DJNZ     R2,WRIN1INT:    MOV     A,#30H  ;
        MOV     DPTR,#CW_Add    ;指令口地址设置
        MOV     R2,#03H         ;循环量=3 
INTa:   MOVX    @DPTR,A         ;写指令代码
        LCALL DELAY           ;调延时子程序 
        DJNZ    R2,INTa
        MOV     COM,#038H       ;设置工作方式*
        LCALL   PR1             
        MOV     COM,#01H        ;清屏
        LCALL   PR1
        MOV     COM,#06H        ;设置输入方式
        LCALL   PR1
        MOV     COM,#0fH        ;设置显示方式
        LCALL   PR1
        RET
tAB:    DB 30h,31h,32h,33h,34h
 DB 35H,36H,37H,38H,39H
 DB 41H,42H,43H,44H,45H
 DB 46H,47H,48H,49H,4aH

  
15楼:baolqkun 2003年7月29日19:58
 16位lcd只亮前面8位,后面8位不亮,是怎么回事?
A程序:       
           MOV      COM,#06H ;设置工作方式
          LCALL    PR1
          MOV      COM,#0H ;设置DDRAM地址
          LCALL    PR1
          MOV      DPTR,#TAB
          MOV      R2,#12
          MOV      R3,#00H
WRIN: MOV      A,R3
          MOVC     A,@A+DPTR
          MOV      DAT,A
          LCALL    PR2
          LCALL    DELAY
          INC      R3
          DJNZ     R2,WRIN

 
;
         MOV      COM,#06H ;设置工作方式
         LCALL    PR1
         MOV      COM,#40H ;设置DDRAM地址
         LCALL    PR1
         MOV      DPTR,#TAB
         MOV      R2,#12
         MOV      R3,#00H
WRIN1: MOV      A,R3
         MOVC     A,@A+DPTR
        MOV      DAT,A
        LCALL    PR2
        LCALL    DELAY
        INC      R3
        DJNZ     R2,WRIN1INT:    MOV     A,#30H  ;
        MOV     DPTR,#CW_Add    ;指令口地址设置
        MOV     R2,#03H         ;循环量=3 
INTa:   MOVX    @DPTR,A         ;写指令代码
        LCALL DELAY           ;调延时子程序 
        DJNZ    R2,INTa
        MOV     COM,#038H       ;设置工作方式*
        LCALL   PR1             
        MOV     COM,#01H        ;清屏
        LCALL   PR1
        MOV     COM,#06H        ;设置输入方式
        LCALL   PR1
        MOV     COM,#0fH        ;设置显示方式
        LCALL   PR1
        RET
tAB:    DB 30h,31h,32h,33h,34h
          DB 35H,36H,37H,38H,39H
          DB 41H,42H,43H,44H,45H
          DB 46H,47H,48H,49H,4aH

  
16楼:baolqkun 2003年7月30日08:50
 好象是初始化顺序不对,大家能告诉我正确的初始化顺序吗?
  
17楼:demon_3000 2003年8月1日17:32
 还有,显示方式正确的话,就是第九位地址不对吧,一般应该是0c0H吧,试试!有什么问题找:7817594
  
18楼:baolqkun 2003年8月4日14:51
 老大,太好了,第9位就是0c0h,但是资料写的是40h,不知道是怎么回事
  
19楼:demon_3000 2003年8月1日17:25
 顺序要求不是很严格,只要把清屏防在最后就是了,还有你的显示设置是否正确,建议查附带资料

>>>>>>对该主题发表你的看法

本主题贴数19,分页: [第1页]


[上一篇主题]:請教

[下一篇主题]:64Kx8bit的flash存储器有哪些具体型号?哪里可以当这些资料?