📄 main.asm
字号:
;.include "DMARegs.inc"
; .include "EMIFregs.inc"
; .include "GPIOregs.inc"
; .include "MCBSPregs.inc"
; .include "EMIFregs.inc"
; .include "EMIFregs.inc"
;; .include "EMIFregs.inc"
.include "5509regs.inc"
.include "I2Cregs.inc"
.include "MCBSPregs.inc"
;.include "DMAregs.inc"
.mmregs
.global MAIN,_c_int00
.ref AIC23RX
stack_size .set 500h
STACK .usect "stack",stack_size
SYSSTACK .usect "sysstack",stack_size
STACKtop .set STACK+stack_size
SYSSTACKtop .set SYSSTACK+stack_size
;AICRBUFFER .usect "rfrxdata", 10h
.text
_c_int00:
MOV #SYSSTACKtop,mmap(SSP) ;
MOV #STACKtop,mmap(SP)
BSET INTM
MOV #0002h,mmap(@IVPD) ;中断
MOV #0002h,mmap(@IVPH)
MOV #0000000000000000b,mmap(@ST0_55) ;
MOV #0001000000000000b,mmap(@ST2_55) ;
MOV #0000100101000000b,mmap(@ST1_55) ;
MOV #0001110001000000b,mmap(@ST3_55); ;
MOV #0010011000010010b,AC0
MOV AC0,port(#CLKMD)
mov #0010h,mmap(@IER0)
mov #0080h,mmap(@IER1)
MOV #0ffffh, mmap(@IFR0) ; CLEAR ALL PENDING INTERRUPTS
MOV #0ffffh, mmap(@IFR1) ; CLEAR ALL PENDING INTERRUPTS
BCLR INTM
MAIN:
mov #AIC23BRegs,AR3
mov #8-1,brc0
rptb AIC23Configend-1
CALL IICWRITE ;config IIC regs
AIC23Configend:
;----------------------------------------------
call AIC23RX
TESTMCBSPRRDY:
MOV PORT(#SPCR1_1),AC0
AND #0002H,AC0
BCC TESTMCBSPRRDY,AC0 ==#0
MOV PORT(#DRR1_1),AC1
MOV AC1,PORT(#DXR1_1)
B TESTMCBSPRRDY
loop:
nop
B loop
;*********************************************************************
IICWRITE:
MOV #0000H,T1
MOV #001Bh,port(#I2CPSC)
MOV #00037h,port(#I2CCLKL)
MOV #00037h,port(#I2CCLKH)
MOV #01AH,port(#I2CSAR)
MOV #002H,PORT(#I2CCNT)
;MOV #0100011000000000B,PORT(#I2CMDR)
MOV #(0b<<15|1b<<14|0b<<13|0b<<12|0b<<11|1b<<10|1b<<9|0b<<8 |0b<<7| 0b<<6| 0b<<5|0b<<4 |0b<<3 |000b),port(#I2CMDR)
;Mode reg: free STT STP MST TRX XA RM DLB IRS STB FDF BC
MOV #(00000000000b<<5|1b<<4 |0b<<3 |0b<<2 |0b<<1|0b),port(#I2CIMR)
; PORT(#I2CIER) txready
orm #1B<<5,port(#I2CMDR) ;irs
nop
nop
orm #1B<<13,port(#I2CMDR) ;stt
nop
nop
orm #1B<<11,port(#I2CMDR) ;stp
nop
nop
mov port(#I2CMDR),AC3
mov #0,ac1
LOOPROUND:
NOP
mov port(#I2CMDR),AC3
BTST #11,AC3,TC1
BCC LOOPROUND,TC1
RET
.data
AIC23BRegs:
.word 0c00h,0e53h,0810h,0a01h,1023h,05ffh,0117h,1201h
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -