基于dds与单片机的信号发生器的设计_毕业设计(编辑修改稿)内容摘要:
S T C8 9 C5 2 图 38 DDS模块 9 DDS 采用串行写入模式, 省 下了单片机的 5个 IO 口。 10 液晶 1602 模 块 液晶屏幕光标指针对应的实际位置如下: 11 12 采用串口写入模式,省下 4 个 IO 口。 back1, back2 用来调整背景光, V0 用来调整液晶中的文字显示电压,调整文字亮度。 按键设置 采用 5 个独立按 键作为波形设置按键,一个外部中断 0 的按键,采用跳变沿触发进入设置模式。 按键加一, 按键减一, 按键 液晶光标 左移一位, 按键液晶光标右移一位, 按键跳出频率设置 ,进入幅值设置,再次按下,跳出波形调试,开始产生波形。 13 整体电路 14 系统程序设计 本设计采用 c 语言编程。 程序 流程图: 测试 测试仪器:示波器 测试方法:按键,通过示波器查看波形频率与幅值是否 与液晶显示值相吻合。 开始 液晶与 DDS 模块初始化,显示此时的幅值与频率设置初值 1MHz 按下设置按键 按键控制液晶光标左右移动以及数值加减 跳出频率设置,进入幅值设置,旋钮调整波幅,同时可以在液晶上及时显示设置幅值 按下 break 键 按下 break 键 跳出设置模式,输出设置波形频率与幅值 检测设置按键有无按下 15 按下 Set 键后进入波形设置模式,分为两个环节,先调整频率,之后按下 break 键锁住频率,通过旋钮调整幅值,再按下 break 键锁住幅值,跳出设置,产生波形。 结束语 经过几天的辛勤努力,三人合理分工,我们 虽然没能 实现题目的所有要求, 但 在调试的过程中,遇到了很多问题,有硬件上的,也有软件上的,但在大家的努力下,最终解决了 不少 问题。 由于时间紧,任务重,不可能做到尽善尽美,系统还可以进行 很多 改进。 这次竞赛 增强了我们的实践能力和协作精神,而且懂得了联系实际的重要性,这 对我们以后的学习和工作大有裨益。 虽然我们遇到了很多困难和障碍,但同时也是困难与希望并存,我们将继续努力争取更大的进步。 Set Break 左 加 右 减 调幅 16 附录:单片机程序 include include include typedef unsigned char BYTE。 typedef unsigned int WORD。 typedef bit BOOL。 sbit add=P0^0。 sbit miu=P0^1。 sbit left=P0^2。 sbit right=P0^3。 sbit keybreak=P0^4。 sbit ad9850_w_clk =P2^2。 // 口接 ad9850 的 w_clk 脚/PIN7 sbit ad9850_fq_up =P2^1。 // 口接 ad9850 的 fq_up 脚/PIN8 sbit ad9850_rest =P2^0。 // 口接 ad9850 的 rest 脚 /PIN12 sbit ad9850_bit_data =P2^3。 // 口接 ad9850 的 D7 脚 /PIN25 sbit int1=P3^3。 //定义管脚功能 sbit cs=P3^0。 //使能端 sbit wr=P3^6。 //写端口 sbit rd=P3^7。 //读端口 sbit rs=P0^7。 //lcd sbit rw=P0^6。 sbit ep=P0^5。 sbit d7=P2^7。 sbit d6=P2^6。 sbit d5=P2^5。 sbit d4=P2^4。 BYTE dis1[]={V:00000000 V }。 BYTE dis2[]={F:01000000 Hz}。 double frequence=1000000。 double volt=。 void dds()。 //dds 模块输出波形 void reset_serial()。 //dds 初始化 void wr_serial(unsigned char w0,double frequence)。 //dds 写入频率 17 void delay2(int m) //延时 1us 左右 { unsigned char i,j。 for (i=0。 im。 i++) for (j=0。 j253。 j++)。 } void delay(unsigned int t)。 //延时很短 void delay(unsigned int t) { unsigned int qwe。 for(qwe=t。 qwe0。 qwe)。 } BOOL lcd_bz() //检测 lcd 是否忙 { BOOL result。 rs=0。 // 读忙信号 rw=1。 ep=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 result = (BOOL)((P2amp。 0xf0)amp。 0x80)。 ep=0。 return(result )。 } lcd_wcmd (BYTE cmd) //向 lcd 写入设置工作命令 { while (lcd_bz())。 rs=0。 rw=0。 ep=0。 _nop_()。 18 _nop_()。 P2=cmd。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep=0。 rs=0。 rw=0。 ep=0。 _nop_()。 _nop_()。 P2=cmd4。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep=0。 } lcd_pos (BYTE pos) //定位 lcd 光标(指。基于dds与单片机的信号发生器的设计_毕业设计(编辑修改稿)
相关推荐
部控制还是通过 FPGA 进行控制。 同时有多个跳线接口,可以方便灵活的对使用方式进行实时的改变。 由于是高频电路,所以要非常注意对电源的滤波,在 AD9854 芯片的每个电源输入端口都要增加旁路电容,减少电源所带来的干扰。 图 信号源总体结构框图 300MHz 参考 FPGA 控制 ADL5530 放大器 HMC307QS16 数字衰减器 AD9854 DDS 单片机及键盘显示 50Ω输出
P( P≠0 ) 时 ,波形存储器的输入为相位累加器的输出与相位控制字 P之和 ,因而其输出的幅度编码相位会增加NP2,从而使最后输出的信号产生相移。 控制波形的加法器 通过改变波形控制字 W 可以控制输出信号的波形。 由于波形存储器中的不同波形是分块存储的 ,所以当波形控制字改变时 ,波形存储器的输入为改变相位后寄存器 频率控制字 K fc 相位量化序列 景德镇陶瓷学院本科生毕业设计(论文)
,广泛使用在电信与电子仪器领域 ,是实现设备全数字化的一个关键技术。 直接数字频率合成器( Direct Digital Synthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。 一个直接数字频率合成器由相位累加器、加法器、波形存储 ROM、 D/A 转换器和低通滤波器 ( LPF) 构成。 DDS 的原理框图如下图 21所示: 图 21 DDS 原理框图 其中 K
................................................................................................................ 36 不足之处及未来展望 .........................................................................
②输入: 1234 输出: sorry, the key is wrong 退票: ① 输入 : A、 0841919205 输出: Successful for canceling ticket. ② 输入: yangyating、 0841919204 输出: Successful for canceling ticket. ③ 输入: sujuan、 0841919107 输 出:
炉、电三大部分。 把整个机组的能量转换与传热过程划分为炉内燃烧与传热、管道传热、汽轮机做功三段过程。 在此基础上推导出各段过程的物质平衡、能量平衡和动量平衡方程式。 东北电力大学自动化工程学院学士学位论文 8 炉内燃烧与管道传热 单元机组的燃烧与传热过程包括炉内部分和管道传热两个部分,而炉内燃烧与传热过程是一个纯时延的惯性环节,其表达式如下 [11]: 121 1sKeFBTS