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

📄 pwm2.asm

📁 SPWM三相波形发生器
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                                                   ;
;               SA4828 初始化程序                   ;
;                                                   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            ALE    EQU   p1.1
            WR     EQU   p3.6
            RD     EQU   p3.7
            
            ORG    0000H         ; 程序开始
            AJMP   MAIN
            ORG    0040H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                                                   ;
;                  写初始化寄存器                   ;
;     设定 CFS=7,FRS=0,PDT=127,PDY=63,AC=1,WD=0     ;
;                                                   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         

MAIN:   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;                               ;
        ;     write initial register    ;
        ;                               ;
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        MOV    R2, #000H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #001H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #002H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #003H
        MOV    R3, #020H
        LCALL  WRITE_REG
        
        MOV    R2, #004H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #005H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #00EH
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        ;                               ;
        ;     write control register    ;
        ;                               ;
        ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        
        MOV    R2, #000H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #001H
        MOV    R3, #0DFH
        LCALL  WRITE_REG
        
        MOV    R2, #002H
        MOV    R3, #006H
        LCALL  WRITE_REG
        
        MOV    R2, #003H
        MOV    R3, #055H
        LCALL  WRITE_REG
        
        MOV    R2, #004H
        MOV    R3, #06EH
        LCALL  WRITE_REG
        
        MOV    R2, #005H
        MOV    R3, #0FFH
        LCALL  WRITE_REG
        
        MOV    R2, #00FH
        MOV    R3, #0DFH
        LCALL  WRITE_REG
                
  

WRITE_REG:
          LCALL  DELAY
          CLR    ALE
          LCALL  DELAy
          SETB   WR
          LCALL  DELAY
          SETB   RD
          LCALL  DELAY
          MOV    P0, R2  ; Write address
          LCALL  DELAY
          SETB   ALE
          LCALL  DELAY
          CLR    ALE 
          LCALL  DELAY
          CLR    WR
          LCALL  DELAY
          MOV    P0, R3   ; Write data
          LCALL  DELAY
          SETB   WR
          LCALL  DELAY
          RET
         
READ_REG:
          CLR    ALE
          SETB   WR
          SETB   RD
          MOV    P0, R2  ; Write address
          SETB   ALE
          CLR    ALE
          CLR    RD
          MOV    A, P0   ; Write data
          SETB   RD
          RET
          

DELAY:    MOV R0,#0FFH;
HERE:     DJNZ R0, HERE;
          RET
          
 END       
          
         
          
          
                
    
          
        
          
          
          
          
          
           








⌨️ 快捷键说明

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