10hz-10khz连续可调矩形波发生器的设计及仿真分析(编辑修改稿)内容摘要:

真分析 10 电路。 DAC0832 的引脚 及逻辑结构如图 5 所示: 图 5 DAC0832的引脚图及逻辑结构 数模转换电路的 设计思路是 由单片机采用编程方法产生波形 , 通过 D/A 转换模块DAC0832 的单缓冲模式。 单片机的 P3 口连接 DAC0832 的八位数据输入端, DAC0832的输出端接放 运算 放 大器,经过放大后输出所要的波形。 其电路如图 6 所示。 图 6 DAC0832波形产生电路 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 11 LCD 液晶显示 电路的设计 通过 P0 口控制 LCD的片选位, 和 控制读写, 通过定时器定时接收参数并动态显示参数值, 其详细电路 如图 7所示。 图 7 LCD液晶显示电路 软件设计 矩形波发生器的软件设计包括主程序、延时子程序、系统初始化程序、显示子程序、键盘扫描程序 和 定时器中断子程序。 其中主程序用来控制整个程序的执行,它与各子程序紧密相联,共同实现 矩形 波发生器各种功能的执行。 主程序 主程序包括系统初始化及显示程序,是一个死循环系统。 其流程 如图 8所示: 图 8主程序 流程图 开始 系统初始化 显示 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 12 显示 程序 显示子程序流程 如图 9所示: 图 9 显示子程序流程图 定时中断程序 本设计采用 单片机 的 定时器 0,定时器 工作方式 选择 1 工作 方式 ,来对波形频率进行 控制 ,流程 如图 10 所示。 显示子程序入口 分离频率和占空比的各位数字 高位 置低电平 串口发送各位数字字型码 软件延时 结束 定时器 1 中断入口 TR0=0 重装定时初值 TR0=1 结束 图 10 定时器中断程序流程图 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 13 键盘扫描程序 键盘扫描用外 部 中断 方式 0 实现,采用的是线反 转 法,键盘扫描 采用逐行扫描的方法。 关于键盘扫描程序的说明: ○ 1 频 率可调时,占空比保持原状不变,反之亦然,只能进行单一变量的调节。 ○ 2 频率调节: 通过不同按键 可以进行加 1Hz、减 1Hz、加 100Hz、减 100Hz、加1000Hz 和 减 1000Hz 操作。 如果按住某个键不放,便会执行连续加值或减值操作。 这里的频率 可调节 的最大值为 10000Hz, 频率 可调节 的最小值为 10Hz。 ○ 3 占空比调节: 可进行加 与减 操作,分别由 1 号键、 2 号键控制。 要注意的是占空比的初值是 ,定义的 ZKB 为 ,故调节占空比时, ZKB 会进行加 或者 减 操作。 ○ 4 为了减轻单片机的工作量,在软件设计中采取了这样的措施,在修改参数确定后才进行 单片机 定时器 0 初值的计算。 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 14 键盘中断处理子程序流程 如图 11 所示 : 波形发生程序 说明:此程序截取自总程序中的一段 ,是矩形波的发生函数 ,详细程序源码参见附件 3。 void square() //矩形波函数 N Y EA=0 软件延时消抖 外部中断 0 入口 是否为抖动 键盘 扫描,得到键码 查表取键值 i 按键处理 实时显示 图 11 键盘中断处理子程序流程图 键盘口初始化 EA=1 结束 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 15 { d++。 if(d=k) { P3=0xff*chh/50。 } else { P3=0x00。 } } 总 程序 参见 附件 3。 4 仿真调试 软件调试 调试问题 系统软件 调试是通过程序调节从而使电路系统更好的工作,以期得到更接近准确的数据,从而使电路工作输出更精确,更接近实际。 本设计主要有以下软件调试: ○ 1 在 对 频率处理时,由于电路本身设计不足和外界的干扰,致使 LCD12864 显示的频率与用数字示波器观察得到的频率有一定的差别,但通过 对 数据 的 观察和比较,发现了其中的误差规律。 ○ 2 在 D/A 转换控制占空比的过程中,由于要取得 双极性输出,需要用到运算放大器 , 因此占空比的输出也会有误差。 ○ 3 延时 消除键抖动 ,就是说一旦发现有键按下,就延时 25ms 以后再测按键的状态。 这样就避免按键发生抖动的那一段时间,使 CPU能可靠的读按键的状态。 键盘扫10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 16 描中应防止误按按键的情况。 这种情况的发生通常是由于键扫描速度和键处理速度较快,当某一个按下的键还未松开时,键扫描程序和键处理程序就执行了。 为了防止发生这种情况,在键扫描程序中不仅要检测是否有按键按下,在有键按下的情况,作一次键处理,而且在键处理完毕后,还应检测按下的键是否松开,只有当按下的键松开以后,程序才往下执行。 这样每按一个键,只作一个键处理,使两者达到同步,消除按一次按键有多次键值输入的错误情况。 按键电压 抖动 变化如图 12 所示。 调试结果 软件调试分为 Keil 程序 调试和 Proteus 仿真电路 调试两种, 再 通过 两种软件 的协调调试可 得出理想 结果。 下面通过四张软件仿真结果图的比较,通过按键改变其中某一参数而 达到 改变波形 的目的。 LCD 液晶屏显示的简码“ FZ”表示波形幅值,“ BX”表示波形,“ PL”表示 波形的 频率,“ ZK”表示 波形的 占空比。 仿真 结果 如图 1 115 和 16 所示。 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 17 图 13 频率为 10Hz,占空比为 ,幅值为 ,周期为 图 14 调节频率后的 波形,频率为 3030Hz,占空比为 ,幅值为 ,周期为 说明:通过图 13 和图 14 进行比较,通过按键调节波形频率,图中频率值由 10Hz调节至 3030Hz, 实际测试的周期值 (实际频率值 ) 变为 (实际频率值 ), 其他参数保持不变, 对两图波形进行比较, 波形 的频率 发生变10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 18 化。 图 15 调节占空比后的波形,频率为 3030Hz,占空比为 ,幅值为 说明:通过图 14 和图 15 进行比较,通过按键调节波形 幅值 ,图中 幅值 由 调节至 ,其他参数保持不变, 对 两图 波形进行比较, 波形 的 幅值 发生变化。 图 16 调节幅值后的波形,频率为 3030Hz,占空比为 ,幅值为 10Hz10kHz 连续可调矩形波发生器的设计及仿真分析 19 说明:通过图 15 和图 16 进行比较,通过按键调节波形 占空比 ,图中 占空比 由 调节至 ,其他参数保持不变, 比较两图波形, 波形 的 占空比 发生变化。 整个系统硬件的调试有以下 三个部分 : ○ 1 采用现成的单片机学习板,进行插线连接 ,缺少的芯片自行购买,再在另外的电路板上焊接。 ○ 2 运放 放大器 使用 的是 LM324N 芯片, D/A 转换芯片使用 的是 DAC0832 芯片。 ○ 3 D/A 转换电路中,为了 保证 D/A 转换器总线在空 闲 方式 时 为高电平, D/A转换器的数据线和时钟线都 应 接上拉电阻与电源相连。 ○ 1 本设计 能产生 10hz10khz 的连续可调的矩形波 ,并且可通过调节 占空比、幅值、频率等参数。 ○ 2 输出波形的频率范围为 1Hz~ 10kHz, 可以通过键盘进行步进粗调和微调频率,通过外部中断可同步调节频率,具有 在低频部分。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。