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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3619|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

基于stm8的電機(jī)調(diào)速

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
       之前做的一個(gè)小題目,算是班門弄斧吧,大神對此一定呲之以鼻,所以我也不怎么宣揚(yáng)了。 實(shí)習(xí)程序.zip (398.18 KB, 下載次數(shù): 17)

部分程序預(yù)覽:
pwm.h
  1. #include"canshu.h"

  2. uint t;
  3. uchar time2_2h=4,time2_2l=4;
  4. void TIM2_Init()
  5. {
  6. TIM2_CCMR2 = TIM2_CCMR2 | 0x70;// Output modePWM2.         
  7.                                 //通道2被設(shè)置成比較輸出方式
  8.                                 // OC2M = 111,為PWM模式2,
  9.                                 // 向上計(jì)數(shù)時(shí),若計(jì)數(shù)器小于比較值,為無效電平
  10.                                 // 即當(dāng)計(jì)數(shù)器在0到比較值時(shí),輸出為1,否則為0
  11. TIM2_CCMR1 = TIM2_CCMR1 | 0x70;
  12. TIM2_CCMR3 = TIM2_CCMR3 | 0x70;
  13. TIM2_CCER1 = TIM2_CCER1 | 0x33;// CC polarity low,enable PWMoutput      */
  14.                                 // CC2P = 1,低電平為有效電平
  15.                                 // CC2E = 1,開啟輸出引腳               
  16. TIM2_CCER2 = TIM2_CCER2 | 0x03;
  17. //初始化自動(dòng)裝載寄存器,決定PWM方波的頻率,F(xiàn)pwm=16000000/1000=16kHZ      
  18.   TIM2_ARRH = 16000/255;
  19.   TIM2_ARRL = 16000%255;
  20.   
  21.    TIM2_CCR1H =time2_2h;
  22.   TIM2_CCR1L = time2_2l=4;
  23. //初始化比較寄存器,決定PWM方波的占空比            
  24.   TIM2_CCR2H =1000/255;
  25.   TIM2_CCR2L =1000%255;
  26.       
  27.   TIM2_CCR3H = 1000/255;
  28.   TIM2_CCR3L = 1000%255;
  29. //初始化時(shí)鐘分頻器為1,即計(jì)數(shù)器的時(shí)鐘頻率為Fmaster=4MHZ
  30.   TIM2_PSCR =0x00;//因?yàn)橛昧死^電器,所以喲分頻,可到0x08,256分頻
  31. //啟動(dòng)計(jì)數(shù)
  32. TIM2_CR1 = TIM2_CR1 | 0x01;
  33. }

  34. //外部中斷觸發(fā)
  35. void exit_init()
  36. {
  37.    PC_DDR&=~0x04;
  38.    PC_CR1|=0x04;
  39.    PC_CR2|=0x04;
  40.    EXTI_CR1|= 0x10;
  41.   
  42.    
  43. }

  44. #pragma vector=0x07 // 這里很關(guān)鍵!看下面說明。
  45. __interrupt void EXTI_PC1(void)
  46. {
  47.   asm("sim");
  48.   switch(EXTI_CR1)
  49.   {
  50.   case 0x10:EXTI_CR1=0x20;exit_flag=1;break;
  51.   case 0x20:EXTI_CR1=0x10;exit_flag=2;break;
  52.   default :exit_flag=0;break;
  53.   }
  54. if(exit_flag==2)
  55. {
  56.     t++;
  57.    exit_flag=0;
  58.    if(t%10==0)
  59.    {
  60.       ulong chaju;
  61.       now_nus=TIM4_CNTR;
  62.       now_ms=cishu;
  63.      chaju_ms=now_ms-last_ms;
  64.    if(cishu_flag==1)
  65.    {
  66.      cishu_flag=0;
  67.      chaju_ms=30000+now_ms-last_ms;
  68.    }
  69.       chaju_nus=now_nus-last_nus;
  70.       chaju=chaju_ms*250+chaju_nus;
  71.       now_rads=(1250000/chaju);
  72.       last_nus=now_nus;
  73.       last_ms=now_ms;
  74.       last_rads[rads_flag++]=now_rads;
  75.       if(rads_flag==10)
  76.         rads_flag=0;
  77.     pid_error=now_rads-last_radss;
  78.     pid_error1=last_radss-last_radsss;
  79.      last_radsss=last_radss;
  80.      last_radss =now_rads;
  81.    }
  82. }

  83.    asm("rim");
  84. }

  85. #pragma vector=TIM2_OVR_UIF_vector
  86.      __interrupt void TIM3_OVF_IRQHandler(void)
  87.     {
  88.         
  89.          TIM2_SR1 = 0x00;
  90.          ds1820_flag=1;
  91.     }


  92. //定時(shí)器2產(chǎn)生60s的中斷
  93. void TIM2_time()
  94. {
  95.      TIM2_EGR=0x01; //手動(dòng)產(chǎn)生更新事件,重新初始化計(jì)數(shù)器,并允許產(chǎn)生一個(gè)更新事件   
  96.     //設(shè)置定時(shí)器初值  
  97.     TIM2_CNTRH=0; //不能使用TIM3_CNTR直接設(shè)值,
  98.     TIM2_CNTRL=0;   
  99.     //設(shè)定自動(dòng)重裝寄存器值      
  100.     //這里得注意不能使用TIM2_ARR的方式進(jìn)行設(shè)值,TIM2是十六位的。  
  101.     //如TIM2_ARR=0xFA,實(shí)際上是賦給高字節(jié)了,TIM2_ARRH=0xFA,而不是想象中的賦給低字節(jié)。  
  102.     TIM2_ARRH=0x72; //488hz 488 /29280  = 60s (1S)  
  103.     TIM2_ARRL=0x60; //0x007d   意味著每產(chǎn)生一次中斷時(shí)間為60S  
  104.     TIM2_PSCR=0x0f; //預(yù)分頻32275
  105.   
  106.     TIM2_IER=0x01; //中斷允許位使能  
  107.     TIM2_CR1=0x01; //使能計(jì)時(shí)器  

  108. }
