打印

跪求高手帮小弟看下这个程序哪里出问题了

[复制链接]
1333|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shuiruohan258|  楼主 | 2011-9-18 21:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, se, RS, AC, CD
为什么程序运行一段时间后就会花屏
                  
                    CS          BIT      P2.0                 ;片选          试验板上的连接线
                    SID         BIT      P2.1                 ;串行数据线
                    SCLK        BIT      P2.2
                  
                    ORG 0000H
                    LJMP MAIN
                    ORG 0060H
               MAIN:clr p2.3           ;这3句是因为实验板上没有连线,如果有液晶屏上连接上后就不需要了
                    setb p2.4
                    setb p2.5
                    LCALL LCDRESET
                 X1:LCALL HZDIS
                    lcall x1
                  
            LCDRESET:LCALL  DL1MS
                    
                    MOV   A,#30H     ;使用基本指令集(0011 0000B)
                    LCALL LCDWRITE
                    LCALL DL1MS
                    
                    MOV   A,#0CH
                    LCALL LCDWRITE     ;整体显示(00001100B)
                    LCALL DL1MS
                    
                    MOV   A,#01H
                    LCALL LCDWRITE     ;清屏(00000001B)
                    LCALL DL1MS
                    
                    MOV   A,#06H
                    LCALL LCDWRITE     ;显示右移(00000110B)
                    LCALL DL1MS
                    RET
                    
           LCDWRITE:SETB  CS
                    SETB  SID
                    CLR   SCLK
                    SETB  SCLK     ;1
                    
                    CLR   SCLK
                    SETB  SCLK     ;2
                    
                    CLR   SCLK
                    SETB  SCLK     ;3
                    
                    CLR   SCLK
                    SETB  SCLK     ;4
                    
                    CLR   SCLK
                    SETB  SCLK     ;5
                    
                    CLR   SCLK
                    CLR   SID
                    SETB  SCLK     ;RW=0
                    CLR   SCLK
                    SETB  SCLK     ;RS=0
                    
                    CLR   SCLK
                    SETB  SCLK     ;1
                    
                    CLR   SCLK
                    MOV   C,ACC.7               
                    MOV   SID,C
                    SETB  SCLK     ;1
                    
                    CLR   SCLK
                    MOV   C,ACC.6               
                    MOV   SID,C
                    SETB  SCLK     ;2
                    
                    CLR   SCLK
                    MOV   C,ACC.5               
                    MOV   SID,C
                    SETB  SCLK     ;3
                    
                    CLR   SCLK
                    MOV   C,ACC.4               
                    MOV   SID,C
                    SETB  SCLK     ;4
                    
                    CLR   SCLK     ;SID=0000
                    CLR   SID
                    SETB  SCLK     ;1
                    
                    CLR  SCLK
                    SETB SCLK      ;2
                    
                    CLR  SCLK
                    SETB SCLK      ;3
                    
                    CLR  SCLK
                    SETB SCLK      ;4
                    
                    CLR   SCLK
                    MOV   C,ACC.3               
                    MOV   SID,C
                    SETB  SCLK     ;1
                    
                    CLR   SCLK
                    MOV   C,ACC.2               
                    MOV   SID,C
                    SETB  SCLK     ;2
                    
                    CLR   SCLK
                    MOV   C,ACC.1               
                    MOV   SID,C
                    SETB  SCLK     ;3
                    
                    CLR   SCLK
                    MOV   C,ACC.0               
                    MOV   SID,C
                    SETB  SCLK     ;4
                    
                    CLR   SCLK
                    CLR   SID
                    SETB  SCLK     ;1
                    
                    CLR  SCLK
                    SETB SCLK      ;2
                    
                    CLR  SCLK
                    SETB SCLK      ;3
                    
                    CLR  SCLK
                    SETB SCLK      ;4
                    LCALL DL1MS
                    SETB CS
                    RET
            LCDDAT:SETB  SCLK
                   SETB  SID
                   CLR   SCLK
                   SETB  SCLK     ;1
                    
                   CLR   SCLK
                   SETB  SCLK     ;2
                    
                   CLR   SCLK
                   SETB  SCLK     ;3
                    
                   CLR   SCLK
                   SETB  SCLK     ;4
                    
                   CLR   SCLK
                   SETB  SCLK     ;5
                  
                   CLR   SCLK
                   CLR   SID
                   SETB  SCLK     ;RW=0
                  
                   CLR   SCLK
                   SETB  SID
                   SETB  SCLK     ;RS=1
                  
                   CLR   SCLK
                   CLR   SID
                   SETB  SCLK     ;1
                    
                   CLR   SCLK
                   MOV   C,ACC.7               
                   MOV   SID,C
                   SETB  SCLK     ;1
                    
                   CLR   SCLK
                   MOV   C,ACC.6               
                   MOV   SID,C
                   SETB  SCLK     ;2
                    
                   CLR   SCLK
                   MOV   C,ACC.5               
                   MOV   SID,C
                   SETB  SCLK     ;3
                    
                   CLR   SCLK
                   MOV   C,ACC.4               
                   MOV   SID,C
                   SETB  SCLK     ;4
                    
                   CLR   SCLK     ;SID=0000
                   CLR   SID
                   SETB  SCLK     ;1
                    
                   CLR  SCLK
                   SETB SCLK      ;2
                  
                   CLR  SCLK
                   SETB SCLK      ;3
                    
                   CLR  SCLK
                   SETB SCLK      ;4
                    
                   CLR   SCLK
                   MOV   C,ACC.3               
                   MOV   SID,C
                   SETB  SCLK     ;1
                    
                   CLR   SCLK
                   MOV   C,ACC.2               
                   MOV   SID,C
                   SETB  SCLK     ;2
                    
                   CLR   SCLK
                   MOV   C,ACC.1               
                   MOV   SID,C
                   SETB  SCLK     ;3
                    
                   CLR   SCLK
                   MOV   C,ACC.0               
                   MOV   SID,C
                   SETB  SCLK     ;4
                    
                   CLR   SCLK     ;SID=0000
                   CLR   SID      
                   SETB  SCLK     ;1
                    
                   CLR  SCLK
                   SETB SCLK      ;2
                    
                   CLR  SCLK
                   SETB SCLK      ;3
                    
                   CLR  SCLK
                   SETB SCLK      ;4
                   LCALL DL1MS
                   SETB  CS
                   RET
              WRHZ:LCALL LCDWRITE    ;读汉字需要读2个字节 调用写指令
                   NOP
               DD:CLR    A
             MOVC   A,@A+DPTR
          INC    DPTR
          LCALL  LCDDAT
          CLR    A
          MOVC   A,@A+DPTR
          INC    DPTR
          LCALL  LCDDAT
          DJNZ   R4,DD
          RET   
             HZDIS:
                   MOV DPTR,#TAB_HZ    ;合闸表
                  
                H1:MOV R4,#08H
                   MOV A,#80H
                   LCALL WRHZ
                  lcall dl500ms
                  
                   MOV DPTR,#TAB2    ;第2行显示
                   MOV R4,#08H
                   MOV A,#90H
                   LCALL WRHZ
                lcall dl500ms
                  
                   MOV DPTR,#TAB3    ;第3行显示
                   MOV R4,#08H
                   MOV A,#88H
                   LCALL WRHZ
                    lcall dl500ms
                  
                   MOV DPTR,#TAB4    ;第4行显示
                   MOV R4,#08H
                   MOV A,#98H
                   LCALL WRHZ
                  
                   lcall dl500ms                                   
                   RET
                       
   
            
