任何人都可以幫助我CodeVisionAVR?我想寫一個 ATMega16L微控制器的程序,使用CodeVisionAVR中的定時器功能 生成正弦波形,但是我不知道如何使用帶有正弦波的OCR。使用計時器在CodeVisionAVR中生成正弦波形
-2
A
回答
1
Ouptut比較(OC)定時器輸出只能產生方波。然而,它們可以用於脈寬可以變化的脈寬調製(PWM);如果PWM波形輸出經過低通濾波,則輸出電壓將與PWM波形的標記空間比例成正比。通過正弦波修改脈衝寬度並使用適當的濾波,您可以生成正弦波輸出。
因此,在每個定時器重新加載中斷,您需要修改脈衝寬度。我建議您將脈衝寬度預先計算爲一個值數組,並在每次重新加載中斷時循環將它們送入定時器。然而,在PWM頻率,脈寬分辨率,模擬濾波和波形頻率之間會有許多折衷,這會影響波形的準確性。您需要平衡這些變量以適應頻率和帶寬方面的要求。
+0
Thanks.Very useful! – Vanessa
0
您也可以使用定時器觸發中斷,將波形數據寫出其他GPIO引腳(使用電阻器梯形圖作爲DAC或類似器件),您可以將波形數據放入查找表中並逐步進行每次中斷時觸發表。另外,如果你有一個合適的PWM輸出引腳,你可以使用定時器中斷去/增加佔空比值來給出一個正弦或任何其他形狀的波形輸出。這確實要求PWM計時器比所需的正弦波要快得多,所以你可以對其進行過濾,但這取決於你需要的準確度。
相關問題
- 1. 使用ADC生成正弦波
- 2. 在Python中生成正弦波聲音
- 3. FIR濾波器設計:如何輸入正弦波形
- 4. 使用AudioBufferList爲正弦波生成添加發布時間
- 5. 在Java中生成正弦波時的背景噪音
- 6. Java錯誤生成聲音正弦波
- 7. 生成平滑的正弦波
- 8. 使用PortAudio生成正弦波播放中間C
- 9. 如何生成由零分隔的正弦波形流?
- 10. 不能生成頻率和正弦波使用ad9833與atmega2560
- 11. IOS使用swift生成和處理正弦波
- 12. 如何在iPhone中生成正弦波w.r.t歌曲?
- 13. 在Matlab中生成一個可變頻率的正弦波
- 14. 持續時間的生成的音頻正弦波的
- 15. 使用微控制器再生正弦波
- 16. 識別常見的週期性波形(正方形,正弦波,鋸齒波,......)
- 17. Android java:繪製正弦波形圖
- 18. SIMULINK - 奇怪的正弦波形圖
- 19. 使正弦波更陡峭?
- 20. 用C語言生成正弦波陣列
- 21. 在Android上生成正弦波視覺光柵
- 22. 從波形文件中刪除正弦波聲音
- 23. 使用SDL庫播放使用sinf函數生成的原始正弦波
- 24. 生成正弦波,方波,三角波,鋸齒波的音頻使用Android的AudioTrack類
- 25. 正弦波繪圖
- 26. 動畫正弦波
- 27. C++:我可以使用什麼來在圖像上生成正弦波模式?
- 28. 計算掃頻正弦波形每個採樣的頻率
- 29. 創建正弦波或方波在C#
- 30. Java中的正弦波聲音發生器
CodeVision的使用在很大程度上是不相關的;你用C編程的事實更加相關。計時器是CodeVision硬件的一項功能。 – Clifford