⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0108_12864lcd-f149.asm

📁 C51源程序集合 包括以下目录源码 ├─AD-MSP430f149D ├─ADC8535 ├─bin ├─c51源程序 ├─c51源程序锦集 ├─ct2Timer ├─
💻 ASM
📖 第 1 页 / 共 2 页
字号:

#include          <msp430x14x.h>;
#include          <msp430ftext.h>;
;--------------------------------------
            ;FU WEI P4.2
            ;CS2    EQU    P4.3
            ;CS1    EQU    P4.4
            ;E      EQU    P4.5
            ;R/W    EQU    P4.6
            ;RS     EQU    P4.7
            ;DAT    EQU    0210H
            ;COM    EQU    0212H
            ;COLUM  EQU    0214H
            ;PAG    EQU    0216H 
            ;COD    EQU    0218H   
            ;COUNT  EQU    021AH
    
;------------------------------------------------------------------------------
main        ORG     1600h                      ; Program Start
;------------------------------------------------------------------------------
RESET       mov.W #0900h,SP;                     ;Initialize stackpointer
StopWDT     mov.W #WDTPW+WDTHOLD,&WDTCTL;        ;Stop watchdog
            call  #init_xt2;                     ;初始化xt2,XT2=mclk=smclk
            nop
            MOV.B  #0H,DAT;
            MOV.B  #0H,COM;
            MOV.B  #0H,COLUM;
            MOV.B  #0H,PAG;
            MOV.B  #0H,COD;
            MOV.B  #0H,COUNT; 
            MOV.B #0FFH,&P5OUT;
            MOV.B #0FFH,&P5DIR;         ;MOV  P5,#0FFH
            NOP
            NOP  
            BIC.B  #04H,&P4OUT;
            MOV.B  #04H,&P4DIR;
            CALL   #DELAY;
            NOP
            BIS.B  #04H,&P4OUT;  
            CALL   #YANS;
            NOP  
            NOP   
            MOV.B     #0C0H,COM;        ;0C0H设置显示起始行
            CALL   #INT;
            NOP
            NOP          
            MOV.B  #00H,DAT;
            CALL   #XIANF;
            NOP
HXIAN       NOP  
            CALL   #HANZIX;
            ;CALL    #ZIFUXIE
            NOP
            NOP  
            NOP
            JMP   HXIAN;
            NOP
            NOP   
;--------------------------------------------
;ZI FU XIE  
;--------------------------------------------                                            
ZIFUXIE       NOP 
              PUSH       R4; 
              PUSH       R5;
              PUSH       R6;
              PUSH       R7;
              NOP
              MOV.B      #02H,PAG;
              MOV.B      #28H,COLUM;
              MOV.B      #00H,COD;
              MOV.B      #00H,R7;
              MOV        #00H,R4;         ;字符个数 R4
ZLOOP         MOV.B      #02H,PAG;
              MOV.B      TAB1(R4),COD;  
              INC.B      R4;
              ;MOV.B      R5,COD;
              CALL       #CW_PR; 
              INC.B      R7;               ;字符个数 R7同R4
              ADD.B      #08H,COLUM;    
              CMP        #04H,R7;          ;11H 字符个数
              JNE        ZLOOP; 
              NOP 
              POP        R7; 
              POP        R6;

              POP        R5;
              POP        R4;
              NOP   
              RET                   
;--------------------------------------------------------------------------------            
HANZIX ;汉字显示  
;--------------------------------------------------------------------------------   
                
              NOP
              PUSH       R4;
              PUSH       R7;
              ;MOV.B      #00H,PAG;
              MOV.B      #16H,COLUM;
              MOV.B      #00H,COD; 
              MOV.B      #00H,R7
              MOV        #00H,R4;         ;字符个数 R4
ZLOOH         MOV.B      #02H,PAG;     
              ;MOV.B      #18H,COLUM;
              MOV.B      TABH(R4),COD  
              INC.B      R4
              CALL       #CCW_PR; 
              INC.B      R7;               ;字符个数 R7同R4
              ADD.B      #08H,COLUM;    
              CMP        #04H,R7;          ;11H 字符个数
              JNE        ZLOOH; 
              NOP   
              POP       R7;
              POP       R4; 
              MOV.B     #0C1H,R11   