復(fù)制代碼



      這是我在電機(jī)調(diào)速寫的資料



pid算法.pdf (1.72 MB, 下載次數(shù): 14)
Pid電機(jī)調(diào)速LabVIEW程序圖.rar (318.61 KB, 下載次數(shù): 11)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:121642 發(fā)表于 2017-5-25 10:28 | 只看該作者
好東西
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本在线看 | 欧美久久久网站 | 欧美日韩不卡 | 福利一区二区在线 | 国产精品一区二区视频 | 欧美精品一区二区三区在线 | 欧美在线一区二区三区 | 日日干夜夜操 | 一级片毛片 | 欧美成人影院在线 | 一区二区三区国产视频 | 欧美日韩在线免费 | 国产精品一二三区 | 激情国产在线 | 国产精品久久一区二区三区 | 视频一区二区三区在线观看 | 国产福利在线播放 | av黄色网 | 亚洲精品99| 久草网在线视频 | 国产99精品| 岛国毛片 | 国产在线一区二区 | 欧美在线观看一区 | 欧美一级二级视频 | 天天草天天干天天 | 国产精品av久久久久久久久久 | 国产成人免费视频网站视频社区 | 99re热精品视频 | 国产 欧美 日韩 一区 | 成人一区在线观看 | 国产精品69毛片高清亚洲 | 亚洲精品久久久久中文字幕二区 | 欧美精品一区在线 | 韩日精品一区 | 日韩精品在线一区 | 欧美一区二区三区久久精品 | 午夜激情国产 | 亚洲综合二区 | 中文字幕乱码视频32 | .国产精品成人自产拍在线观看6 |