首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

驱动HT1621程序有关问题

2012-12-14 
驱动HT1621程序问题ORG00JMPSTORG10HST: CALLINITBS P6,1BS P5,1------------------------------------CA

驱动HT1621程序问题
ORG00
JMPST
    ORG10H
ST: CALL   INIT
BS P6,1
BS P5,1
;------------------------------------
CALLLCDINIT
ST1:BS P5,1
MOVA,@0xff
MOVLCD1,A
MOVLCD2,A
MOVLCD3,A
MOVLCD4,A
CALLWRDATA
BC P5,1
    JMPST1
;-------------------------------------
INIT:   MOVA,@00H
    IOWIOC5
    IOWIOC6
    IOWIOC7
    CLRP5
    CLRP6
    BSP7,0
    MOVA,@0X10
    MOVR4,A
INIT_1: CLR0
INCR4
MOVA,R4
    XORA,@0X40
JBSPSW,2
    JMPINIT_1
    RET
;--------------------------------------
HT1621: MOVA,DATA1621   
BCP5,_WR
CALLNOPP
AND   A,@0X80
JBS   PSW,Z
JMP   HT1621_1
BCP5,_DATA
JMP   HT1621_2
HT1621_1:   BSP5,_DATA
HT1621_2:   CALLNOPP   
BSP5,_WR
BCPSW,C
RLCDATA1621
DJZFLAG1
JMPHT1621
RET
;---------------------------
WRDATA: 
;       CALL COM_M
;       CALL LCD_ON
        NOP
        MOV A,@6
        MOV FLAG1,A
         BS P7,_CS  ;WRITE-101
         BC P5,_DATA
     BC P5,_WR     ;/WR=0
   CALL NOPP    
     BC P7,_CS     ;/CS=0
 BS P5,_DATA     ;DATA=1
     BS P5,_WR     ;/WR=1
   CALL NOPP
     BC P5,_WR     ;/WR=0
     BC P5,_DATA     ;DATA=0
     BS P5,_WR     ;/WR=1
   CALL NOPP
     BC P5,_WR     ;/WR=0
     BS P5,_DATA     ;DATA=1
     BS P5,_WR    ;/WR=1
   CALL NOPP
     BC P5,_WR     ;/WR=0
 LCD_A1: BC P5,_DATA
   CALL NOPP
     BS P5,_WR      ;/WR=1
       CALL NOPP
     BC P5,_WR      ;/WR=0
    DJZ FLAG1
    JMP LCD_A1
        
    MOV A,@LCD1
    MOV R4,A
    MOV A,@0X04
    MOV FLAG1,A
 LCD_A2:MOV A,0
    MOV DATA1621,A
    MOV A,@8
        MOV FLAG2,A


 LCD_A3: BC P5,_DATA
        JBC DATA1621,7 ;COMMAND,7=0
     BS P5,_DATA
    CALL NOPP
        RLC DATA1621
         BS P5,_WR
         CALL NOPP
         BC P5,_WR
        DJZ FLAG2
        JMP LCD_A3
        INC R4
        DJZ FLAG1
        JMP LCD_A2
     BS P7,_CS      ;/CS=1
     
;   JBC STATUS1,6
;   CALL LCD_OFF
        RET
;---------------------------------
WRCMD:   MOV A,@0X08
     MOV FLAG1,A
     BS P7,_CS    ;WRITE_100
     CALL NOPP
     BC P5,_DATA
     BC P5,_WR     ;/WR=0    
     BC P7,_CS     ;/CS=0
 BS P5,_DATA        ;DATA=1
     CALL NOPP
     BS P5,_WR     ;/WR=1
     CALL NOPP
     BC P5,_WR     ;/WR=0
     BC P5,_DATA        ;DATA=0
     CALL NOPP
     BS P5,_WR     ;/WR=1
     CALL NOPP
     BC P5,_WR     ;/WR=0
     BC P5,_DATA       ;DATA=0
         CALL NOPP
     BS P5,_WR     ;/WR=1
     CALL NOPP
     BC P5,_WR     ;/WR=0
     BC P5,_DATA
     CALL NOPP
     BS  P5,_WR
     CALL NOPP
     BC  P5,_WR
;----------------------------
C8_C1_W: BC P5,_DATA
        JBC A_BUF,7 ;COMMAND,7=0
     BS P5,_DATA
        RLC A_BUF 
       CALL NOPP        
     BS P5,_WR      ;/WR=1
       CALL NOPP
     BC P5,_WR      ;/WR=0
   CALL NOPP
    DJZ FLAG1
    JMP C8_C1_W
     BS P7,_CS       ;/CS=1
    RET
;-------------------------------
LCDINIT:   BS  P7,_CS


   BC  P5,_WR
   BC  P5,_DATA 
   MOVA,@100
   MOVR23,A
       CALLDELAY
;---------------------------------
    MOVA,@30H   
   MOVA_BUF,A
   CALLWRCMD
   
    MOVA,@2H   
   MOVA_BUF,A
   CALLWRCMD
   
   MOVA,@52H   
   MOV A_BUF,A
   CALLWRCMD
   
    MOVA,@6H   
   MOVA_BUF,A
   CALLWRCMD
   
   MOV A,@0AH
   MOV A_BUF,A
   CALLWRCMD
 RET 
;--------------------------------------------- 
NOPP:  NOP
   NOP
   NOP
   NOP
   NOP
   RET
;-----------------------------
DELAY:MOVA,R23
  MOVR22,A
DELAY1:   MOVA,@136
  MOVR21,A
DELAY2:   DJZR21
  JMPDELAY2
  DJZR22
  JMPDELAY1
  RET
END
程序如上 LCD没显示  我已经看了一天了都找不出问题求大虾帮帮忙 
[最优解释]
先检查硬件问题,不一定是程序问题

另外多加点注释1621的设置注释出来,好让大家看看是不是设置问题

我用C写的程序行数比你多好多,按道理C应该更简洁
[其他解释]
HT1621的程序很多 可以参考一下网上的

HT1621程序 
[其他解释]
有点复杂
[其他解释]

引用:
先检查硬件问题,不一定是程序问题

另外多加点注释1621的设置注释出来,好让大家看看是不是设置问题

我用C写的程序行数比你多好多,按道理C应该更简洁
检查出了是硬件问题 是调背景的电阻不对

热点排行