📄 swr1.s43
字号:
mov.b #31,data ; Decimation=32
WRTS 0,data ; MRCF-1=31
;;;;;;;;;;; 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,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
DW 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFE,0xFFFF,0xFEFF,0xFFFE,0xFFFF,0xFDFF,0xFFFD,0xFFFF,0xFCFF,0xFFFC
DW 0xFFFF,0xFBFF,0xFFFB,0xFFFF,0xFAFF,0xFFFA,0xFFFF,0xF9FF,0xFFF9,0xFFFF,0xFAFF,0xFFFA,0xFFFF,0xFBFF,0xFFFD,0xFFFF,0xFF00,0x0002,0x0000,0x0500,0x000A,0x0000,0x0F00,0x0016
DW 0x0000,0x1E00,0x0028,0x0000,0x3200,0x003E,0x0000,0x4C00,0x005B,0x0000,0x6B00,0x007D,0x0000,0x8F00,0x00A2,0x0000,0xB500,0x00C8,0x0000,0xDA00,0x00EC,0x0000,0xFB00,0x0107
DW 0x0001,0x1000,0x0114,0x0001,0x1300,0x010C,0x0000,0xFD00,0x00E6,0x0000,0xC600,0x009B,0x0000,0x6600,0x0026,0xFFFF,0xD9FF,0xFF81,0xFFFF,0x1CFF,0xFEAB,0xFFFE,0x2FFF,0xFDA9
DW 0xFFFD,0x19FF,0xFC83,0xFFFB,0xE6FF,0xFB47,0xFFFA,0xA9FF,0xFA0D,0xFFF9,0x79FF,0xF8F0,0xFFF8,0x76FF,0xF810,0xFFF7,0xC3FF,0xF794,0xFFF7,0x88FF,0xF7A4,0xFFF7,0xECFF,0xF866
DW 0xFFF9,0x16FF,0xF9FF,0xFFFB,0x25FF,0xFC8A,0xFFFE,0x3100,0x001B,0x0002,0x4900,0x04B9,0x0007,0x6A00,0x0A5A,0x000D,0x8400,0x10E5,0x0014,0x7600,0x1831,0x001C,0x0F00,0x2006
DW 0x0024,0x0D00,0x281B,0x002C,0x2600,0x3023,0x0034,0x0700,0x37C7,0x003B,0x5800,0x3EB1,0x0041,0xC600,0x4490,0x0047,0x0400,0x491C,0x004A,0xD100,0x4C1D,0x004C,0xFD00,0x4D6E
DW 0x004D,0x6E00,0x4CFD,0x004C,0x1D00,0x4AD1,0x0049,0x1C00,0x4704,0x0044,0x9000,0x41C6,0x003E,0xB100,0x3B58,0x0037,0xC700,0x3407,0x0030,0x2300,0x2C26,0x0028,0x1B00,0x240D
DW 0x0020,0x0600,0x1C0F,0x0018,0x3100,0x1476,0x0010,0xE500,0x0D84,0x000A,0x5A00,0x076A,0x0004,0xB900,0x0249,0x0000,0x1BFF,0xFE31,0xFFFC,0x8AFF,0xFB25,0xFFF9,0xFFFF,0xF916
DW 0xFFF8,0x66FF,0xF7EC,0xFFF7,0xA4FF,0xF788,0xFFF7,0x94FF,0xF7C3,0xFFF8,0x10FF,0xF876,0xFFF8,0xF0FF,0xF979,0xFFFA,0x0DFF,0xFAA9,0xFFFB,0x47FF,0xFBE6,0xFFFC,0x83FF,0xFD19
DW 0xFFFD,0xA9FF,0xFE2F,0xFFFE,0xABFF,0xFF1C,0xFFFF,0x81FF,0xFFD9,0x0000,0x2600,0x0066,0x0000,0x9B00,0x00C6,0x0000,0xE600,0x00FD,0x0001,0x0C00,0x0113,0x0001,0x1400,0x0110
DW 0x0001,0x0700,0x00FB,0x0000,0xEC00,0x00DA,0x0000,0xC800,0x00B5,0x0000,0xA200,0x008F,0x0000,0x7D00,0x006B,0x0000,0x5B00,0x004C,0x0000,0x3E00,0x0032,0x0000,0x2800,0x001E
DW 0x0000,0x1600,0x000F,0x0000,0x0A00,0x0005,0x0000,0x02FF,0xFFFF,0xFFFF,0xFDFF,0xFFFB,0xFFFF,0xFAFF,0xFFFA,0xFFFF,0xF9FF,0xFFF9,0xFFFF,0xFAFF,0xFFFA,0xFFFF,0xFBFF,0xFFFB
DW 0xFFFF,0xFCFF,0xFFFC,0xFFFF,0xFDFF,0xFFFD,0xFFFF,0xFEFF,0xFFFE,0xFFFF,0xFEFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000
DW 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,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=20000000 Output Frequency=5000
;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=32
;Decimation=5 Decimation=25 Symmetric=True
;Scale=5 Scale=24 NTaps=256
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -