📄 swr2.s43
字号:
mov.b #24,data ; Decimation=25
WRTS 0,data ; MRCF-1=24
;;;;;;;;;;; RCF Address Offset Register ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov.b #3,data ; Data 00h=>Location 30bh
WRTS 7,data
mov.b #0bh,data ;
WRTS 6,data
mov.b #00h,data
WRTS 0,data
;;;;;;;;;;; Ntaps-1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov.b #3,data ; Data 255=>Location 30ch
WRTS 7,data
mov.b #0ch,data ;
WRTS 6,data
mov.b #255,data ; NTaps=256
WRTS 0,data
;;;;;;;;;;; Reserved byte ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov.b #3,data ; Data 0h=>Location 30dh
WRTS 7,data
mov.b #0dh,data ;
WRTS 6,data
mov.b #0h,data
WRTS 0,data
;;;;;;;;;;; Configuration Register programmed ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov.b #3,data ; Data 08h=>Location 300h
WRTS 7,data ; Write AMR
clr.b data
WRTS 6,data ; Write LAR
mov.b #8,data ;
WRTS 0,data ;
LLL jmp LLL
DDS bis.b #0Ah,&P3SEL ; P3.1,3 SPI option select
bis.b #0Ah,&P3DIR ; P3.1,3 output direction
bis.b #040h,&ME1 ; Enable USART0 SPI
bis.b #CKPH+CKPL+SSEL1+SSEL0+STC,&UTCTL0 ;* SMCLK, 3-pin mode
bis.b #CHAR+SYNC+MM,&UCTL0 ; 8-bit SPI Master **SWRST**
mov.b #02h,&UBR00 ; SMCLK/2 for baud rate
clr.b &UBR10 ;
clr.b &UMCTL0 ; Clear modulation
bic.b #SWRST,&UCTL0 ; **Initialize USART state machine**
;;;;;
SetupDDS clr.b data_lo
mov.b #21h,data_hi ; Pin/sw=0,RESET=1
call #DDSWRTS ; Controll words sent
mov.b #70h,data_hi ; 0111 0000 1010 0100
mov.b #0A4h,data_lo
call #DDSWRTS
mov.b #40h,data_hi ; 0100 0000 1111 0101
mov.b #0F5h,data_lo ;
call #DDSWRTS ; FREQ0 of 600KHz (3D70A4H)
mov.b #0A6h,data_hi ; 1010 0110 0110 0110
mov.b #66h,data_lo
call #DDSWRTS
mov.b #81h,data_hi ; 1000 0001 1001 1001
mov.b #99h,data_lo ;
call #DDSWRTS ; FREQ1 of 1000KHz (666666H)
clr.b data_lo
mov.b #20h,data_hi ; Pin/sw=0,RESET=0
call #DDSWRTS ; Controll words sent
ret
DDSWRTS bic.b #DDS_CS,P1OUT
w1 bit.b #UTXIFG0,&IFG1
jz w1
mov.b data_hi,&TXBUF0
w2 bit.b #UTXIFG0,&IFG1
jz w2
mov.b data_lo,&TXBUF0
mov.b #0x0a,R15
w3 dec.b R15
jnz w3
bis.b #DDS_CS,P1OUT
ret
RAM_LOAD mov.b #80h,data
WRTS 7,data ;Write AMR increment
clr.b data
WRTS 6,data ;Write LAR
mov #table,R5
clr.b R7
loop1 mov.b @R5+,R8
WRTS 2,R8
mov.b @R5+,R8
WRTS 1,R8
mov.b @R5+,R8
WRTS 0,R8
dec.b R7
jnz loop1
ret
data_coming mov.b &P4IN,R15 ; Low byte of data_I
mov.b &P5IN,R13 ; High byte of data_I
swpb R13
add.w R13,R15
mov.w R15,&DAC12_0DAT
bis.b #Q_out,&P3OUT
bic.b #Q_out,&P3OUT ; Let data_Q come out
mov.b &P4IN,R15 ; Low byte of data_Q
mov.b &P5IN,R13 ; High byte of data_Q
swpb R13
add.w R13,R15
mov.w R15,&DAC12_1DAT
clr.b &P1IFG ; Clear interrupt flage
reti
org 8000h
table
DW 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x00FF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFE
DW 0xFFFF,0xFEFF,0xFFFD,0xFFFF,0xFCFF,0xFFFC,0xFFFF,0xFBFF,0xFFF9,0xFFFF,0xF8FF,0xFFF6,0xFFFF,0xF4FF,0xFFF2,0xFFFF,0xEFFF,0xFFEC,0xFFFF,0xE8FF,0xFFE4,0xFFFF,0xDFFF,0xFFDA
DW 0xFFFF,0xD4FF,0xFFCD,0xFFFF,0xC5FF,0xFFBD,0xFFFF,0xB4FF,0xFFA9,0xFFFF,0x9EFF,0xFF91,0xFFFF,0x84FF,0xFF75,0xFFFF,0x65FF,0xFF54,0xFFFF,0x41FF,0xFF2E,0xFFFF,0x19FF,0xFF02
DW 0xFFFE,0xEBFF,0xFED3,0xFFFE,0xB9FF,0xFE9E,0xFFFE,0x83FF,0xFE67,0xFFFE,0x4BFF,0xFE2E,0xFFFE,0x11FF,0xFDF4,0xFFFD,0xD8FF,0xFDBC,0xFFFD,0xA2FF,0xFD89,0xFFFD,0x72FF,0xFD5D
DW 0xFFFD,0x4BFF,0xFD3D,0xFFFD,0x32FF,0xFD2B,0xFFFD,0x29FF,0xFD2D,0xFFFD,0x37FF,0xFD48,0xFFFD,0x5FFF,0xFD7F,0xFFFD,0xA7FF,0xFDD8,0xFFFE,0x13FF,0xFE59,0xFFFE,0xA9FF,0xFF04
DW 0xFFFF,0x6BFF,0xFFDF,0x0000,0x5F00,0x00EC,0x0001,0x8700,0x022F,0x0002,0xE500,0x03A8,0x0004,0x7A00,0x0559,0x0006,0x4600,0x0740,0x0008,0x4700,0x095B,0x000A,0x7B00,0x0BA6
DW 0x000C,0xDC00,0x0E1C,0x000F,0x6500,0x10B6,0x0012,0x0F00,0x136D,0x0014,0xCF00,0x1635,0x0017,0x9D00,0x1906,0x001A,0x6E00,0x1BD3,0x001D,0x3500,0x1E91,0x001F,0xE600,0x2132
DW 0x0022,0x7500,0x23AC,0x0024,0xD600,0x25F2,0x0026,0xFD00,0x27F8,0x0028,0xE000,0x29B4,0x002A,0x7300,0x2B1D,0x002B,0xB100,0x2C2C,0x002C,0x9000,0x2CDC,0x002D,0x0E00,0x2D28
DW 0x002D,0x2800,0x2D0E,0x002C,0xDC00,0x2C90,0x002C,0x2C00,0x2BB1,0x002B,0x1D00,0x2A73,0x0029,0xB400,0x28E0,0x0027,0xF800,0x26FD,0x0025,0xF200,0x24D6,0x0023,0xAC00,0x2275
DW 0x0021,0x3200,0x1FE6,0x001E,0x9100,0x1D35,0x001B,0xD300,0x1A6E,0x0019,0x0600,0x179D,0x0016,0x3500,0x14CF,0x0013,0x6D00,0x120F,0x0010,0xB600,0x0F65,0x000E,0x1C00,0x0CDC
DW 0x000B,0xA600,0x0A7B,0x0009,0x5B00,0x0847,0x0007,0x4000,0x0646,0x0005,0x5900,0x047A,0x0003,0xA800,0x02E5,0x0002,0x2F00,0x0187,0x0000,0xEC00,0x005F,0xFFFF,0xDFFF,0xFF6B
DW 0xFFFF,0x04FF,0xFEA9,0xFFFE,0x59FF,0xFE13,0xFFFD,0xD8FF,0xFDA7,0xFFFD,0x7FFF,0xFD5F,0xFFFD,0x48FF,0xFD37,0xFFFD,0x2DFF,0xFD29,0xFFFD,0x2BFF,0xFD32,0xFFFD,0x3DFF,0xFD4B
DW 0xFFFD,0x5DFF,0xFD72,0xFFFD,0x89FF,0xFDA2,0xFFFD,0xBCFF,0xFDD8,0xFFFD,0xF4FF,0xFE11,0xFFFE,0x2EFF,0xFE4B,0xFFFE,0x67FF,0xFE83,0xFFFE,0x9EFF,0xFEB9,0xFFFE,0xD3FF,0xFEEB
DW 0xFFFF,0x02FF,0xFF19,0xFFFF,0x2EFF,0xFF41,0xFFFF,0x54FF,0xFF65,0xFFFF,0x75FF,0xFF84,0xFFFF,0x91FF,0xFF9E,0xFFFF,0xA9FF,0xFFB4,0xFFFF,0xBDFF,0xFFC5,0xFFFF,0xCDFF,0xFFD4
DW 0xFFFF,0xDAFF,0xFFDF,0xFFFF,0xE4FF,0xFFE8,0xFFFF,0xECFF,0xFFEF,0xFFFF,0xF2FF,0xFFF4,0xFFFF,0xF6FF,0xFFF8,0xFFFF,0xF9FF,0xFFFB,0xFFFF,0xFCFF,0xFFFC,0xFFFF,0xFDFF,0xFFFE
DW 0xFFFF,0xFEFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFF00,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
ORG 0FFFEh ; MSP430 RESET Vector
DW RESET ;
ORG 0FFE8h ; P1.0 Int Vector
DW data_coming
;# Name: AD6620 # Date: 2005-06-28
;[Filter Design] Version=2.5.0
;[Device] Name=AD6620
;Input Frequency=40000000 Output Frequency=10000
;Clock Frequency=40000000 Decimation=4000
;Overall Setup=RCF=32, CIC5=25, CIC2=5
;[CIC2 Filter] [CIC5 Filter] [RCF Filter]
;Enabled=True Enabled=True Enabled=True
;Order=2 Order=5 Decimation=25
;Decimation=5 Decimation=32 Symmetric=True
;Scale=5 Scale=25 NTaps=256
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -