导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→高手们...谁帮我看看下面的程序吧(一个点液晶的单片机程序)[qinr]

 *第9642篇: 高手们...谁帮我看看下面的程序吧(一个点液晶的单片机程序),我不会解决

  
楼 主:qinr 2003年3月31日22:09
 高手们...谁帮我看看下面的程序吧(一个点液晶的单片机程序),我不会解决
我找不出为什么编译总出错,哪位大侠能帮帮忙,最好加我qq:241248,谢谢
    ;RS=P2.0
    ;R/W=P2.1
    ;CS1=P2.7
    ;CS2=P2.6
    ;CPU=89C52
    ;FOSC=12MHz
    ;D0-D7=P0.0-P0.7
    ;E=/(WR*RD)
    ;/RSET=/(CPU RSET)
    D1   EQU  #8101H    ;DATA    ADDRESS OF CHIP1 (LEFT HAIF SCREEN) A15=1,A8=1
    C1   EQU  #8000H    ;COMMAND ADDRESS OF CHIP1 (LEFT HAIF SCREEN) A15=1,A8=0
    D2   EQU  #4101H    ;DATA    ADDRESS OF CHIP2(RIGHT HAIF SCREEN) A14=1,A8=1
    C2   EQU  #4000H    ;COMMAND ADDRESS OF CHIP2(RIGHT HAIF SCREEN) A14=1,A8=0
    ;D12  EQU  #0C101H    ;DATA    ADDRESS OF CHIP1 AND CHIP2  ONLY LEFT HAIF SCREEN IS
    ;C12  EQU  #0C000H    ;COMMAND ADDRESS OF CHIP1 AND CHIP2  THE SAME WITH RIGHT HAIF SCREEN
    KEY  EQU  P3.4
;   BMP  ROM  ADDRESS,  BMPS FILE FIRST ADDREES

   TJHD  EQU  #800H


    FLAG EQU  20H.0

         ORG  0000H
  LJMP MAIN

         ORG  0030H
MAIN:    MOV SP,#60H
         LCALL INTI
         MOV IE,#83H

START1:
         MOV A,#055H
         LCALL WDOT
         LCALL DEL_0.5S
         MOV A,#0FFH
         LCALL WDOT
         LCALL DEL_0.5S
         MOV A,#0AAH
         LCALL WDOT
         LCALL DEL_0.5S
         MOV DPTR,TJHD
         LCALL BMP_FULL
         LCALL DEL_0.5S
         AJMP START1
DEL_0.5S:

           MOV R7,#20D
DEL2:        MOV R6,#200D
DEL1:        MOV R5,#200D
DEL0:        JB KEY,DEGO
             LJMP RKEY
DEGO:

             DJNZ R5,DEL0
             DJNZ R6,DEL1
             DJNZ R7,DEL2
             RET
RKEY:        LCALL DEL_20MS
             JB KEY,DEGO
HERR:
             JNB KEY,HERR
             LCALL DEL_20MS
             JNB KEY,HERR
             RET


WDOT:

         PUSH ACC
         MOV 30H,#0B8H     ;PAGE ADDRESS
         MOV R3,#08D       ;8 PAGE
ANDW:
         MOV A,30H
         MOV DPTR,C1      ;SET PAGE ADDRESS
         MOVX @DPTR,A
         MOV A,30H
         MOV DPTR,C2      ;SET PAGE ADDRESS
         MOVX @DPTR,A
         LCALL BUSY
         MOV DPTR,C1
         MOV A,#40H        ;SET SEG ADDRESS
         MOVX @DPTR,A
         MOV DPTR,C2
         MOVX @DPTR,A

         LCALL BUSY
         MOV DPTR,C1
         MOV A,#0C0H        ;SET SEG ADDRESS
         MOVX @DPTR,A
         MOV DPTR,C2
         MOVX @DPTR,A
         LCALL BUSY

         MOV R2,#64D      ;64D SEG
APAGEW:
         POP ACC
         MOV DPTR,D1
         MOVX @DPTR,A      ;WRITE DISPLAY DATA
         LCALL BUSY         ;READ BUSY FLAG
         CJNE A,#0FFH,NOTP
         AJMP NOTW
NOTP:
         CPL A
NOTW:
         PUSH ACC
         DJNZ R2,APAGEW     ;DISPLAY A PAGE

         MOV R2,#64D      ;64D SEG
APAGEW1:

         POP ACC
         MOV DPTR,D2
         MOVX @DPTR,A      ;WRITE DISPLAY DATA
         LCALL BUSY         ;READ BUSY FLAG
         CJNE A,#0FFH,NOTP1
         AJMP NOTW1
NOTP1:
         CPL A
NOTW1:
         PUSH ACC
         DJNZ R2,APAGEW1     ;DISPLAY A PAGE
         INC 30H
         DJNZ R3,ANDW       ;DISPLAY 8 PAGES
         POP ACC
         RET

