信号发生器的输出波形可调 MCU起航 QQ:2246080671
主要内容 1、添加方波、三角波 2、输出波形、频率可调的信号
添加方波、三角波 如同正弦波一样,需要把三角波和方波的波形取值存入 ROM中。32个点,调用的时候读取数组相应值即可。需要 注意的地方有两点: 1、波形可通过按键选择,同时通过LED显示出来; 2、中断服务子函数里,需要先判断当前波形种类,然后再 输出电压值。 因此,在上一节程序的基础上,需要做一些更新。
添加方波、三角波 为节省篇幅,只写出需要修改的地方: 首先,定义方波和三角波的取值数组。同时定义了变量 led_wave来存储每次选择的波形。 其次,键值判断子函数中,添加了对波形的识别。如果 选择了某种波形,那么点亮对应的LED。 最后,中断响应子函数,在此处添加波形判断的语句。 综上,对相关函数进行修改,最终达到正弦波、方波、 三角波可选的结果。
输出波形、频率可调的信号
输出波形、频率可调的信号 观察输出的三角波和正弦波,发现波形的边缘不是很平 滑,如同楼梯的台阶一样。这是由于输出的精度略低造成的, 因为输出一个波形,只用了32个点。 解决方法: 1、提高输出精度,例如一个波形由64个点组成,相当于一 个台阶的高度小了一半,波形的平滑度会大大提升。 2、DA的输出端接RC滤波器,关于这方面大家可以搜一下 “RC低通滤波器”,什么是低通?可以简单的理解为:通 过的频率较低。
输出波形、频率可调的信号 至此,简易信号发生器,从硬件到软件,功能设计基本完成。 如果你已经掌握了整个设计过程中的知识点,恭喜,你已经成功 的征服了一片51单片机。以后的日子里可能还会遇到许多难题, 不过51方面的内容对你已经没有多大阻力了,更多的是常用器件、 模电知识、数电知识、原理图、PCB设计方面的知识需要去学习。 同时,不要觉得上面的设计就已经没问题了,实际上,它的 问题很多。例如最尴尬的一点,输出频率太低,这个问题只有换 成并行DA,或者专用的DDS芯片才好解决;按键输入的频率如果 超出了当前的输出能力,应当有警告提示;不小心输入错误的数 值,可以有清除的功能等等。 一个产品要想设计出来,需要有它的基本功能,但如果想设 计好,需要很多细节的完善。而这些细节,是工程师和用户之间 不停的交流得出的。