只是摸索着写的,自己心里也没有底,请高手纠错一下....
dds_ud bit p3.2
m_rst bit p3.3
io_rst bit p3.4
dds_d bit p3.5
dds_clk bit p3.6
dds_cs bit p3.7
org 00h
sjmp start
org 60h
start:
;lcall ppl
setb m_rst
nop
nop
nop
nop
clr m_rst ;芯片复位
setb io_rst
nop
clr io_rst ;端口复位
nop
clr dds_clk
clr dds_d
clr dds_cs
clr dds_ud
;..........................
start1:
setb dds_cs
clr dds_cs
mov a,#07h ;功能寄存器设置
lcall dds_w
mov a,#10h
lcall dds_w
mov a,#20h
lcall dds_w
mov a,#01h
lcall dds_w
mov a,#40h
lcall dds_w
clr dds_clk
nop
setb dds_ud
nop
clr dds_ud
nop
nop
setb dds_cs
nop
nop
;........................................
clr dds_cs
nop
mov a,#02h ;f1 ftw地址
lcall dds_w ;
mov a,#0ch
lcall dds_w ;......
mov a,#0cch
lcall dds_w
mov a,#0cch
lcall dds_w
mov a,#0cch
lcall dds_w
mov a,#0cch
lcall dds_w
mov a,#0cdh ;ftw=0c cc cc cc cc cdh
lcall dds_w
clr dds_clk
nop
setb dds_ud
nop
clr dds_ud
nop
nop
setb dds_cs
nop
nop
nop
nop
nop
ljmp $
dds_w:
mov r0,#8
w_1:
rlc a
mov dds_d,c
nop
clr dds_clk
nop
nop
nop
nop
nop
setb dds_clk
djnz r0,w_1
ret
end