LLO           MOV.B     R11,COM;        ;0C0H设置显示起始行
              CALL      #INT;    
              NOP
              NOP       
              NOP
              NOP
              CALL      #DELAYY  
              NOP
              NOP
              CALL      #DELAYY 
              NOP
              NOP
              CALL      #DELAYY 
              NOP   
              NOP
              NOP
              CALL      #DELAYY  
              NOP
              NOP
              CALL      #DELAYY 
              NOP
              NOP
              CALL      #DELAYY 
              INC.B     R11   
              JMP       LLO
              NOP  
              NOP    
              RET
              NOP
                
;-----------------------------------
;主程序 中文字符显示
;*-----------------------------------
  
CCW_PR          PUSH     R4;
                PUSH     R5;
                PUSH     R6;
                PUSH     R7; 
                MOV.B    COD,R5;          ;
                MOV      R5,&MPY;         ;MOV      COD,&MPY
                MOV      #20H,&OP2;               
                NOP
                NOP
                NOP      
                MOV        &RESLO,TEMP1;
                MOV.B      #00H,R7;
                ADD        TEMP1,R7        
CCW_1           MOV.B      #10H,COUNT; XUN HUAN CI SHU  
                MOV.B      PAG,TEMP2;
                BIC.B      #0F8H,PAG;  ;        
                BIS.B      #0B8H,PAG;  ;ANL PAG               
                MOV.B      PAG,COM;          
                CALL       #PRM0; 
                NOP
                CALL       #PRR0; 
                NOP                                                                                  
                ;CLRC  
                MOV.B      COLUM,R6;            ;判断区域
                SUB.B      #40H,R6;             ;    
                JL         CCW_21;              ;XIAO YU SHI TIAO ZHUAN          
                BIS.B      #20H,PAG;            ;设置区域
                BIC.B      #10H,PAG;    
                JMP        CCW_3;               ;YOU 
                NOP            
CCW_21          BIS.B      #10H,PAG;            ;设置区域标志
CCW_3           MOV.B      COLUM,COM;           ;10h zhong         
                BIS.B      #40H,COM;            ;列地址设置
                BIC.B      #0EFH,PAG;           ;ANL A,#30H 
                CMP.B      #10H,PAG;            ;判断区域标志
                JNE        CCW_31;      
                CALL       #PRM0;  
                NOP
                ;MOV.B      #00H,R7;
                ;ADD        TEMP1,R7;
                JMP        CCW_4;     
                NOP                      ;
CCW_31          CALL       #PRR0;         ;WRITE ADDRESS   
                NOP  
CCW_4           NOP
CCW_42          MOV.B      CCTAB(R7),DAT;
                INC.B      R7;
                BIC.B      #0EFH,PAG;          
                CMP.B      #10H,PAG; 
                JNE        CCW_41;             
                CALL       #PRM1;   
                NOP

                JMP        CCW_5; 
                NOP   
CCW_41          CALL       #PRR1;         
                NOP
CCW_5           INC.B      COLUM;                                  ;
                CMP.B      #40H,COLUM;                             ;
                JL         CCW_9;                                  ;
                ;MOV.B      #40H,COLUM;      ;MIDDLE ZE ZHUAN YOU  ;
                ;RLC.B        PAG                                 ;
                ;RLC.B        PAG                                 ;
                ;RLC.B        PAG                                 ;
                ;JC         CCW_9                                 ;
                BIS.B      #20H,PAG;                               ;
                BIC.B      #10H,PAG;                               ;ADD 1 CHU LI 
                MOV.B      COLUM,COM;                       ;10h zhong         
                BIS.B      #40H,COM;          ;
                ;MOV.B      #40H,COM                     
                CALL       #PRR0;        
                NOP               
CCW_9           DEC.B      COUNT;           ;当页循环
                CMP.B      #00H,COUNT;
                JNE        CCW_42;
                NOP  
                ;MOV.B      #00H,R7
                MOV.B      TEMP2,PAG;
                RLC.B        PAG;  
                JC         CCW_99; 
                MOV.B      TEMP2,PAG;
                INC.B      PAG;
                BIS.B      #80H,PAG;
                BIC.B      #30H,PAG;
                SUB.B      #10H,COLUM;
               
                JMP        CCW_1;
                NOP 
                NOP           
