直流電機調(diào)速程序_第1頁
直流電機調(diào)速程序_第2頁
直流電機調(diào)速程序_第3頁
直流電機調(diào)速程序_第4頁
直流電機調(diào)速程序_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

#include<reg51.h>#include<absacc.h>//8254//8254//8254//電動機方向控制端口//8254//8254//8254//電動機方向控制端口//電動機1正轉(zhuǎn)//電動機1反轉(zhuǎn)//電動機1反轉(zhuǎn)//電動機2正轉(zhuǎn)//電動機2反轉(zhuǎn)//電動機2反轉(zhuǎn)//8254#defineCount1XBYTE[0x3fff]計數(shù)器1#defineCon_wordXBYTE[0x7fff]控制字#defineCon_MP3#definePos_M10x02#defineRe_M10x01#defineSto_M10x03#definePos_M20x08#defineRe_M20x04#defineSto_M20x0cuinttime1=10000,time2=10000;計數(shù)器0、計數(shù)器1初值ucharM1_flag=0,M2_flag=0;//電機運行標志位/************************函數(shù)聲明***********************/voiddelay(uintn); //延時函數(shù)voidinit_T0(void); //定時器T0初始化ucharM_turn(ucharn);//讀正反轉(zhuǎn)設置函數(shù)ucharkey_scan(void);//鍵盤掃描函數(shù)voidmotor_star(ucharnum);//電機啟動函數(shù)voidmotor_stop(ucharnum);//電機制動函數(shù)voidmotor_inc(ucharnum);//電機加速函數(shù)voidmotor_dec(ucharnum);//電機減速函數(shù)voidkey_manage(ucharnum);//鍵值處理函數(shù)/************************主程序*************************/main()ucharkeynum;init_T0();//按鍵監(jiān)視程序//鍵盤處理程序}voiddelay(uintn){//按鍵監(jiān)視程序//鍵盤處理程序}voiddelay(uintn){while(1){keynum=key_scan();key_manage(keynum);uchari,j;for(i=0;i<n;i++)for(j=19;j>0;j--);}/**********************定時器T0初始化*********************/voidinit_T0(void){TMOD=0x01; //工作方式1TH0=0x4c; //定時50msTL0=0x00;ET0=1;EA=1;TR0=1;}/********************定時器TO中斷服務程序****************/voidtimer0(void)interrupt1{TR0=0;//重載定時器TO//重載定時器TO初值//寫8254計數(shù)器0初值//寫8254計數(shù)器1初值TL0=0x00;Con_word=0x30;Count0=(uchar)(time1/256);Count0=(uchar)(time1%256);Con_word=0x70;Count0=(uchar)(time2/256);Count0=(uchar)(time2%256);TRO=1;}ucharM_turn(ucharn)TRO=1;}ucharM_turn(ucharn)uchartemp,turn;temp=(P3&Ox3O)>>4;if(n==1){temp&=0x01;switch(temp){case0x00:turn=Re_M1;break;case0x01:turn=Pos_M1;break;}}else{temp=(temp&0x02)>>1;switch(temp){case0x00:turn=Re_M2;break;case0x01:turn=Pos_M2;break;}}return(turn);}voidmotor_star(ucharnum){//讀電機控制狀態(tài)//讀電機控制狀態(tài)//電動機1未啟動//讀電機1設置//設定啟動速度//若電動機2未啟動//讀電機2設置uchartemp1,temp2;temp1=Con_M;if((num==1)&(M1_flag!=1)){M1_flag=1;temp2=M_turn(1);Con_M=(temp1&0xfc)|temp2;//送電機1控制time1=10000;}elseif((num==2)&(M2_flag!=1))M2_flag=1;temp2=M_turn(2);

Con_M=(temp1&0xfc)|temp2;//送電機1控制time2=10000;//設定啟動速度}}voidmotor_stop(ucharnum){}voidmotor_stop(ucharnum){//讀電機控制狀態(tài)//電動機1啟動//讀電機控制狀態(tài)//電動機1啟動//讀電機1設置//若電動機2啟動//讀電機2設置}voidmotor_inc(ucharnum){uchartemp1,temp2;temp1=Con_M;if((num==1)&(M1_flag==1)){M1_flag=0;temp2=Sto_M1;Con_M=(temp1&0xfc)|temp2;//送電機1控制}elseif((num==2)&(M2_flag==1)){M2_flag=0;temp2=Sto_M2;Con_M=(temp1&0xfc)|temp2;//送電機1控制}if((num==1)&(M1_flag==1))//電動機1啟動{if(time1>0)time1=time1-2000;}//若電動機2//若電動機2啟動{if(time2>0)time2=time2-2000;}}voidmotor_dec(ucharnum){if((num==1)&(M1_flag==1))//電動機1啟動{if(time1<20000)time1=time1+2000;}elseif((num==2)&(M2_flag==1)) //若電動機2啟動{if(time2<20000)time2=time2+2000;}}voidkey_manage(ucharnum){switch(num){case0:while(P1!=0xff);motor_star(2);break;case1:while(P1!=0xff);motor_stop(2);break;case2:while(P1!=0xff);motor_inc(2);break;case3:while(P1!=0xff);motor_dec(2);break;case4:while(P1!=0xff);motor_star(1);break;case5:while(P1!=0xff);motor_stop(1);break;case6:while(P1!=0xff);motor_inc(1);

break;case7:while(P1!=0xff);motor_dec(1);break;default:break;}}/**********************鍵盤掃描函數(shù)************************/ucharkey_scan(void){uchari,temp;temp=P1;if(temp!=0xff){delay(2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論