導航:首頁 > 編程語言 > pwm編程實例

pwm編程實例

發布時間:2025-06-10 21:49:30

Ⅰ 西門子PLC怎麼實現PWM控制呢

可以利用西門子軟體的PWM向導生成PWM波,非常簡單。

如果要自己編程序的話,比較復雜。正好今天沒事,試著編一下,使用西門子SMART PLC。

註:此程序是PWM周期和占空比均可調的,考慮各種極端情況,如果只是簡單的滿足題目,就太簡單了。

參數定義:time_set:MD0,32位浮點數,PWM波周期,單位:s

pwm_set:MD4,32位浮點數,PWM占空比,范圍0-1。

Q0.0:PWM輸出。其他均為臨時變數,可以忽略。

T33計時PWM為0的時間,計時滿之後,T33閉合,T34計時,Q0.0閉合,T34計時滿之後,復位T33,重復該周期。

注意:因為占空比可能為1或0,因此要對占空比的時間進行一下對比,如果占空比為0,則讓Q0.0一直輸入,如果占空比為1,則此段程序不工作,Q0.0無輸出。

親測可用,程序無問題。

Ⅱ STC單片機PWM編程!

看看這個,單片機用的是ADUC848,AD轉換輸出正弦波,和PWM原理類似。

2、源程序清單

DACCONEQU0xfD;定義模數轉換控制器

DACHEQU0xfc;定義模數轉換數據寄存器高8位

DACLEQU0xfb;定義模數轉換數據寄存器低8位

ORG0000H

LJMPMAIN

ORG0200H

MAIN:MOVDACCON,#0fH;DACoperation

CLRA;

MOVDACH,A;模數轉換高八位清零

PRG3:MOVR0,#09H;正弦波

MOVR4,#40H

LP11:MOVA,R0

MOVCA,@A+PC

MOVDACL,A;2

ACALLDELAY;2

INCR0;1

DJNZR4,LP11;2

SJMPPRG3;2

DATA0:

DB80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H,0DAH,0E2H,0EAH

DB0F0H,0F6H,0FAH,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H

DB0EAH,0E2H,0DAH,0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH

DB80H,7FH,73H,67H,5AH,4FH,43H,38H,2EH,25H,1DH,15H

DB0FH,09H,05H,02H,00H,00H,02H,05H,09H,0FH,15H

DB1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH

RET

DELAY:MOVR6,#10H

MOVR7,#0A1H

DELAYLOOP:;延時程序

DJNZR6,DELAYLOOP

DJNZR7,DELAYLOOP

RET

四、實驗板插針配置:

無需插針配置,注意DAC是從CONDACOUT1端子輸出,可用示波器觀察DAC輸出波形。若產生失真情況,請檢查開發板DA輸出端LM358運算放大器的放大倍數,適當更改所查函數表的范圍。

五、思考題

1、改變程序,使能添加輸出鋸齒波;

2、改變程序,使輸出添加三角波;

3、改變程序,使輸出添加方波;

4、改變程序,並製作一個簡單的函數發生器

閱讀全文

與pwm編程實例相關的資料

熱點內容
中國網路時間伺服器地址 瀏覽:794
開發抵押貸款需要解壓嗎 瀏覽:483
javaio寫入 瀏覽:378
socketjava源代碼 瀏覽:345
java圖片傳輸 瀏覽:718
高考伺服器怎麼查 瀏覽:623
java按鈕顯示圖片 瀏覽:541
微支付是不是加密貨幣 瀏覽:135
無法為jsp編譯類亂碼 瀏覽:765
揭陽文檔加密 瀏覽:420
通達信編程技巧 瀏覽:44
c語言與python混合 瀏覽:148
net程序員下載 瀏覽:636
化妝游戲解壓修指甲 瀏覽:99
各種語言的編譯程序屬於應用程序 瀏覽:11
編譯原理1形式化語言中文法 瀏覽:761
超微伺服器可以兼容浪潮雲嗎 瀏覽:237
小熊程序員視頻 瀏覽:693
java登陸驗證碼 瀏覽:97
armlinux啟動過程 瀏覽:510