找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4502|回復(fù): 1
收起左側(cè)

利用TIM14_CH1產(chǎn)生PWM來控制DS0亮度,DS0將從遵從暗-->亮--->暗-->亮的循環(huán)

[復(fù)制鏈接]
ID:129839 發(fā)表于 2016-7-9 20:29 | 顯示全部樓層 |閱讀模式
本實(shí)驗(yàn)將實(shí)現(xiàn)如下功能:本實(shí)驗(yàn)
  1. 利用TIM14_CH1產(chǎn)生PWM來控制DS0亮度,DS0將從遵從暗-->亮--->暗-->亮的循環(huán)
復(fù)制代碼
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "pwm.h"


  6. //ALIENTEK 探索者STM32F407開發(fā)板 實(shí)驗(yàn)9
  7. //PWM輸出實(shí)驗(yàn)-庫(kù)函數(shù)版本
  8. //廣州市星翼電子科技有限公司  
  9. //作者:正點(diǎn)原子 @ALIENTEK

  10. int main(void)
  11. {
  12.         u16 led0pwmval=0;   
  13.         u8 dir=1;
  14.         //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級(jí)分組2
  15.         delay_init(168);  //初始化延時(shí)函數(shù)
  16.         //uart_init(115200);//初始化串口波特率為115200
  17.         TIM14_PWM_Init(500-1,84-1);        //84M/84=1Mhz的計(jì)數(shù)頻率,重裝載值500,所以PWM頻率為 1M/500=2Khz.     
  18.    while(1) //實(shí)現(xiàn)比較值從0-300遞增,到300后從300-0遞減,循環(huán)
  19.         {
  20.                 delay_ms(2);         
  21.                 if(dir)led0pwmval++;//dir==1 led0pwmval遞增
  22.                 else led0pwmval--;        //dir==0 led0pwmval遞減
  23.                 if(led0pwmval>300)dir=0;//led0pwmval到達(dá)300后,方向?yàn)檫f減
  24.                 if(led0pwmval==0)dir=1;        //led0pwmval遞減到0后,方向改為遞增

  25.                 TIM_SetCompare1(TIM14,led0pwmval);        //修改比較值,修改占空比
  26.         }
  27. }
復(fù)制代碼



實(shí)驗(yàn)9 PWM輸出實(shí)驗(yàn).zip (3.98 MB, 下載次數(shù): 27)
回復(fù)

使用道具 舉報(bào)

ID:388116 發(fā)表于 2018-8-29 11:33 | 顯示全部樓層
好東西,感謝分享,學(xué)習(xí)了。。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表