?? pwm2.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 + -