久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4438|回復: 2
打印 上一主題 下一主題
收起左側

基于STM32f4的可調PWM發生器源程序

[復制鏈接]
跳轉到指定樓層
樓主
給51黑電子論壇的朋友們分享一個基于STM32F4單片機的可調PWM發生器設計,包含源碼
實驗目的:
    學習定時器的PWM功能
   
硬件資源:
    1,DS0(連接在PF9)  
    2,定時器14(TIM14),使用TIM14的通道1(CH1),將TIM14_CH1輸出到PF9.    從而實
    現PWM輸出控制DS0亮度.     
   
實驗現象:
    本實驗,DS0由暗到亮,再由亮到暗,再由暗到亮,依次循環.
   


主程序:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "key.h"
  5. #include "pwm.h"
  6. #include "stm32f4xx_tim.h"
  7. //by  zplove57
  8. //data 2016.11.10
  9. u32 temp1,temp2,temp3,temp4;

  10. u8 keyval,con1,con2,con3,con4;
  11. int main(void)
  12. {

  13.         temp1=temp2=temp3=temp4=0;

  14.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置系統中斷優先級分組2
  15.         delay_init(168);  //初始化延時函數
  16.         KEY_Init();
  17.         TIM10_PWM_Init(5000-1,112);        //112M/112=1Mhz的計數頻率,重裝載值500,所以PWM頻率為 XM/500=2Khz.(ARR,PSC)  
  18.          TIM11_PWM_Init(5000-1,112);        

  19.    while(1) //
  20.         {
  21.                 keyval=KEY_Scan(0);
  22.                 if(keyval==1)
  23.                         {
  24.                                 if (temp1==6)
  25.                                         temp1=0;
  26.                                 else        
  27.                                         temp1++;
  28.                         }
  29.                 else if(keyval==2)
  30.                         {
  31.                                 if (temp2==8)
  32.                                         temp2=0;
  33.                                 else        
  34.                                         temp2++;
  35.                         }
  36.                 else if(keyval==3)
  37.                         {
  38.                                 if(temp3==8)
  39.                                         temp3=0;
  40.                                 else        
  41.                                         temp3++;
  42.                         }
  43.                 else if(keyval==4)
  44.                         {
  45.                                 if(temp4==8)
  46.                                         temp4=0;
  47.                                 else        
  48.                                         temp4++;
  49.                         }
  50.                 else
  51.                 {
  52.                         temp1=temp1;temp2=temp2;temp3=temp3;temp4=temp4;
  53.                 }
  54.                 switch(temp1)
  55.                 {
  56.                         case 1:TIM_SetCompare1(TIM10,3500);break;//%30
  57.                         case 2:TIM_SetCompare1(TIM10,2750);break;//%45
  58.                         case 3:TIM_SetCompare1(TIM10,2000);break;//%60
  59.                         case 4:TIM_SetCompare1(TIM10,1250);break;//%75
  60.                         case 5:TIM_SetCompare1(TIM10,500);break;//%90
  61.                         default :TIM_SetCompare1(TIM10,4250);//15%
  62.                 }
  63.                 switch(temp2)
  64.                 {
  65.                         case 1:TIM_SetCompare1(TIM11,3750);break;//%25
  66.                         case 2:TIM_SetCompare1(TIM11,3250);break;//%35
  67.                         case 3:TIM_SetCompare1(TIM11,3000);break;//%40
  68.                         case 4:TIM_SetCompare1(TIM11,2750);break;//%50
  69.                         case 5:TIM_SetCompare1(TIM11,2250);break;//%60
  70.                         case 6:TIM_SetCompare1(TIM11,1750);break;//%65
  71.                         case 7:TIM_SetCompare1(TIM11,1500);break;//%70
  72.                         default :TIM_SetCompare1(TIM11,4000);//20%
  73.                 }               
  74.                                 switch(temp3)
  75.                 {
  76.                                         case 1:TIM10->PSC=75-1;break;//300HZ
  77.                                         case 2:TIM10->PSC=56-1;break;//400HZ
  78.                                         case 3:TIM10->PSC=45-1;break;//500HZ
  79.                                         case 4:TIM10->PSC=37-1;break;//600HZ
  80.                             case 5:TIM10->PSC=32-1;break;//700HZ
  81.                             case 6:TIM10->PSC=28-1;break;//800HZ
  82.                                         case 7:TIM10->PSC=25-1;break;//900HZ
  83.                                         default :TIM10->PSC=120-1;//200HZ
  84.                 }
  85.                   switch(temp4)
  86.                 {
  87.                                         case 1:TIM11->PSC=56-1;break;//400HZ
  88.                                         case 2:TIM11->PSC=38-1;break;//600HZ
  89.                                         case 3:TIM11->PSC=28-1;break;//800HZ
  90.                                         case 4:TIM11->PSC=22-1;break;//1000HZ
  91.                             case 5:TIM11->PSC=19-1;break;//1200HZ
  92.                             case 6:TIM11->PSC=16-1;break;//1400HZ
  93.                                         case 7:TIM11->PSC=15-1;break;//1500HZ
  94.                                         default :TIM11->PSC=111;//200HZ
  95.                 }

  96.         }
  97. }
復制代碼

完整代碼下載:
Keil代碼.7z (298.62 KB, 下載次數: 44)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:293245 發表于 2018-3-17 17:41 | 只看該作者
謝謝分享66666
回復

使用道具 舉報

板凳
ID:117053 發表于 2018-4-25 17:20 | 只看該作者
請問有原理圖可以參考嗎?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品欧美一区二区三区不卡 | 日韩成人av在线 | 欧美1级| 国产成人精品一区二区三区在线 | 福利一区视频 | 夜夜爽99久久国产综合精品女不卡 | 99精品视频在线观看免费播放 | 一区二区三区视频在线免费观看 | 波多野结衣二区 | 美女操网站| 欧美一区二区另类 | 亚洲日韩中文字幕一区 | 亚洲高清在线 | 在线观看av网站 | 久久免费视频在线 | 影视一区 | 一区二区三区影院 | 成人不卡一区二区 | 亚洲精品视频在线观看免费 | 久久一区二区三区电影 | 一区二区不卡 | 久久久www成人免费精品 | 欧美国产精品一区二区三区 | 色爱av| 欧美精品1区 | 亚洲女人的天堂 | 超碰高清| 中文字幕在线视频观看 | 亚洲精品乱码久久久久久按摩 | 91视频国产精品 | 亚洲精品久久久久中文字幕欢迎你 | 久久久久久免费毛片精品 | 精精国产xxxx视频在线野外 | 国产色 | 午夜视频免费网站 | 亚洲精品久久久久久久久久久久久 | 中文字幕亚洲欧美日韩在线不卡 | 国产精品久久久久久福利一牛影视 | 欧美.com | 久久久久久久久久久丰满 | 久久久精品视频一区二区三区 |