义隆单片机定时器误差怎么补偿_51单片机函数波形发生器

        这里介绍一个基于51单片机的函数波形发生器实现方式,包括软件和硬件实现原理介绍。

fa7452728e4fd2717ada5084b60e1296.png

        波形发生器是能够发出一定规律的周期性信号的装置,比如正弦波、方波、三角波、锯齿波等,一些数字信号发生器可以发出任意波形。波形发生器按照实现原理,一般有两种,一种是模拟式、另外一种是数字式,模拟式主要以模拟电路为主,通过各种信号发生电路来产生对应的信号;另外一种是利用数字控制的方式。今天我们介绍一个利用51单片机产生简易正弦波、方波、三角波的实验方法。
    老规矩先上电路图。

80902c99e737ba0e1acbe282e0af2f7a.png

        下面对图评论一番。控制核心是AT89C51单片机、四个独立的控制按键、一个1602液晶显示器、波形输出方面使用的是DAC0832,比较典型的DAC,虽然现实中不怎么使用但是很多教材里都对这款芯片情有独钟,DA的输出端利用两个运放组成的反向电路对信号进行了处理和放大。四个按键的主要功能是对输出波形的种类进行选择、对输出波形的频率进行调整、对输出波形的幅值进行调整。

7060a48b07b9932a8f341f11789e1a13.png

        上电以后1602显示的内容为波形类型、波形频率、波形幅值。信号的基本要素都显示有显示。

        接下来点开示波器看一下产生的波形图。左侧第一个按键是用于进行波形选择的。

3dd27826e04d939a890abb7e8fe46f6b.png

09e20a84d8e2ace068afb631800b8d7e.png

0c8e005c5be0a537b25d115c1c691cc7.png

        三种波形还算可以没有出现严重的失真。在波形幅值方面主要是从1-5V。左侧开始第二个按键用于参数加、第三个按键用于参数减,第四个按键用于修正参数的选择。

682135b24d71bfd7cae08316338af6e9.png

6b71454257b2366833f12983c1d72b7e.png

16184c60d1bbc90cb6d521b227e55778.png

        在幅值为5V时正弦波形和三角波有一些失真,在波形的端点处比较严重。

        调整频率值时,按键2和3用于频率值的加减操作。

ad91ba93876b054ab0d0478b0bda4302.png

        波形的频率值精确度较差,主要是程序中定时器数值存在较大误差。

        接下来看看程序。

85dee0a743d42b35927769bfedca8b4f.png

        波形的主要实现方式是将三种波形的数据转换成数组,然后通过对数组的查询,实现相应波形的输出,通过修改数据输出的时间间隔就可以达到修改信号频率的目的。通过对表中数据进行运算就可以改变相应的幅值。

6668953fe900f8973aa6ee6cfc506d44.png

        上面介绍的就是这个信号发生器的使用方法。对此有需要的小伙伴可以自行下载。(水平有限、不喜勿喷)

链接:https://pan.baidu.com/s/11qLsG7yPcS0RXsGIc0t4gg

提取码:mcb1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值