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

標(biāo)題: stm32多路PWM模擬輸出的程序源碼 [打印本頁]

作者: Happenzj    時(shí)間: 2018-5-25 10:16
標(biāo)題: stm32多路PWM模擬輸出的程序源碼
stm32F103c8t6的程序(可方便改成使用的單片機(jī)),通過定時(shí)器模擬輸出多路脈沖寬度不同的PWM,且脈沖寬度與脈沖寬度改變速度可控。自己用于多路舵機(jī)驅(qū)動(dòng),理論上單片機(jī)有多少I/O口就能輸出多少路PWM!!!

stm32單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "TIM.h"
  3. #include "DELAY.h"
  4. #include "GPIO.h"
  5. #include "math.h"
  6. #include "DATA.h"

  7. int main()
  8. {
  9. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//選擇中斷分組4
  10. GPIO_Configuration();

  11. TIM3_Init(71,9);//每10us進(jìn)一次中斷
  12. NVIC3_Configurature();
  13. TIM2_Init(35999,19);//100Hz
  14. NVIC2_Configurature();
  15.        
  16.         slaver_SetAngle(0,220,60);//零號(hào)舵機(jī),A1
  17.         slaver_SetAngle(1,20,60);//A2
  18.         slaver_SetAngle(2,40,60);//A3
  19.         slaver_SetAngle(3,60,60);
  20.         slaver_SetAngle(4,80,60);
  21.         slaver_SetAngle(5,100,60);
  22.         slaver_SetAngle(6,120,60);
  23.         slaver_SetAngle(8,140,60);
  24.         slaver_SetAngle(9,160,60);
  25.         slaver_SetAngle(10,170,60);
  26.         slaver_SetAngle(11,100,60);
  27.         slaver_SetAngle(12,40,60);
  28.         slaver_SetAngle(13,60,60);
  29.         slaver_SetAngle(14,70,60);
  30.         slaver_SetAngle(15,80,60);
  31.         slaver_SetAngle(16,90,60);
  32.         slaver_SetAngle(17,100,60);
  33.         while(1)
  34.         {
  35.         }
  36. }
  37.        
  38. volatile unsigned short pulse_width = 2000;
  39. volatile unsigned int tim3_cnt = 0;//設(shè)置的奇數(shù)位
  40.        
  41. void TIM3_IRQHandler(void)//TIM3做PWM輸出
  42. {
  43.         unsigned char j;
  44.         TIM3->SR = 0;//清楚中斷
  45.        
  46.         tim3_cnt++;
  47.         if(tim3_cnt == pulse_width)
  48.         {
  49.                 tim3_cnt = 0;
  50.                 GPIOA->ODR |= 0XFFFF;//對(duì)其他的端口不會(huì)影響
  51.                 GPIOB->ODR |= 0XFFFF;
  52.         }
  53.         for(j = 0;j < slave_Number;j ++)
  54.         {
  55.                 if(tim3_cnt == slaver_data[j].Data_Converted)//等于角度轉(zhuǎn)換值得到的數(shù)值
  56.                 {
  57.                                 (slaver_data[j].GPIOx)->ODR&=~slaver_data[j].GPIO_Pin;//選擇端口,進(jìn)行賦值
  58.                 }
  59.         }
  60. }       

  61. void TIM2_IRQHandler(void)//定時(shí)器2做控速
  62. {
  63.         unsigned char i;
  64.         TIM2->SR = 0;
  65.   
  66.         for(i=0; i<slave_Number; i++)
  67.         {
  68.                 if(fabs(slaver_data[i].Data_Desire - slaver_data[i].Data_Real) < slaver_data[i].Data_Speed*CYCLE_TIM2_UPDATE)//判斷實(shí)際角度與輸入角度的差值
  69.                 {
  70.                         slaver_data[i].Data_Real = slaver_data[i].Data_Desire;//差值小就直接賦值
  71.                 }
  72.                 else
  73.                 {
  74.                         if(slaver_data[i].Data_Desire > slaver_data[i].Data_Real)//輸入值大于實(shí)際值
  75.                         {
  76.                                 slaver_data[i].Data_Real += slaver_data[i].Data_Speed*CYCLE_TIM2_UPDATE;//加等于輸入值
  77.                         }
  78.                         else
  79.                         {
  80.                                 slaver_data[i].Data_Real -= slaver_data[i].Data_Speed*CYCLE_TIM2_UPDATE;//減等于輸入值
  81.                         }
  82.                 }
  83.                 slaver_data[i].Data_Converted = (unsigned short)(50.0f + slaver_data[i].Data_Real*SLAVER_CHANGE);//加上偏移量,轉(zhuǎn)換數(shù)值
  84.         }
  85. }
復(fù)制代碼

所有資料51hei提供下載:
duoji-qudong-5.zip (318.85 KB, 下載次數(shù): 33)



作者: Happenzj    時(shí)間: 2018-5-25 10:17
我怎么上傳資料啊,剛來這個(gè)論壇,尷尬,,,




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精久久久| 日韩在线视频一区 | 国产日韩精品在线 | 国产aⅴ爽av久久久久久久 | 欧美成人a∨高清免费观看 欧美日韩中 | 国产成人精品免费 | 国产福利精品一区 | 亚洲欧洲国产视频 | 97久久精品 | 中文字幕一级毛片视频 | 在线国产一区 | 成人在线不卡 | 亚洲欧美视频在线观看 | www.狠狠干| 久久综合久久综合久久 | 免费在线黄 | 成人综合一区二区 | 久久精品视频免费观看 | 欧美成人激情 | 亚洲网在线 | 午夜国产 | 日韩理论电影在线观看 | 亚洲福利网站 | 欧美一区二区三区 | 男女视频在线观看网站 | 在线免费国产 | 日韩视频福利 | 国产精品久久久久久一区二区三区 | 日韩精品久久久久久 | 在线视频 亚洲 | 日韩精品一区二区久久 | 999久久久久久久久6666 | 久久久久久国产精品免费免费男同 | 大象一区 | 久久精品亚洲欧美日韩久久 | 成人国产精品免费观看 | 国产成人精品免高潮在线观看 | 二区在线观看 | 精品欧美一区二区在线观看视频 | www性色 | 久久三区 |