freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)控制雙閉環(huán)直流電機(jī)-資料下載頁

2025-11-01 02:51本頁面

【導(dǎo)讀】設(shè)計(jì)中通過采集轉(zhuǎn)速、電流信號進(jìn)行A/D轉(zhuǎn)換,并實(shí)現(xiàn)PI算法,要調(diào)速或快速正反向的電力拖動(dòng)領(lǐng)域中得到了廣泛的應(yīng)用。從控制的角度來看,制技術(shù)的發(fā)展和應(yīng)用范圍的推廣。能及算法可以采用軟件技術(shù)來完成,為直流電動(dòng)機(jī)的控制提供了更大的靈活性,并使系統(tǒng)能達(dá)到更高的性能。采用單片機(jī)構(gòu)成控制系統(tǒng),可以節(jié)約人力資源和降。低成本,從而有效的提高工作效率。在實(shí)際應(yīng)用系統(tǒng)中,凡是功率在幾十KW以下的電力傳動(dòng)系統(tǒng),基本上。都是采用轉(zhuǎn)速、電流雙閉環(huán)電力的傳動(dòng)系統(tǒng)。鋼機(jī)、冶金、印刷、金屬切削機(jī)床等許多領(lǐng)域的自動(dòng)控制系統(tǒng)中。

  

