程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

MicroPython內核開發筆記書內軟件用例 :DAC相關實驗

編輯:Python

簡 介: 本文給出了 MicroPython內核開發筆記:書內嵌入實驗任務 中的 DAC模塊相關 軟件用例部分內容。

關鍵詞MicroPythonmm32f3277DAC

書稿內容 目 錄
Contents
基礎實驗 兩路DAC輸
出電壓信號
產生正弦波形 總 結

 

  • 本書稿內容隸屬於 MicroPython內核開發筆記:書內嵌入實驗任務 中的內容。

軟件用例:
這部分書稿內容包括有:

  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)

上面代碼演示了聲明兩個 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)

下面是兩個 DAC 通道輸出的正弦波電壓信號。

▲ 兩個DAC通道的正弦波電壓信號

 

※ 總 結 ※


本文給出了 MicroPython內核開發筆記:書內嵌入實驗任務 中的 DAC模塊相關 軟件用例部分內容。


■ 相關文獻鏈接:

  • MicroPython內核開發筆記:書內嵌入實驗任務

● 相關圖表鏈接:

  • 兩個DAC通道的正弦波電壓信號

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved