51微控制器產生一定佔空比和頻率的PWM

時間 2021-10-14 22:54:42

1樓:匿名使用者

//程式修改了一下,試試,ucount是字元變數而且也只能是字元變數,所以不能大於255.

#include

#define count 50

#define th_m1 (65536-count)/256 //設定定時器t0的定時時間

#define tl_m1 (65536-count)%256 //設定定時器t0的定時時間

unsigned char ucount=0;

sbit pwm=p1^0;

unsigned char dr; //定義全域性變數佔空比

void main(void)

void serial_int(void) interrupt 4

else ti=0; //清除ti標誌位

void timer0(void) interrupt 1

用c51微控制器和內部定時器來產生矩形波,要求頻率為100hz,佔空比為2:1,如何理解?

2樓:匿名使用者

矩形波就是邏輯電平0和1的轉換。用術語說你要做的就是一個簡單的pwm訊號發生器。頻率很好理解,就是週期的倒數。

其週期為1/100s,是10ms。那麼10ms完成一個波形的變換。佔空比2:

1,那麼高電平與低電平的時間佔週期的比例為2:1,就是高電平為2/3*10 ms,低電平時間為1/3*10ms,這樣就完成了一個完整的波形。如此往復就可以達到要求。

利用定時器完成高低電平的時間定時,用io口進行高低的電平的轉換就可以了!

3樓:匿名使用者

100hz的矩形波,週期就是10ms,佔空比2:1,就是高的部分佔10ms的2/3,低的部分佔10ms的1/3。理解了嗎?

pwm頻率和佔空比的區別

4樓:工藤新一狗

pwm的頻率是指每秒鐘訊號從高電平到低電平再回到高電平的次數,佔空比是高電平持續時間和低電平持續時間之間的比例。

pwm意為脈衝寬度調製,可用於調整輸出直流平均電壓,對於矩形波而言,輸出平均壓等於峰值電壓×佔空比,佔空比是一個脈衝週期內高電平時間與週期的比值,例如,峰值電壓等於5v,佔空比等於50%的方波訊號平均電壓等於2.5v,也就是萬用表直流檔測量得到的電壓值

脈寬調製(pwm)是利用微處理器的數字輸出來對類比電路進行控制的一種非常有效的技術,廣泛應用在從測量、通訊到功率控制與變換的許多領域中。

pwm的頻率越高,其對輸出的響應就會越快,頻率越低輸出響應越慢。

拓展:脈衝寬度調製是利用微處理器的數字輸出來對類比電路進行控制的一種非常有效的技術,廣泛應用在從測量、通訊到功率控制與變換的許多領域中。

脈衝寬度調製是一種模擬控制方式,其根據相應載荷的變化來調製電晶體基極或mos管柵極的偏置,來實現電晶體或mos管導通時間的改變,從而實現開關穩壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時保持恆定,是利用微處理器的數字訊號對類比電路進行控制的一種非常有效的技術。

pwm控制技術以其控制簡單,靈活和動態響應好的優點而成為電力電子技術最廣泛應用的控制方式,也是人們研究的熱點。由於當今科學技術的發展已經沒有了學科之間的界限,結合現代控制理論思想或實現無諧振波開關技術將會成為pwm控制技術發展的主要方向之一。其根據相應載荷的變化來調製電晶體基極或mos管柵極的偏置,來實現電晶體或mos管導通時間的改變,從而實現開關穩壓電源輸出的改變。

這種方式能使電源的輸出電壓在工作條件變化時保持恆定,是利用微處理器的數字訊號對類比電路進行控制的一種非常有效的技術。

5樓:長鹿

pwm頻率和佔空比的區別是:

pwm是間接的,並且是要進過低電平並回到高電平的;而佔空比則是持續的,是單次,不用回去的。佔空比也可以是pwm造成,這樣佔空比就不會脫離pwm太多。

其次我們要知道pwm頻率和佔空比分別是什麼:

pwm的頻率是指每秒鐘訊號從高電平到低電平再回到高電平的次數;

佔空比是高電平持續時間和低電平持續時間之間的比例。

由此可以看出pwm是間接的,並且是要進過低電平並回到高電平的;而佔空比則是持續的,是單次,不用回去的。佔空比也可以是pwm造成,這樣佔空比就不會脫離pwm太多。pwm的頻率越高,其對輸出的響應就會越快,相反頻率越低輸出響應越慢。

pwm不管是高電平還是低電平時電機都是轉動的,電機的轉速取決於平均電壓。

拓展資料:

脈寬(pulse-width)是脈衝寬度的縮寫,脈衝寬度就是高電平持續的時間,不同的領域,脈衝寬度有不同的含義。

6樓:bhn舞於

pwm頻率是固定的,由模組初始化配置時確定,就像定時器的時脈頻率是一個道理,固定的。