DL1MS:                             ;延时子程序  
            PUSH        00H                ;0.1MS
            PUSH        01H
            PUSH        02H
            MOV         R2,#01H
WA_PA:      MOV         R0,#0FH
WA_PB:      MOV         R1,#0FH
            DJNZ        R1,$
            DJNZ        R0,WA_PB
            DJNZ        R2,WA_PA
            POP         02H
            POP         01H
            POP         00H
            RET
            NOP
            RET
    DL500MS:MOV    R2,#50
         D5:LCALL  DEL_2MS
            DJNZ   R2,D5
            RET
    DEL_2MS:MOV   R0,#2
         D1:MOV   R1,#200
         D2:NOP
            NOP
            NOP
            DJNZ  R1,D2
            DJNZ  R0,D1
            RET
            
DL40MS:                            ;延时子程序
            PUSH        00H                ;40MS
            PUSH        01H
            PUSH        02H
            MOV         R2,#01H
DL_PA:      MOV         R0,#0FFH
DL_PB:      MOV         R1,#0FFH
            DJNZ        R1,$
            DJNZ        R0,DL_PB
            DJNZ        R2,DL_PA
            POP         02H
            POP         01H
            POP         00H
            RET
            NOP
            NOP
            NOP
            RET
              
        
      
   
        TAB_HZ:DB 0BFH,0AAH,0B9H,0D8H,0D7H,0B4H,0CCH,0ACH    ;  
             DB 0A3H,0BAH,020H,020H,0BAH,0CFH,0D5H,0A2H    ;  
      
        TAB2:DB 0B5H,0E7H,0D1H,0B9H,0A3H,0BDH,031H,031H    ;  
             DB 034H,030H,056H,020H,020H,020H,020H,020H    ;  
        TAB3:DB 0B5H,0E7H,0C1H,0F7H,0A3H,0BDH,034H,030H    ;
             DB 030H,041H,020H,020H,020H,020H,020H,020H    ;
       TAB4:DB 0B5H,0E7H,0C1H,0F7H,0A3H,0BDH,034H,030H    ;
             DB 030H,041H,020H,020H,020H,020H,020H,020H    ;
                            END

相关帖子

沙发
shuiruohan258|  楼主 | 2011-9-18 21:35 | 只看该作者
12864 自带字库~每当运行一段时间后就花屏

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