浅谈基于C8051F060单片机控制AD9833实现FSK调制
模拟时钟信号和片选信号。传送数据的程序如下: 数据写入方式 设置控制寄存器中的D15D14=00,表示数据写入控制寄存器;设置B28(D13)=1,表示28位数据可以连续写入频率寄存器,默认先写入低14位频率字,再连续写入高14位频率字到频率寄存器中;设置B28(D13)=0,表示28位数据分两次写入频率寄存器,此时配合 HLB 的值使用(当HLB=1时允许高14位频率字写入到频率寄存器,当HLB=0时允许低14位频率字写入到频率寄存器)。因此写入到控制寄存器的数据可为:0010 0000 0000 0000,表示设置连续28位频率字。数据写入流程图如图4所示。 图4 数据写入流程图 选择频率寄存器 由于AD9833片内有2个频率寄存器,即FREQ0、FREQ1,因此要确定是将频率控制字写入哪一个。这可通过设置 D15D14 的值来进行选择,当D15D14=01表示14位的频率字将写入FREQ0;当D15D14=10表示14位的频率字将写入FREQ1.以输出频率为7230Hz为例,介绍写入到频率寄存器1的频率字。 写入低14位数据为:1011 0110 0001 1110,表示将低14位频率字写入FREQ1. 写入高14位数据为:1000 0000 0000 1011,表示将高14位频率字写入FREQ1. 主程序设计 首先,对C8051F060单片机初始化,这包括单片机晶振初始化、端口初始化,定义控制AD9833的I/O接口及交叉开关,接着初始化AD9833.当AD9833初始化时,为避免DAC产生虚假输出,RESET必须置为1(RESET不会复位频率、相位和控制寄存器),直到配置完毕,需要输出时才将RESET置为0;RESET为0后的8-9个MCLK时钟周期可在DAC的输出端观察到波形。AD9833初始化流程图如图5所示。然后,写频率寄存器0的控制字(0x2000),在进行FSK调制时,AD9833的两个频率寄存器装载不同的频率值,本实验中,频率寄存器0装载低频率6830Hz,频率寄存器1装载高频率7230Hz,通过设置AD9833的控制寄存器的FSELECT位来选择频率寄存器。主程序流程如图6所示。 图5 AD9833初始化 图6主程序流程图 实验结果 在示波器上能观测到FSK调制信号,为方便截图,设置频率为7230Hz的正弦信号在示波器上进行观察,图7是频率为7230Hz的正弦信号经过低通滤波之后的频谱图。由图7可以看出,实际输出频率为7.22985Hz.图8是对应的时域图形。 图7 输出频率为7230Hz的频谱图图8 频率为7230Hz时域图 结论 本实验中设计的FSK调制信号,在工程中有较强的实用价值,已成功应用于井下声波传输系统中。
- 基于单片机C8051F060的智能功率柜的设计应用(01-12)
- 关于单片机C8051F060的智能功率柜(09-30)
- C8051F060内置高精度模/数转换器的使用方法(02-29)
- 采用单片机C8051F060的智能功率柜的原理及设计(10-09)
- C8051F060设计的超声波导盲系统(09-29)
- 基于C8051F060和AD9834的频率响应测试仪设计(03-25)