gpio.asm
来自「实现240XDSP中的PWM波,SCI,SPI,usb,DA等一系列的模块化源程」· 汇编 代码 · 共 103 行
ASM
103 行
;************ GPIO.asm ***************
.global start
.global PHANTOM
.data
b0 .word 0fffEh ;turn-on GPIO0
b1 .word 0fffDh ;turn-on GPIO1
b2 .word 0fffBh ;turn-on GPIO2
b3 .word 0fff7h ;turn-on GPIO3
b4 .word 0ffEFh ;turn-on GPIO0
b5 .word 0ffDFh ;turn-on GPIO1
b6 .word 0ffBFh ;turn-on GPIO2
b7 .word 0ff7Fh ;turn-on GPIO3
GPR0 .word 0
.include f2407.h
KICK_DOG .macro
LDP #00E0h ;DP-->7000h-707fh
SPLK #05555h,WDKEY
SPLK #0aaaah,WDKEY
LDP #0h ;DP-->0000h-007fh
.endm
.text
start:
LDP #0h
SETC INTM
SETC CNF
SPLK #0000h,IMR
LACC IFR
SACL IFR
LDP #00E0h
SPLK #0200h,SCSR1
SPLK #006Fh,WDCR
KICK_DOG
SPLK #0h,GPR0
OUT GPR0,WSGR
LDP #00E1h
SPLK #00000h,MCRA
SPLK #0FF00h,MCRB
SPLK #00000h,MCRC
SPLK #0FFFFh,PADATDIR
SPLK #0FFFFh,PBDATDIR
SPLK #0FFFFh,PCDATDIR
SPLK #0FFFFh,PEDATDIR
SPLK #0FFFFh,PFDATDIR
MAIN:
LDP #0
LOOP:
LDP #00E1h
setc xf
CALL DELAY
SPLK #0FFFFh,PADATDIR
CALL DELAY
SPLK #0FFFFh,PBDATDIR
CALL DELAY
SPLK #0FFFFh,PCDATDIR
CALL DELAY
SPLK #0FFFFh,PEDATDIR
CALL DELAY
SPLK #0FFFFh,PFDATDIR
CALL DELAY
CALL DELAY
clrc xf
CALL DELAY
SPLK #0FF00h,PADATDIR
CALL DELAY
SPLK #0FF00h,PBDATDIR
CALL DELAY
SPLK #0FF00h,PCDATDIR
CALL DELAY
SPLK #0FF00h,PEDATDIR
CALL DELAY
SPLK #0FF00h,PFDATDIR
CALL DELAY
CALL DELAY
B MAIN
DELAY:
D_LOOP:
RPT #0FFh
NOP
RET
PHANTOM:
KICK_DOG
B PHANTOM
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?