佔空比是可以改變的,他的值是用來衡量在一個固定的pwm週期內高電平所佔用的時間,就這麼簡單

7樓:

pwm的頻率是指每秒鐘訊號從高電平到低電平再回到高電平的次數,佔空比是高電平持續時間和低電平持續時間之間的比例。

pwm的頻率越高,其對輸出的響應就會越快,頻率越低輸出響應越慢。

pwm的調節作用**於對“佔週期”的寬度控制,“佔週期”變寬,輸出的能量就會提高,通過阻容變換電路所得到的平均電壓也會上升,“佔週期”變窄,輸出的能量就會降低,通過阻容變換電路所得到的平均電壓也會下降。pwm就是通過這種原理實現d/a轉換的。

8樓:匿名使用者

本質區別就是oc1a,oc1b是用定時器1模擬的pwm輸出而oc2對應的是定時器2他(這兩個暫存器一起決定了兩路pwm訊號的產生方式,頻率和top值) ocr1a(此值

誰給一個51微控制器用一個定時器可以輸出頻率一定,佔空比可調的pwm脈衝例子給我參考一下啊

9樓:匿名使用者

一.51沒有這樣的抄

功能,襲stc12微控制器才有這樣的功能,不過你可以用延時函式來產生pwm波形,但比較浪費cpu時間。

二.還有一種方法可以用51來實現,但要消耗兩個定時器,一個t0定時器控制pwm週期,另一個t1定時器控制pwm佔空比。(t0裝的初值要大於t1的初值)在定時器中斷的時候都是對i/o口進行取反就可以了。

一個定時器產生pwm波形,做不出來,要兩個的(不過只賞0分太少了吧!!!)

10樓:匿名使用者

只給個我認為對的思路吧,把定時器的定時時間初值用變數實現,在中斷程式裡對輸出口取反操作,通過給變數賦不同的初值來實現佔空比的調節!應該不難的~~

跪求51微控制器如何產生佔空比根據輸入模擬量改變的pwm波 我要的是程式

11樓:匿名使用者

沒有電路連線何來程式?只能說實現思路:

1,模擬量的輸入,首先要進行ad變換

2,數學計算佔空比

3,依據佔空比在相應的管腳輸出高低電平

4,輸出電平經三極體放大,可推動繼電器,或控制可控矽

如何用51微控制器定時器產生一個pwm,頻率20khz,佔空比可調的pwm

12樓:匿名使用者

這個需要外面搭da轉換,如果你還沒有做電路建議你搜尋一下adi公司的微控制器

那裡的微控制器也是51的核心,但是da輸出整合在裡面了,甚至有直接輸出pwm的埠,只需要簡單變成就行了。我第一做pwm就用的aduc841。非常非常簡單微控制器的datasheet裡面就會告訴你怎麼做。

13樓:

#include//包含標頭檔案,一般情況不需要改動,標頭檔案包含特殊功能暫存器的定義

sbit key1 = p3^1; //定義調速按鍵

sbit pwm = p1^5; //定義調速埠

unsigned char cycle; //定義週期 該數字x基準定時時間 如果是10 則週期是10 x 0.1ms

unsigned char pwm_on ;//定義高電平時間

/* 延時函式 */

void delay(unsigned int cnt)

/* 主函式 */

main()}}

}}/* 定時器中斷函式 */

void tim(void) interrupt 1 using 1

count++;

if(count == cycle)}

14樓:知識浪

想學聯絡我837333118

51微控制器C語言控制頻率原理,51微控制器改變頻率怎麼實現,最好是用C語言程式

1全部假設你的51微控制器用的晶振是12mhz的,那麼可以得到如下結論 51執行一個指令的時間週期是1us,這個是51的基礎知識,就不深入講解了。然後,如果用定時器0確定輸出頻率,假設定時器0的tl0初始值是0x01,那麼當tl0變為0x02時,就是經過了1us時間 這個懂吧?那麼,設定定時器0為工...

51微控制器如何產生8路PWM波,51微控制器是如何產生PWM波的?

我來說一下我的方案,這個我驗證過,方法如下 其實用一個定時器就夠了,外部中斷接按鍵,一個用來頻率加,一個用來頻率減,即做調節頻率用,8路頻率從p0口輸出,定時器產生中斷,比如1us,那麼我到1us時對p0.0取反,同時中斷裡在定義一個變數t1,那麼t1計中斷次數,假如計到5時我讓p1.0取反,兒至於...

51微控制器怎樣計算sin x 和cos x

三角函式的計算是使用的弧度 rad 如果你得到的角度單位是度 deg 需要將deg轉換為rad才能用三角函式計算。1rad 180 所以任意度數x轉換為弧度就是x 180。sin x cos x 的引數應該是弧度吧,用 角度 180 換算成弧度作為輸入引數就對了。另外你看到的很大一個值可能是負數,如...