|
采用STM32F10系列單片機
利用定時器TIM3的PWM輸出功能,利用端口復用PC7輸出PWM,實現呼吸燈的效果
- /***************************************************
- 實驗內容:定時器的PWM實現
- 使用定時器3的通道1,將其映射到PC6,實現呼吸燈的效果
- ****************************************************/
- #include "pwm.h"
- #define uint unsigned int
- void delay(uint z)
- {
- uint i,j;
- for(i=14286;i>0;i--)
- for(j=z;j>0;j--);
- }
- void TIM3_PWM_initial(uint arr,uint psc)
- {
- GPIO_InitTypeDef GPIO_InitStructuer;
-
- TIM_TimeBaseInitTypeDef time3_initial;
-
- TIM_OCInitTypeDef TIM_OCInitStructuer;
-
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//使能定時器3的時鐘(TIM3-CH1 映射到PC6)
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO,ENABLE);//使能GPIOC外設時鐘和AFIO復用功能模塊的時鐘
-
- //初始化端口GPIOC的復用更能
- GPIO_InitStructuer.GPIO_Mode=GPIO_Mode_AF_PP;//復用推挽輸出
- GPIO_InitStructuer.GPIO_Pin=GPIO_Pin_6;//(TIM3-CH1 映射到PC6)
- GPIO_InitStructuer.GPIO_Speed=GPIO_Speed_10MHz;
- GPIO_Init(GPIOC,&GPIO_InitStructuer);
-
- //(TIM3-CH1 映射到PC6)
- GPIO_PinRemapConfig(GPIO_FullRemap_TIM3,ENABLE);//完全重映射
-
- //TIM3的初始化
- time3_initial.TIM_ClockDivision=TIM_CKD_DIV1;
- time3_initial.TIM_CounterMode=TIM_CounterMode_Up;//設置為向上計數
- time3_initial.TIM_Period=arr;//設置自動裝載值
- time3_initial.TIM_Prescaler=psc;//設置預分頻系數
- TIM_TimeBaseInit(TIM3,&time3_initial);
-
- //通道一的初始化函數
- TIM_OCInitStructuer.TIM_OCMode=TIM_OCMode_PWM2;//PWM模式2
- TIM_OCInitStructuer.TIM_OCPolarity=TIM_OCPolarity_High;//極性為高
- TIM_OCInitStructuer.TIM_OutputState=TIM_OutputState_Enable;
- TIM_OC1Init(TIM3,&TIM_OCInitStructuer);
-
- //使能預裝載
- TIM_OC1PreloadConfig(TIM3,TIM_OCPreload_Enable);
-
- //使能定時器3
- TIM_Cmd(TIM3,ENABLE);
- }
- int main()
- {
- uint ledpwmval=0;
- uint flag=1;
- TIM3_PWM_initial(199,0);
-
- while(1)
- {
- delay(10);
- if(flag)
- {
- ledpwmval++;
- }
- else
- {
- ledpwmval--;
- }
-
- if(ledpwmval>199)
- {
- flag=0;
- }
- if(ledpwmval==0)
- {
- flag=1;
- }
- TIM_SetCompare1(TIM3,ledpwmval);
- }
- }
復制代碼
|
-
11111.png
(195.2 KB, 下載次數: 35)
下載附件
2020-3-19 16:04 上傳
主芯片
-
-
PWM輸出實驗.7z
2020-3-21 23:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
184.51 KB, 下載次數: 25, 下載積分: 黑幣 -5
評分
-
查看全部評分
|