在很多工程應用中,需要使用到PWM波(脈寬調制),例如電機調速、溫度控制調整功率等。本文講述怎么利用單片機的一個定時器生成多路PWM波形。
一般的,PWM的周期t1是一個固定值,如1ms,10ms,100ms等,在一個周期中包含了高電平t2和低電平t3,它們的關系是t2+t3=t1。改變一個周期中高電平的時間,就能達到速度或者功率調整的目的。PWM適用于高速開關器件的控制,不適合于繼電器等低速開關元件的控制,因為繼電器等低速元件達不到如此快的開關速度。
PWM控制的關鍵是控制改變PWM的高電平時間t2,這個時間在其他子程序中由控制算法中進行修改,如PID控制算法。
圖 1
在微處理器,如單片機中,實現一個定時器生成多路PWM的方法如下。
首先來看看用一個定時器實現一路PWM輸出的方法:
>>定義一個時間基準刻度t,這個也是計時器中斷周期,一般在程序中t不改變。PWM的周期、高低電平時間由若干個基準時間t組成;
>>定義一個全局計時變量n,n表示這段時間經過了多少個基準時間t;
>>定義一個全局計時變量n1,n1表示一個PWM的周期包含多少個基準時間t,n1=t1/t。一般在程序中n1,t1不改變。
>>定義一個全局計時變量n2,n2表示一個PWM周期中高電平包含多少個基準時間t,n2=t2/t。由于高電平的時間受其他算法控制改變的,n2也是隨時在改變。
程序的流程如下:
①初始化定時器,定時器中斷時間設置為t,如設置t為1ms或其他;
②初始化變量:n=0;//計時變量n清零
n1=t1/t;//一個PWM的周期t1包含了多少個基準時間t.
//假如設PWM周期為100ms,則n1=100;
n2=t2/t;//計算一個PWM中高電平時間t2由多少個基準時間//t組成。t2由其他控制算法改變。
③開始計時,打開定時器中斷。定時器中斷程序中n++;
當n
程序流程圖如下:
圖2
如果在同一個定時器中需要多路PWM,再定義多組類似的變量,按照圖2 中流程處理即可。
上一篇:基于51單片機的DS18B20溫控系統設計
下一篇:51單片機DS18B20溫度傳感四位數碼管顯示報警
推薦閱讀
史海拾趣
Carling Technologies于1920年創立,早期專注于電氣和電子開關以及組件的制造。憑借創始人的遠見卓識和團隊的努力,公司逐漸在行業中嶄露頭角。在創立初期,Carling Technologies就以其高質量的產品和創新的設計贏得了客戶的信賴。通過不斷的研發和技術升級,公司逐漸在電氣和電子開關領域建立了自己的地位。
1961年,Fairchild公司向全世界介紹了第一個實用的集成電路(IC)。這個微小的芯片將多個晶體管和其他電子元件集成在一起,極大地提高了電子設備的性能和可靠性。這一創新對電子行業產生了深遠的影響,并開啟了集成電路技術的飛速發展。
CSM憑借其卓越的技術實力和產品性能,逐漸在市場上獲得了廣泛認可。公司先后榮獲了多項榮譽和獎項,如2021“物聯之星”年度評選之“星銳獎”等。這些榮譽不僅是對CSM技術實力和市場地位的肯定,也是對公司未來發展的鞭策和激勵。
以上五個故事分別從CSM的創立背景、技術突破、合作模式、重大項目承擔和市場認可等方面展現了公司在電子行業中的發展歷程和成就。希望這些故事能夠為您了解CSM提供有益的參考。
CSM憑借其卓越的技術實力和產品性能,逐漸在市場上獲得了廣泛認可。公司先后榮獲了多項榮譽和獎項,如2021“物聯之星”年度評選之“星銳獎”等。這些榮譽不僅是對CSM技術實力和市場地位的肯定,也是對公司未來發展的鞭策和激勵。
以上五個故事分別從CSM的創立背景、技術突破、合作模式、重大項目承擔和市場認可等方面展現了公司在電子行業中的發展歷程和成就。希望這些故事能夠為您了解CSM提供有益的參考。
CSM自成立以來,便積極承擔國家和地方具有戰略性意義的重大攻關研發項目。其中,公司前身南京市物聯網研究與產業化有限公司RFID事業部申報的“超高頻與微波RFID讀寫器射頻芯片研發”項目獲得了國家工信部物聯網專項資金項目資助,并在江蘇省名列第一。這些項目的成功完成不僅展示了CSM在技術研發方面的實力,也為國家科技進步和產業發展做出了積極貢獻。
在國內市場取得一定成績后,艾邁斯(AMASS)公司開始積極拓展國際市場。他們通過與國外知名企業的合作,成功將產品打入國際市場。同時,艾邁斯還針對不同國家和地區的市場需求,推出了定制化的產品和服務,進一步提升了公司在國際市場上的競爭力。如今,艾邁斯的產品已經遠銷全球多個國家和地區,成為了國際市場上備受矚目的品牌之一。
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 編輯 舊事物可以重新流行,商業品牌也不例外。著名的如即時成像相機公司寶麗來(Polaroid)于2001年10月提出破產申請,幾年后則宣布回歸。 在完成與BankOne銀行、Petters Group以及其他機構的金 ...… 查看全部問答∨ |
摩托車尾快閃礫霹靂燈電路 當打開夜行燈時,12V電源接人本電路。電路中主要點電位設定為:Va= 8.IV,Vb=7.4V,Vc=6.7V,Vd=6V,Ve=5.3V,Vf=4.6V,Vg=3.gV。接通瞬間B點電壓由電阻分壓 得到VB=8.3V,由于電容C端電 ...… 查看全部問答∨ |
請教個問題:我做應用程序的,使用MSCOMM控件做了一個串口通信程序(VB),用串口調試程序測試接受和發送數據都沒有問題,現在同事要在硬件那邊發送數據,他用匯編,現在他說我的程序有問題,發送格式不對,說要按他的格式發送:即先發一個0X10作為 ...… 查看全部問答∨ |
|
PDEVICE_OBJECT AAA=NULL; PDEVICE_OBJECT BBB=NULL; AAA->Flags |= BBB->Flags & (DO_BUFFERED_IQ | DO_DIRECT_IQ | DO_POWER_PAGABLE); &雙目就是1 1 = 1 ,只有都是1的時候1 其他都是0 與 |雙目就是1 0 = 1 ,0 1 = 1&nb ...… 查看全部問答∨ |
1. 修改注冊表 通過工具可以看出我已經成功修改 \\ControlPanel\\BackLight\\Brightness 的值 然后又 HANDLE hBL=CreateEvent(NULL,FALSE,FALSE,L"BackLightChangeEvent"); if(hB ...… 查看全部問答∨ |
我的boss有在華為及峻龍工作的背景,自然就給我們講了一些華為及altera做邏輯的一些東西,而我們的項目規范,也基本上是按華為的那一套去做。在工作這幾個月中,給我感觸最深的是華為的那句話:時序是設計出來的,不是仿出來的,更不是湊出來的。&n ...… 查看全部問答∨ |
|
本信息來自合作QQ群:電子工程師技術交流(12425841) 群主在壇子ID:Kata 我現在暑假鍛煉 驅動芯片都盡量不去看別人的光看手冊 這樣有意思么? 花的時間比較長不知道是不是反而浪費時間了 不知道工作的時候是怎么寫的 也都是可以有參考的還 ...… 查看全部問答∨ |