簡介
CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設(shè)計。 片上集成了時鐘安全機制、多級電源管理、通用DMA控制器。 此系列具有1路USB2.0主機/設(shè)備接口、多通道12位ADC轉(zhuǎn)換模塊、多通道TouchKey、多組定時器、多路IIC/USART/SPI接口等豐富的外設(shè)資源。
本章教程使用定時器1通道1(PA8),通過PA8引腳產(chǎn)生PWM控制LED。 燈LED1的亮度。
1、PWM簡介及相關(guān)函數(shù)介紹
脈沖寬度調(diào)制(PWM)是一種模擬控制方式,其是利用微處理器的數(shù)字輸出對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。 CH32V103的高級定時器TIM1和通用定時器TIM2/3/4均可產(chǎn)生PWM輸出。
PWM輸出模式是定時器的基本功能之一。 PWM輸出模式最常見的是使用重裝值確定PWM頻率,使用捕獲比較寄存器確定占空比的方法。 將OCxM域(比較捕獲通道x模式設(shè)置域)中置110b或者111b使用PWM模式1或者模式2,置OCxPE位(比較捕獲寄存器x預(yù)裝載使能位)使能預(yù)裝載寄存器,最后置ARPE 位(自動重裝預(yù)裝使能位)使能預(yù)裝載寄存器的自動重裝載。 在發(fā)生一個更新事件時,預(yù)裝載寄存器的值才能被送到影子寄存器,所以在核心計數(shù)器開始計數(shù)之前,需要置UG位(更新事件產(chǎn)生位)來初始化所有寄存器。 在PWM模式下,核心計數(shù)器和比較捕獲寄存器一直在進行比較,根據(jù)CMS(中央對齊模式選擇)位,定時器能夠輸出邊沿對齊或者中央對齊的PWM信號
邊沿對齊:使用邊沿對齊時,核心計數(shù)器增計數(shù)或者減計數(shù),在PWM模式1的情景下,在核心計數(shù)器的值大于比較捕獲寄存器時,OCxREF上升為高; 當核心計數(shù)器的值小于比較捕獲寄存器時,OCxREF下降為低。
中央對齊:使用中央對齊模式時,核心計數(shù)器運行在增計數(shù)和減計數(shù)交替進行的模式下,OCxREF在核心計數(shù)器和比較捕獲寄存器的值一致時進行上升和下降的跳變。 但比較標志在三種中央對齊模式下,置位的時機有所不同。 在使用中央對齊模式時,最好在啟動核心計數(shù)器之前產(chǎn)生一個軟件更新標志 (置UG位)。
關(guān)于PWM輸出具體信息,可參考CH32V103應(yīng)用手冊。 本章教程通過定時器1通道1產(chǎn)生PWM控制LED,其程序所用庫函數(shù)在定時器中斷教程中均已介紹,在此不再贅述。
2、硬件設(shè)計
本章教程通過定時器1通道1(PA8)產(chǎn)生PWM控制LED燈,其中,定時器為CH32V103內(nèi)部資源,無需進行硬件設(shè)計,只需進行LED連接即可,LED與GPIO引腳連接方式如下:
LED1與PA8連接。
3、軟件設(shè)計
本章教程主要通過定時器產(chǎn)生PWM輸出控制LED燈,其中,led.c文件與led.h文件前面GPIO教程中已講解,在此不再介紹,本章主要介紹pwm.h文件、pwm.c文件以及main.c文件,具體程序如下:
pwm.h文件
pwm.c文件
main.c文件
main.c文件主要包含相關(guān)函數(shù)的初始化以及while循環(huán)函數(shù),在while循環(huán)中,將pwmval這個值設(shè)置為PWM比較值,也就是通過pwmval來控制PWM的占空比,然后控制 pwmval的值從0變到300,然后又從300變到0,如此循環(huán),因此 LED0 的亮度也會跟著從暗變到亮,然后又從亮變到暗。 TIM_SetCompare1用于修改占空比。
4、下載驗證
將編譯好的程序下載到開發(fā)板并復(fù)位,可以看到開發(fā)板LED1開始不停由暗變亮,再由亮變暗。
-
led
+關(guān)注
關(guān)注
242文章
23821瀏覽量
673407 -
mcu
+關(guān)注
關(guān)注
146文章
17955瀏覽量
365763 -
PWM
+關(guān)注
關(guān)注
116文章
5482瀏覽量
219129 -
定時器
+關(guān)注
關(guān)注
23文章
3298瀏覽量
118671 -
CH32V103
+關(guān)注
關(guān)注
1文章
13瀏覽量
1232
發(fā)布評論請先 登錄
利用定時器產(chǎn)生PWM波
高級控制和通用定時器通道引腳分布
基于GD32F310開發(fā)板的定時器產(chǎn)生PWM實現(xiàn)呼吸燈
如何利用stm32的高級定時器產(chǎn)生PWM

STM32-通用定時器-PWM輸出

ZigBee無線傳感——CC2530單片機定時器1PWM輸出

STM32F103C8T6定時器TIM4通道1、2輸出PWM

STM32F103 PA8不能輸出PWM波問題

如何利用定時器產(chǎn)生PWM波
應(yīng)用筆記(三)| 運用DMA 功能實現(xiàn)高級定時器和ADC 的同步觸發(fā)采樣

評論