BMP_FULL:
         PUSH DPL
         PUSH DPH    ;BMP FIST ADDRESS
         PUSH DPL
         PUSH DPH
         MOV 30H,#0B8H     ;PAGE ADDRESS
         MOV R3,#08D       ;8 PAGE
NDW:
         MOV A,30H
         MOV DPTR,C1      ;SET PAGE ADDRESS
         MOVX @DPTR,A
         MOV A,30H
         MOV DPTR,C2      ;SET PAGE ADDRESS
         MOVX @DPTR,A
         LCALL BUSY
         MOV DPTR,C1
         MOV A,#40H        ;SET SEG ADDRESS
         MOVX @DPTR,A
         MOV DPTR,C2
         MOVX @DPTR,A
         LCALL BUSY
         MOV DPTR,C1
         MOV A,#0C0H        ;SET SEG ADDRESS
         MOVX @DPTR,A
         MOV DPTR,C2
         MOVX @DPTR,A
         LCALL BUSY

         MOV R2,#64D      ;64D SEG
PAGEW:
         POP DPH
         POP DPL
         MOV A,#3EH        ;READ BMP DATA
         MOVC A,@A+DPTR
         LCALL BTCH
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         PUSH DPL
         PUSH DPH
         MOV DPTR,D1
         MOVX @DPTR,A      ;WRITE DISPLAY DATA
         LCALL BUSY         ;READ BUSY FLAG
         DJNZ R2,PAGEW     ;DISPLAY A PAGE

         MOV R2,#64D      ;64D SEG
PAGEW1:
         POP DPH
         POP DPL
         MOV A,#3EH        ;READ BMP DATA
         MOVC A,@A+DPTR
         LCALL BTCH
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         INC DPTR
         PUSH DPL
         PUSH DPH
         MOV DPTR,D2
         MOVX @DPTR,A      ;WRITE DISPLAY DATA
         LCALL BUSY         ;READ BUSY FLAG
         DJNZ R2,PAGEW1     ;DISPLAY A PAGE
         POP DPH
         POP DPL
         POP DPH
         POP DPL
         INC DPTR
         PUSH DPL
         PUSH DPH
         PUSH DPL
         PUSH DPH
         INC 30H
         DJNZ R3,NDW       ;DISPLAY 8 PAGES
         POP DPH
         POP DPL
         POP DPH
         POP DPL
         RET

;*****************************

DKEY:    JB KEY,DKEY
         LCALL DELAY_20MS
         JB KEY,DKEY
WAIT:    JNB KEY,WAIT
         LCALL DELAY_20MS
         JNB KEY,WAIT
         RET
INTI:
         MOV A,#3FH
  MOV DPTR,C1
  MOVX @DPTR,A
  LCALL BUSY
         MOV DPTR,C2
         MOVX @DPTR,A
  LCALL BUSY
         MOV A,#0C0H
  MOV DPTR,C1
  MOVX @DPTR,A
  LCALL BUSY
         MOV DPTR,C2
         MOVX @DPTR,A
  LCALL BUSY


         RET


BUSY:

  PUSH DPL
  PUSH DPH
  PUSH ACC
  MOV DPTR,#8200H
BUSY1:
  MOVX A,@DPTR
  JB ACC.7,BUSY1
  MOV DPTR,#4200H
BUSY2:
  MOVX A,@DPTR
  JB ACC.7,BUSY2
  POP ACC
  POP DPH
  POP DPL
  RET
DEL_20MS:
DELAY_20MS:
         MOV R7,#20D
DD2:     MOV R6,#200D
DD1:
         NOP
         NOP
         NOP
         DJNZ R6,DD1
         DJNZ R7,DD2
         RET

BTCH:

  MOV    C,ACC.7
  MOV    FLAG,C
  MOV    C,ACC.0
  MOV    ACC.7,C
  MOV    C,FLAG
  MOV    ACC.0,C

  MOV    C,ACC.6
  MOV    FLAG,C
  MOV    C,ACC.1
  MOV    ACC.6,C
  MOV    C,FLAG
  MOV    ACC.1,C

  MOV    C,ACC.5
  MOV    FLAG,C
  MOV    C,ACC.2
  MOV    ACC.5,C
  MOV    C,FLAG
  MOV    ACC.2,C

  MOV    C,ACC.4
  MOV    FLAG,C
  MOV    C,ACC.3
  MOV    ACC.4,C
  MOV    C,FLAG
  MOV    ACC.3,C

         RET

         RET

         END


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

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


[上一篇主题]:大侠帮忙看看下面程序怎么写进片子相当于没用一样。。。。QQ:241248

[下一篇主题]:请问oki的芯片AA30(8脚)是什莫芯片?怎样查找资料(本人英文不行)