
在主频合适的条件下,通过SPI接口设置频率寄存器和控制寄存器,即能得到理想的信号输出。其输出频率为:  2 硬件设计 AD9833芯片有3根串行接口线,与SPI、QSPI、MI-CROWIRE和DSP接口标准兼容,在串口时钟SCLK的作用下,数据以16位的方式加载到设备上,其时序图如图3所示,FSYNC引脚是使能引脚,电平触发方式,低电平有效。进行串行数据传输时,FSYNC引脚必须置低。

本设计中工字电感器,MCU采用51系列芯片,图4是音源器部分的电路原理图。P1.5、P1.6、P1.7分别与AD9833芯片的FSYN、SCLK、SDA相连,MCU通过模拟SPI的时序,对AD9833芯片的各寄存器进行设置。Y2是一个有源晶振,其第3脚输出频率为4.194 304 MHz的信号,提供给AD9833芯片的主频输入端,AD9833芯片产生的信号通过JP3输出,与音频功放电路相连,通过音频功放驱动扬声器发声。

3 软件实现 本设计中,主频时钟采用4.194 304 MHz。输出频率计算如下:  式中,f0为输出频率,fMCLK为主频(4.194 304 MHz),FREQREG为频率寄存器设置的频率字。频率分辨率为1/64=0.015 625 Hz。 根据上述公式,计算出各音阶对应的频率字参数如表1所示。

差模电感器 控制程序在Keil uv2环境下开发,程序采用汇编语言和C语言混合编程形式实现。实现时序控制部分采用汇编语言,主体部分则采用C语言进行编程。程序主体部分调用时序控制部分时,通过全局字节变量light_o和light_o1传递数据。 时序控制部分程序通过模拟SPI接口时序,完成对DDS芯片内部寄存器的设置,具体程序如下(定义部分略): to_9833: setb SCK 电感电流clr CS mov a,light_o mov r1,#08h call out_SPI mov a,light_o1 mov r1,#08h call out_S共模电感PI setb CS clr SCK ret out_SPI: RLC A mov SO,c clr SCK setb SCK djnz r1,out_SPI ret 程序主体部分中,根据表1将音阶数据定义成一个一维数组: code unsigned int music_table[ ]={0x5268,0x5c80, 0x67d3,0x6e00,0x7b78,0x8a97,0x92d5,0xa4d5,0xb8ff,0xcfa7,0xdc00,0xf6f0,}; 主程序的编程框图如图5所示。对AD9833芯片通过写入控制字的方式进行初始化。程序在主循环中运行。主循环对有效按键进行处理,对于有效琴键,调用音阶函数即可。音阶函数如下: void play_music(unsigned char nn) { light_o = 0x20; light_o1 = 0x00; //设控制字 to_9833(); v_3.cm_int =music_table[nn]; //查音阶表 light_o = 0x40 | (v_3.cm.cm_0 & 0x3f); light_o1 = v_3.cm.cm_1; to_9833(); //设频率字 light_o = 0x40; light_o1 = v_3.cm.cm_0 / 0x40; to_9833(); } 如有音阶2的琴键被按下有效,C语言对调用函数描述为: play_music(2); 
程序中还包含按键处理、显示、存储控制等部分,限于篇幅,不再赘述。经实测,本音源发生器产生的各音阶频率与表1设计值一致,频率误差<0.02%,波形则是“纯净”的正弦波。通过功率放大,驱动扬声器发声。 通常不同乐器发音时,均有不同特征的谐波。常规乐器难以实现只有主音、无谐波成分的音阶,而通过本文扁平型电感DDS芯片设计的音源器,实现了精准的无谐波成分的音阶,有独特的听觉效果。可作为基准音阶,用于各类乐器的校音。
JESS的智能家居安防系统的设计方案 随着社会的不断发展和人们收入的不断增加,人们开始越来越关注生活条件的安全性和生活质量的可靠性,个人用户对家庭安全需求的增长越来越快。与此同时,传统的机械式或单纯依靠人为控制和操作的安防系统在实际的使 基于AT89S8252排污远程监测系统随着微电子技术和通信技术的发展,远程监测和远程控制得到了广泛应用,工业废气的排放是否达到国家环保局的要求,需要实施远程监测和控制系统,系统采用上、下位拓扑结构,通信采用物理链路PSTN形式来实现远程监 AT89S51制作的LED显示屏
用AT89S51制作的LED(发光二极管)显示屏可以显示字符、汉字、动画等任何图形。该电路充分利用了单片机的I/O口资源.使整机硬件达到最简,很适合初学者仿制。
2/2 首页 上一页 1 2 |