📄 init.asm
字号:
; .version 548
.mmregs
.def _dspinit
.def _bsp2init
; .def _c_int00
.def _readtherm
.def _resettherm
.def _writetherm
.ref _main
;串口2的初始化数据;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FSX_IN .set 2008h
FSX_OUT1 .set 2808h
FSX_OUT0 .set 2800h
SPSA2 .set 34h
McBSP2 .set 35h
DXR12 .set 33h
DXR22 .set 32h
DRR12 .set 31h
DRR22 .set 30h
SPCR12 .set 00h
SPCR22 .set 01h
RCR12 .set 02h
RCR22 .set 03h
XCR12 .set 04h
XCR22 .set 05h
PCR2 .set 0Eh
SRGR12 .set 06h
SRGR22 .set 07h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.sect ".iptr"
_c_int00
b _main
nop
nop
NMI rete
nop
nop
nop
SINT17 .space 4*16
SINT18 .space 4*16
SINT19 .space 4*16
SINT20 .space 4*16
SINT21 .space 4*16
SINT22 .space 4*16
SINT23 .space 4*16
SINT24 .space 4*16
SINT25 .space 4*16
SINT26 .space 4*16
SINT27 .space 4*16
SINT28 .space 4*16
SINT29 .space 4*16
SINT30 .space 4*16
INT0 rsbx intm
rete
nop
nop
INT1 rsbx intm
rete
nop
nop
INT2 rsbx intm
rete
nop
nop
TINT: RETE
nop
nop
nop
RINT0: RETE
nop
nop
nop
XINT0: rete
nop
nop
nop
SINT6 .space 4*16
SINT7 .space 4*16
INT3: rete
nop
nop
nop
HPINT: rete
nop
nop
nop
RINT1: rete
nop
nop
nop
XINT1: RETE
nop
nop
nop
DMINT4:
RETE
nop
nop
nop
DMINT5:
RETE
nop
nop
nop
;*************************
.text
_dspinit:
POPM AR5
STM #7000h,SWWSR
STM #1020h,PMST
; STM #1097h,CLKMD
SSBX CPL
SSBX INTM ;DINT
RSBX OVM
NOP
NOP
PSHM AR5
RET
;*********************************************************
;******************************
_bsp2init:
STM #SPCR12,SPSA2 ;串口0的初始化程序
STM #0,McBSP2 ;ENBLE R
NOP
NOP
STM #SPCR22,SPSA2
STM #0,McBSP2 ;ENBLE X
NOP
NOP
STM #PCR2,SPSA2
STM #FSX_OUT1,McBSP2
NOP
NOP
RET
;*************************
_resettherm:
STM #PCR2,SPSA2 ;使温度传感器复位
STM #FSX_OUT1,McBSP2
RPT #100
NOP
STM #FSX_OUT0,McBSP2
RPT #20000
NOP
STM #FSX_OUT1,McBSP2
RPT #20000
NOP
RET
;*************************
_writetherm:
STM #07h,AR3
loop:
STM #PCR2,SPSA2 ;向温度传感器发送一位数据“1”
STM #FSX_OUT1,McBSP2
RPT #100
NOP
SFTA A,-1
BC out1,C
STM #PCR2,SPSA2
STM #FSX_OUT0,McBSP2
RPT #2000
NOP
STM #PCR2,SPSA2
STM #FSX_OUT1,McBSP2
RPT #100
NOP
B loopend
out1:
STM #PCR2,SPSA2
STM #FSX_OUT0,McBSP2
RPT #200
NOP
STM #FSX_OUT1,McBSP2
RPT #2000
NOP
loopend:
BANZ loop,*AR3-
NOP
RET
;******************************************
_readtherm:
STM #0bh,AR3
SUB A,A
loopr:
STM #PCR2,SPSA2 ;从串口0接收温度传感器产生的一位数据
STM #FSX_OUT1,McBSP2
RPT #120
NOP
STM #PCR2,SPSA2
STM #FSX_OUT0,McBSP2
RPT #100
NOP
STM #PCR2,SPSA2
STM #FSX_OUT1,McBSP2
RPT #300
NOP
STM #FSX_IN,McBSP2
; STM #0ffffh,McBSP2
NOP
STM #PCR2,SPSA2
LDM McBSP2,B
NOP
NOP
NOP
STM #FSX_OUT1,McBSP2
RPT #2000
NOP
NOP
AND #0008H,B
BC RX1,BNEQ
RSBX C
B RX2
RX1 SSBX C
RX2 ROR A
BANZ loopr,*AR3-
NOP
NOP
SFTA A,-10
SFTA A,-10
NOP
NOP
NOP
NOP
RET
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -