求教51微控制器生成spwm波形的程式

2021-10-07 06:32:45 字數 995 閱讀 6399

1樓:匿名使用者

這個型號的微控制器我沒用過,我主要應用dsp,在dsp裡面是利用pwm模組產生的pwm,有好幾種模式,相差多少度都可以設定,你有空的時候看看微控制器的這一部分就行,沒有pwm功能的話就利用普通定時器也是可以產生的,利用裡面的比較中斷控制普通io就可以

2樓:金瑤

pwm可以用定時器產生,相位的話,你用兩個引腳,p1.0 p1.1 在一個週期內輪換輸出pwm,p1.

0輸出pwm則p1.1輸出低電平,p1.1輸出pwm則p1.

0輸出低電平,這裡有一篇文章挺好http://wenku.baidu.

思路有了,程式就好辦了

3樓:

1、用普通i/o口採用軟體定時器中斷可以模擬spwm輸出。"/**/"裡面的內用是對程式的標註,解析。

2、/*採用6mhz晶振,在p1.0腳上輸出週期為2.5s,佔空比為20%的脈衝訊號*/

/*定時100ms,週期2.5s需25次中斷,高電平0.5s需5次中斷*/

#include

typedef unsigned char uchar;

sbit p1_0=p1^0;

uchar time=0;

uchar period=25;

uchar high=5;

void timer0() interrupt 1 using 1

else if(time==period) /*週期時間到,變高*/ }

void main() }

3、說明:本程式主要採用了51微控制器(具體型號stc89c52rc)的定時器,工作在方式3,來產生規定時間內的方波,製造spwm.

4樓:匿名使用者

用stc 晶片就行 有2個pwm, 10ms 輪換輸出就可以,經過lc濾波,形成正弦波。

可做正弦波逆變器用

微控制器波形型別識別的問題,微控制器波形型別識別的問題

我沒做過,只是簡單的說一些如果這麼做,我的思路 以高頻率去讀取電壓值,存入陣列 獲取電壓曲線 這樣就知道每個時間點對應的電壓值,y f x 隨機計算2個點的傾斜值 術語怎麼講忘了 多算一些。三角波有三個值 豎直無窮 a a正玄波 無數個 但是沒有豎直 方波 豎直 0度 鋸齒波 豎直 a 根據以上特徵...

微控制器程式設計求教,微控制器程式設計問題求教

好奇心較強,把兩個程式都測試了一下。做而論道的匯程式設計序,在自動滅燈之後,再按下按鍵,可以使燈重新開啟 gaplee 的c程式,自動滅燈之後,再按下按鍵,燈還是滅的,必須再按一下,燈才亮。按兩下,燈才亮,恐怕不符合題目的要求。做而論道的匯程式設計序,10秒的亮燈時間,誤差不足11毫秒 gaplee...

51微控制器是如何產生PWM波的,51微控制器是如何產生PWM波的。。用定時器中斷如何實現

主要通bai過乙個定時器和乙個io口來實現dupwm的輸zhi出。在乙個週期裡 dao面,首先讓io口輸出高電版平,並定時一定的時間然後再權將io口輸出低電平,定時一定的時間。然後在while裡面迴圈輸出即可。需要改變占空比的話就改變高電平的時間與低電平的時間比。設定相應程式,控制相應頻率,輸出高低...