找回密码
 立即注册
查看: 1444|回复: 9

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

[复制链接]
  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 129 天

    [LV.7]常住居民III

    26

    主题

    1294

    回帖

    4019

    积分

    论坛元老

    积分
    4019
    发表于 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, 下载次数: 123

    回复 送花

    使用道具 举报

    该用户从未签到

    4

    主题

    85

    回帖

    638

    积分

    高级会员

    积分
    638
    发表于 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/
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    551

    主题

    9253

    回帖

    1万

    积分

    管理员

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

    使用道具 举报

  • TA的每日心情

    昨天 15:00
  • 签到天数: 67 天

    [LV.6]常住居民II

    0

    主题

    36

    回帖

    378

    积分

    中级会员

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

    使用道具 举报

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

    [LV.7]常住居民III

    26

    主题

    1294

    回帖

    4019

    积分

    论坛元老

    积分
    4019
     楼主| 发表于 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的每日心情
    奋斗
    昨天 09:12
  • 签到天数: 131 天

    [LV.7]常住居民III

    1

    主题

    45

    回帖

    877

    积分

    高级会员

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

    使用道具 举报

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

    [LV.7]常住居民III

    2

    主题

    89

    回帖

    566

    积分

    高级会员

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

    使用道具 举报

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

    [LV.2]偶尔看看I

    2

    主题

    24

    回帖

    156

    积分

    注册会员

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

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

    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-30 00:51
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    0

    主题

    44

    回帖

    138

    积分

    注册会员

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

    使用道具 举报

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

    [LV.7]常住居民III

    10

    主题

    101

    回帖

    302

    积分

    中级会员

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-1 15:02 , Processed in 0.085508 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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