久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1347|回復: 0
打印 上一主題 下一主題
收起左側

STM32 DAC輸出正弦波程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:1091865 發表于 2024-1-4 10:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于野火STM3開發板
【*】 程序簡介
-工程名稱:DAC 輸出正弦波
-實驗平臺: 野火STM32 F407 開發板
-MDK版本:5.16
-ST固件庫版本:1.8.0

【 !】功能簡介:
使用STM32的DAC輸出正弦波.

學習目的:學會使用STM32 DAC,使用定時器觸發控制信號頻率

【 !】實驗操作:

下載本程序,使用示波器檢測開發板的PA4、PA5引腳,可測得正弦波。

【 !!】注意事項:
PA4與攝像頭引腳共用,做本實驗時不要與攝像頭同時使用。

跳線帽:PA5引腳與電容按鍵引腳共用,做本實驗時把電容按鍵上方的跳線帽拔掉。

/*********************************************************************************************/

【*】 引腳分配

STM32引腳DAC直接引出。

    DAC_CH1<--->PA4
    DAC_CH2<--->PA5(注意要拔掉電容按鍵的跳帽)

串口(TTL-USB TO UART):
CH340的收發引腳與STM32的發收引腳相連。
    CH340  RXD  <----->  USART1  TX  (PA9)
    CH340  TXD  <----->  USART1  RX  (PA10)
   
【*】 程序描述

    <bsp_dac.c>
   
    1.通過腳本計算填充正弦波數據表
    2.使能DAC的時鐘,初始化GPIO
    3.配置DAC通道1、通道2
    4.配置TIM
    5.配置DMA
    6.DAC初始化函數
   
    為方便起見,我們使用了 Python 和 Matlab 腳本制作正弦波表,腳本的代碼存儲在本工程的目錄下
   
    本章實驗中需要控制正弦波的頻率,就需要定時器定時觸發DAC進行數據轉換
    v = sin(t)+1 ,此時,v 的輸出范圍為 [0:2]
    v = 3.3*(sin(t)+1)/2 ,此時,v 的輸出范圍為 [0:3.3]
    電壓值以 DAC 寄存器的形式表示:Reg_val = 2^12/3.3 * v = 2^11*(sin(t)+1),此時,存儲到 DAC
寄存器的值范圍為 [0:4096]
    實踐證明,取 32 個點進行電壓輸出已經能較好地還原正弦波形
    正弦波頻率的計算方式:
    Tsystick = 1/84000000,
    定時器 TIM2 的單個時鐘周期:
    Ttim = (TIM_Prescaler + 1) × Tsystick,
    定時器觸發周期:
    Tupdate = (TIM_Period + 1) × Ttim,
    根據正弦波單個周期的點數 N,求出正弦波單個周期時間為:
    Tsin = Tupdate × N,
    對應正弦波的頻率為:
    fsin =1/Tsin=1/(Tsystick × (TIM_Prescaler + 1) × (TIM_Period + 1) × N)
    根據上述公式,代入本工程的配置,可得本實驗中的正弦波頻率為 131250:
    fsin =1/Tsin=84000000/((0 + 1) × (19 + 1) × 32)= 131250
    在實際應用中,可以根據工程里的正弦波點數和定時器配置生成特定頻率的正弦波。
   
    需要留意的是無論是要生成什么波形,一個周期內的點數是和DAC外設最高輸出頻率有關系的
    若縮短時間間隔,提高單個周期內的輸出點數,可以得到逼近連續正弦波的圖形
   
/*********************************************************************************************/

【*】 時鐘

A.晶振:
-外部高速晶振:25MHz
-RTC晶振:32.768KHz

B.各總線運行時鐘:
-系統時鐘 = SYCCLK = AHB1 = 168MHz
-APB2 = 84MHz
-APB1 = 42MHz

C.浮點運算單元:
  不使用

原理圖: 無
仿真: 無
代碼: DAC—輸出正弦波.7z (1.06 MB, 下載次數: 20)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费视频一区二区 | 99久久久99久久国产片鸭王 | 久操av在线 | 国产一区二区在线免费播放 | 乱码av午夜噜噜噜噜动漫 | 欧美三级视频在线观看 | 婷婷免费在线 | 精品一区二区三区在线观看 | av激情影院 | 91高清在线观看 | 免费 视频 1级| 日韩视频一区二区三区 | 91成人在线| 天天干天天玩天天操 | 亚洲91视频 | 亚洲精品在线看 | 国产精品美女久久久久aⅴ国产馆 | 免费激情 | 久久性av | 中文字幕在线一区 | av资源网站 | 精品国产一区二区在线 | 中文在线www | 亚洲日本欧美 | 超碰av在线| 欧美久久一区二区 | 日韩成人国产 | 国产日韩欧美在线 | 91精品国产91久久综合桃花 | 99热这里都是精品 | 国产精品久久久久久久久免费相片 | 国产综合久久久久久鬼色 | 欧美淫 | 美女视频三区 | 成人国产在线视频 | 午夜精品久久 | 日韩精品一区二区三区视频播放 | 欧美一区二区三区高清视频 | 日韩在线一区二区 | 免费啪啪| 亚洲一区二区三区视频在线 |