【正文】 0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 //段選碼 defineV_TH0 0Xff //宏定義 PWM 定時(shí)初值 defineV_TL0 0Xf6 define V_TMOD 0X01 sbit adda=P1^0。 //A/D 位選通道 sbit addb=P1^1。 sbit addc=P1^2。 void init (void) ///初始化函數(shù) { EA=1。 //開總中斷 外部中斷 EX1=1。 //開外部中斷 1 IT0=0。 //外部中斷邊沿觸發(fā),下降沿觸發(fā) 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 30 TMOD=v_tmod? //定時(shí)方式一 ,占空比 TH0=v_th0? //定時(shí)時(shí)間高八位 TL0=v_tl0? //定時(shí)時(shí)間第八位 TR0=1? /*啟動(dòng)定時(shí)器 T0*/ ET0=1? /*允許 T0 中斷 T0*/ EA=1? /*開中斷 */ } main() { while(1) //循環(huán)主程序 { ADC0809_1 ( ); //轉(zhuǎn)速反饋 A/D PIASR(); //轉(zhuǎn)速調(diào)節(jié) ADC0809_2 ( ) //取電流反饋信號 A/D 轉(zhuǎn)換 PIACR() //電流調(diào)節(jié) PWMout() //PWM 輸出 display() //轉(zhuǎn)速顯示 } void ADC0809_1 ( ) //取轉(zhuǎn)速反饋信號 A/D 轉(zhuǎn)換 { adda=0。 addb=0。 addc=1。 unsigned char aa。 ALE=1; //開始轉(zhuǎn)換 START =0。 START =1。 START =0。 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 31 clock=!clock。 //等待 EOC 置零 _nop_()。 _nop_()。 clock=!clock。 _nop_()。 _nop_()。 while(!eoc) //開始轉(zhuǎn)換。 ECO 信號為低,結(jié)束跳出轉(zhuǎn)換,信號為高 { clock=!clock。 _nop_()。 _nop_()。 } OE=1。 //置 1 允許輸出 aa=P0。 OE=0。 } void PIASR() //轉(zhuǎn)速調(diào)節(jié) { u1(k1)= If(u1(k1) um) { u1(k1) =um。 u(k1) =um。 } else { If (u1(k1) um) { u1(k1) =um。 u(k1) =um。 } else { u(k1)= if(u(k1) um) 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 32 u(k1) =um。 else if(u(k1) um) u(k1) =um。 } } } void ADC0809_2 ( ) //取電流反饋信號 A/D 轉(zhuǎn)換 { adda=0。 addb=0。 addc=1。 unsigned char bb。 ALE=1; //開始轉(zhuǎn)換 START=0。 START =1。 START=0。 clock=!clock。 //等待 EOC 置零 _nop_()。 _nop_()。 clock=!clock。 _nop_()。 _nop_()。 while(!eoc) //開始轉(zhuǎn)換。 ECO 信號為低,結(jié)束 跳出轉(zhuǎn)換,信號為高 { clock=!clock。 _nop_()。 _nop_()。 } oe=1。 //置 1 取數(shù) bb=P0。 oe=0。 } 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 33 void PIACR() //電流調(diào)節(jié) { u1= If(u1(k) um) { u1(k) =um。 u(k) =um。 } else { If (u1(k) um) { u1(k) =um。 u(k) =um。 } else { u(k)= if(u(k) um) u(k) =um。 else if(u(k) um) u(k) =um。 } } } void timer0(void) interrupt1 /*思路:占空比計(jì)算 關(guān)于頻率和占空比的確定,對于 12M 晶振,假定 PWM 輸出頻率為 1KHZ,這樣定時(shí)中斷次數(shù) 則設(shè)定為 C=10,即 中斷一次,則 TH0=FF,TL0=F6? 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 34 由于設(shè)定中斷時(shí)間為 ,這樣可以設(shè)定占空比可從 1 100 變化。即*100=1ms */ { static uchar click=0? /*中斷次數(shù)計(jì) 數(shù)器變量 */ th0=V_th0? /*恢復(fù)定時(shí)器初始值 */ tl0=V_tl0? ++click? if(click=100) click=0? if(click=ZKB1) /*當(dāng)小于占空比值時(shí)輸出低電平,高于占空比值時(shí)輸出高電平,從而實(shí)現(xiàn)占空比的調(diào)整 */ { P1^3=0? P1^0=0? } else { P1^3=1? P1^0=1? } if(click=ZKB2) { P1^2=0? P1^1=0? } else { P1^2=1? P1^1=1? 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 35 } } void PWMout() //PWM 輸出 { zkb1=40? //占空比初始值設(shè)定 zkb2=60? //占空比初始值設(shè)定 if(!P1^0amp。!P1^3) //如果 和 為低電平,增加占空比 { delay(500)? //延時(shí) if(!P1^0amp。!P1^3) { zkb1++? zkb2=100zkb1? } } if(!P1^1amp。!P^2) //如果 和 為低電平,減少占空比 { delay(500)? if(!P1^1amp。!P^2) { ZKB1? ZKB2=100ZKB1? } } if(ZKB199)ZKB1=1? //占空比值限定范圍 if(ZKB11)ZKB1=99? } 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 36 } } //轉(zhuǎn)速顯示 unsigned char i,k,m,n,ge,shi,bai,qian。 int z。 delay() //延時(shí)函數(shù) Z。 { uint x,y。 for(x=z。x0。x) for(y=110。y0。y)。 } dispbuf(i) {aa=aa**5000/255。 aa=aa*1450/5000。 if(i==0) ge= aa%10。 if(i==1) shi= aa%100/10。 if(i==2) bai=aa/1000%100。 if(i==3) qian = aa/1000。 return(aa)。 } void ledscan() //數(shù)碼管掃描函數(shù) { for(i=0。i4。i++) { PA=table[dispbuf(i)]。 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 37 PB= scan[i]。 //取 row0row7 行掃描數(shù)據(jù) delay(50)。 } } } //外部中斷程序 void int0() interrupt 0 { uchar kbscan() 。 //讀鍵盤設(shè)定的轉(zhuǎn)速初值 } void uchar Keyscan() { uchar i=0x01,j,k。 KeyPad=~i。 j=~i。 for (k=0。k4。k++) { if(KeyPad==j) { i*=2。 KeyPad=~i。 j=~i。 } else k=KeyPad。//取出掃描碼 . } i=0。 基于單片機(jī)的雙閉環(huán)直流調(diào)速系統(tǒng) 38 if(k!=4) { while(key_tab[i++]!=0xff) { if(k==key_tab[i]) k=i。 else k=16。 } } return key_show[k]。 }
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1