MicroPython内核开发笔记书内软件用例 :DAC相关实验

举报
tsinghuazhuoqing 发表于 2022/07/01 22:07:36 2022/07/01
【摘要】 简 介: 本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 DAC模块相关 软件用例部分内容。 关键词: MicroPython,mm32f3277,DAC ...

简 介: 本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 DAC模块相关 软件用例部分内容。

关键词 MicroPythonmm32f3277DAC

书稿内容
目 录
Contents
基础实验
两路DAC输
出电压信号
产生正弦波形
总 结

 

软件用例:
这部分书稿内容包括有:

  1. 基础的DAC电压输出实验。
  2. 输出正弦波信号。
  • 书稿内位置:

 

§01 稿内容


在 MM32F3277 单片机中,DAC 通道有两路输出,对应的端口分别为:

DAC端口:
DAC0:PA4
DAC1:PA5

一、基础实验

1、两路DAC输出电压信号

下面测试代码,分别在 DAC 两个通道输出两个不同电压。

from machine                import DAC

dac0 = DAC(0)
dac1 = DAC(1)

print('Test DAC ...')

dac0.write_u16(0x8000)
dac1.write_u16(0x4000)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

上面代码演示了声明两个 DAC 通道对象,非常简单。 通过 write_u16 函数改变 DAC 输出电压,输出电压与写入的数值 n 之间的关系为: V o u t = n 0 x F F F F × 3.3 V V_{out} = {n \over {0xFFFF}} \times 3.3V Vout=0xFFFFn×3.3V 其中 3.3V 是单片机的模拟参考电压。

使用数字万用表,可以分别在 DAC0,DAC1对应的输出管脚测量对应的电压信号。

DAC输出电压:
DAC0(PA4):1.654V
DAC1(PA5):0.829V

2、产生正弦波形

下面代码将会在两个 DAC 通道产生相位相反的正弦波。

from machine                import DAC
from math                   import *

dac0 = DAC(0)
dac1 = DAC(1)
print('Test DAC ...')

angle = [int((sin(i * pi * 2 / 100)+1.0)/2*0x6000+0x2000) for i in range(100)]

while True:
    for a in angle:
        dac0.write_u16(a)
        dac1.write_u16(0xa000 - a)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

下面是两个 DAC 通道输出的正弦波电压信号。

▲ 两个DAC通道的正弦波电压信号

▲ 两个DAC通道的正弦波电压信号

 

  结 ※


本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的 DAC模块相关 软件用例部分内容。


■ 相关文献链接:

● 相关图表链接:

文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuoqing.blog.csdn.net/article/details/125547158

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。