找回密码
 立即注册
查看: 1557|回复: 11

STC使用普通I/O口和电阻分压实现高速DAC例程-可做高速波形发生器

[复制链接]
  • TA的每日心情
    奋斗
    昨天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
    发表于 2023-8-2 17:40:38 | 显示全部楼层 |阅读模式

    STC使用普通I/O口和电阻分压实现高速DAC,有完整的例程-可做高速波形发生器
    功能说明:
    通过P0,P2口输出16位DAC电平。
    串口1配置为115200bps,8,n, 1, 切换到P3.0 P3.1, 下载后就可以直接测试.
    通过串口发送命令控制输出电压,格式: 55 AA ID VSH VSL VEH VELTH TL CS
    55 AA:起始码;
    ID:00~FE 为电压变化的阶段标识;FF 为结束符,表示一轮测试指令已经发送完成,可以开始测试;
    VSH VSL:本阶段起始电压值,H为高8位,L为低8位;
    VEH VEL:本阶段结束电压值,H为高8位,L为低8位;
    TH TL:本阶段测试时间,H为高8位,L为低8位;如果本阶段起始电压与结束电压相等,则为延时时间;
    CS:校验码,以上数据的累加值。

    下载时, 选择时钟 22.1184MHz (用户可自行修改频率).

    主要电路:

    使用普通IO口和电阻分压实现高速DAC例程-可做波形发生器-1.png
    上位机软件设置:
    使用普通IO口和电阻分压实现高速DAC例程-可做波形发生器-2.png

    执行效果:
    使用普通IO口和电阻分压实现高速DAC例程-可做波形发生器-3.png

    使用普通IO口和电阻分压实现高速DAC例程-可做波形发生器.zip

    2.01 MB, 下载次数: 133

    回复 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    87

    回帖

    672

    积分

    高级会员

    积分
    672
    发表于 2023-8-3 07:50:20 | 显示全部楼层
    Nice, but not every user has 16 pins and a lot of board space to throw at building a DAC from discrete parts.

    For those who might use PWM instead, there is this technique  for better filtering-step trade off on PWM DACs
    Many STC parts have PLLs on the PWM clock, so the PWM can be fast.

    https://www.ednasia.com/cancel-p ... traction-revisited/
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    552

    主题

    9492

    回帖

    1万

    积分

    管理员

    积分
    14057
    发表于 2023-8-4 22:34:17 | 显示全部楼层
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情

    昨天 10:25
  • 签到天数: 74 天

    [LV.6]常住居民II

    1

    主题

    37

    回帖

    413

    积分

    中级会员

    积分
    413
    发表于 2023-8-23 15:59:56 | 显示全部楼层
    请问支持负压输出吗
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

    积分
    4187
     楼主| 发表于 2023-8-23 19:27:46 | 显示全部楼层
    ofela 发表于 2023-8-23 15:59
    请问支持负压输出吗

    这种方式不支持负压输出。参考使用老梁示波器的信号发生器,PWM输出脉冲经过5阶有源滤波输出1KHz正弦波的方法:
    https://www.stcaimcu.com/forum.p ... &extra=page%3D1
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 17:03
  • 签到天数: 148 天

    [LV.7]常住居民III

    1

    主题

    46

    回帖

    947

    积分

    高级会员

    积分
    947
    发表于 2023-11-8 17:25:06 | 显示全部楼层
    没有明白,这个是什么原理
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 144 天

    [LV.7]常住居民III

    2

    主题

    89

    回帖

    606

    积分

    高级会员

    积分
    606
    发表于 2023-11-27 14:45:45 来自手机 | 显示全部楼层
    英文大佬说用pmw更好,我等吃瓜群众只能是围观
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    无聊
    2024-4-3 11:15
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    2

    主题

    26

    回帖

    162

    积分

    注册会员

    积分
    162
    发表于 2023-11-27 15:57:20 | 显示全部楼层
    本帖最后由 alex 于 2023-11-27 16:28 编辑

    这是个不错的思路,从前有些没有硬件pwm,dac,adc的单片机就是用类似方法解决问题的。甚至不用单片机,只用门电路就可以实现adc,dac等功能的
    很久以前见过一个大佬,用一块AT89C2051芯片做过一个俄罗斯方块的游戏机,惊为天人。
    那是把芯片用到了极致了。2k的空间,20个引脚,要实现vga视频输出,一路8bit音乐输出,至少5个按键输出。怎么做到的我至今没有搞明白。

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-7 00:09
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    0

    主题

    44

    回帖

    146

    积分

    注册会员

    积分
    146
    发表于 2023-12-17 13:02:53 来自手机 | 显示全部楼层
    👍
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:17
  • 签到天数: 165 天

    [LV.7]常住居民III

    10

    主题

    104

    回帖

    162

    积分

    注册会员

    积分
    162
    发表于 2024-3-13 08:06:54 | 显示全部楼层
    很不错的思路,学习。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-18 07:50 , Processed in 0.078887 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表