CCW_99          NOP
                POP        R7;
                POP        R6;
                POP        R5;
                POP        R4;
                NOP 
                RET
                NOP 
 
;******------------------------------
;主程序 西文字符显示
;*-----------------------------------
CW_PR         PUSH       R4
              PUSH       R5
              PUSH       R6
              PUSH       R7
              PUSH       R8
              PUSH       R9
              PUSH       R10
              MOV.B      COD,R6
              MOV        R6,&MPY
              MOV        #8,&OP2               
              NOP
              NOP      
              MOV        &RESLO,R5         
              MOV        R5,TEMP3 
              MOV.B      #08H,COUNT              
              MOV.B      #00H,COD             
              BIC.B      #0F8H,PAG          
              BIS.B      #0B8H,PAG                 
              MOV.B      PAG,COM   
              CALL       #PRM0 
              NOP
              CALL       #PRR0 
              NOP                                                                                  
              ;CLRC  
              MOV.B      COLUM,R8   ;               
              SUB.B      #40H,R8    ;        
              JL         CW_21      ;            
              BIS.B      #20H,PAG   ;              
              JMP        CW_3       ;设标志
              NOP            
CW_21         BIS.B      #10H,PAG                   
CW_3          MOV.B      COLUM,COM                    
              BIS.B      #40H,COM           
              BIC.B      #0EFH,PAG           
              CMP.B      #10H,PAG
              JNE        CW_31   
              NOP   
              CALL       #PRM0      ;
              NOP                   ;
              JMP        CW_4       ;
              NOP                   ;
CW_31         CALL       #PRR0      ;XIE LIE ADDRESS      
              NOP
CW_4          MOV        TEMP3,R9 
CW_42         MOV.B      CTAB(R9),DAT 
              INC.B      R9
              BIC.B      #0EFH,PAG          
              CMP.B      #10H,PAG 
              JNE        CW_41             
              CALL       #PRM1       
              NOP
              JMP        CW_5 
              NOP   
CW_41         CALL       #PRR1         
              NOP
CW_5          INC.B      COLUM          
              CMP.B      #40H,COLUM  
              JL         CW_9      
              ;MOV.B      #40H,COLUM    
              ;RLC        PAG        
              ;RLC        PAG                       
              ;RLC        PAG 
              ;JC         CW_9      
              BIS.B      #20H,PAG  
              BIC.B      #10H,PAG
              MOV.B      COLUM,COM     
              BIS.B      #40H,COM                     
              CALL       #PRR0                  
CW_9          DEC.B      COUNT
              CMP.B      #00H,COUNT
              JNE        CW_42    
              POP        R10
              POP        R9
              POP        R8 
              POP        R7

              POP        R6

              POP        R5
              POP        R4
              RET
              NOP

;-----------------------------------
DELAY                                   
            push   r5        ;3/4
            mov.B  #02h,r5   ;2
yans1       dec.B  r5        ;2
            jnz    yans1     ;2 
            pop    r5        ;3/4
            ret              ;5
            NOP   
            
;-----------------------------------
YANS                                   
            nop
            nop
            nop
            ret              ;5
            NOP                       
;-----------------------------------            
DELAYY      push   r5        ;3/4
            mov    #0FFFFh,r5   ;2
yans2       dec    r5        ;2
            jnz    yans2     ;2 
            pop    r5        ;3/4
            ret              ;5
            NOP      
;------------------------------------------------------------------------------ 
init_xt2;   初始化XT2
;------------------------------------------------------------------------------ 
            bic.b #XT2OFF,&BCSCTL1            ; 启动XT2
SetupOsc2   bic.b #OFIFG,&IFG1                ; Clear OSC fault flag 
            mov.B #0FFh,R15                   ; R15 = Delay 
SetupOsc3   dec.B R15                         ; Additional delay to ensure start 
            jnz   SetupOsc3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -