欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于stm8的電機(jī)調(diào)速
[打印本頁]
作者:
hubaba
時間:
2016-3-30 17:30
標(biāo)題:
基于stm8的電機(jī)調(diào)速
之前做的一個小題目,算是班門弄斧吧,大神對此一定呲之以鼻,所以我也不怎么宣揚(yáng)了。
實(shí)習(xí)程序.zip
(398.18 KB, 下載次數(shù): 17)
2016-3-30 17:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
部分程序預(yù)覽:
pwm.h
#include"canshu.h"
uint t;
uchar time2_2h=4,time2_2l=4;
void TIM2_Init()
{
TIM2_CCMR2 = TIM2_CCMR2 | 0x70;// Output modePWM2.
//通道2被設(shè)置成比較輸出方式
// OC2M = 111,為PWM模式2,
// 向上計數(shù)時,若計數(shù)器小于比較值,為無效電平
// 即當(dāng)計數(shù)器在0到比較值時,輸出為1,否則為0
TIM2_CCMR1 = TIM2_CCMR1 | 0x70;
TIM2_CCMR3 = TIM2_CCMR3 | 0x70;
TIM2_CCER1 = TIM2_CCER1 | 0x33;// CC polarity low,enable PWMoutput */
// CC2P = 1,低電平為有效電平
// CC2E = 1,開啟輸出引腳
TIM2_CCER2 = TIM2_CCER2 | 0x03;
//初始化自動裝載寄存器,決定PWM方波的頻率,F(xiàn)pwm=16000000/1000=16kHZ
TIM2_ARRH = 16000/255;
TIM2_ARRL = 16000%255;
TIM2_CCR1H =time2_2h;
TIM2_CCR1L = time2_2l=4;
//初始化比較寄存器,決定PWM方波的占空比
TIM2_CCR2H =1000/255;
TIM2_CCR2L =1000%255;
TIM2_CCR3H = 1000/255;
TIM2_CCR3L = 1000%255;
//初始化時鐘分頻器為1,即計數(shù)器的時鐘頻率為Fmaster=4MHZ
TIM2_PSCR =0x00;//因為用了繼電器,所以喲分頻,可到0x08,256分頻
//啟動計數(shù)
TIM2_CR1 = TIM2_CR1 | 0x01;
}
//外部中斷觸發(fā)
void exit_init()
{
PC_DDR&=~0x04;
PC_CR1|=0x04;
PC_CR2|=0x04;
EXTI_CR1|= 0x10;
}
#pragma vector=0x07 // 這里很關(guān)鍵!看下面說明。
__interrupt void EXTI_PC1(void)
{
asm("sim");
switch(EXTI_CR1)
{
case 0x10:EXTI_CR1=0x20;exit_flag=1;break;
case 0x20:EXTI_CR1=0x10;exit_flag=2;break;
default :exit_flag=0;break;
}
if(exit_flag==2)
{
t++;
exit_flag=0;
if(t%10==0)
{
ulong chaju;
now_nus=TIM4_CNTR;
now_ms=cishu;
chaju_ms=now_ms-last_ms;
if(cishu_flag==1)
{
cishu_flag=0;
chaju_ms=30000+now_ms-last_ms;
}
chaju_nus=now_nus-last_nus;
chaju=chaju_ms*250+chaju_nus;
now_rads=(1250000/chaju);
last_nus=now_nus;
last_ms=now_ms;
last_rads[rads_flag++]=now_rads;
if(rads_flag==10)
rads_flag=0;
pid_error=now_rads-last_radss;
pid_error1=last_radss-last_radsss;
last_radsss=last_radss;
last_radss =now_rads;
}
}
asm("rim");
}
#pragma vector=TIM2_OVR_UIF_vector
__interrupt void TIM3_OVF_IRQHandler(void)
{
TIM2_SR1 = 0x00;
ds1820_flag=1;
}
//定時器2產(chǎn)生60s的中斷
void TIM2_time()
{
TIM2_EGR=0x01; //手動產(chǎn)生更新事件,重新初始化計數(shù)器,并允許產(chǎn)生一個更新事件
//設(shè)置定時器初值
TIM2_CNTRH=0; //不能使用TIM3_CNTR直接設(shè)值,
TIM2_CNTRL=0;
//設(shè)定自動重裝寄存器值
//這里得注意不能使用TIM2_ARR的方式進(jìn)行設(shè)值,TIM2是十六位的。
//如TIM2_ARR=0xFA,實(shí)際上是賦給高字節(jié)了,TIM2_ARRH=0xFA,而不是想象中的賦給低字節(jié)。
TIM2_ARRH=0x72; //488hz 488 /29280 = 60s (1S)
TIM2_ARRL=0x60; //0x007d 意味著每產(chǎn)生一次中斷時間為60S
TIM2_PSCR=0x0f; //預(yù)分頻32275
TIM2_IER=0x01; //中斷允許位使能
TIM2_CR1=0x01; //使能計時器
}
復(fù)制代碼
這是我在電機(jī)調(diào)速寫的資料
7.jpg
(51.68 KB, 下載次數(shù): 180)
下載附件
2016-3-30 17:30 上傳
pid算法.pdf
(1.72 MB, 下載次數(shù): 14)
2016-3-30 17:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
Pid電機(jī)調(diào)速LabVIEW程序圖.rar
(318.61 KB, 下載次數(shù): 11)
2016-3-30 17:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
huanying263
時間:
2017-5-25 10:28
好東西
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1