




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
#include<reg51.h>#include<absacc.h>//8254//8254//8254//電動機方向控制端口//8254//8254//8254//電動機方向控制端口//電動機1正轉//電動機1反轉//電動機1反轉//電動機2正轉//電動機2反轉//電動機2反轉//8254#defineCount1XBYTE[0x3fff]計數器1#defineCon_wordXBYTE[0x7fff]控制字#defineCon_MP3#definePos_M10x02#defineRe_M10x01#defineSto_M10x03#definePos_M20x08#defineRe_M20x04#defineSto_M20x0cuinttime1=10000,time2=10000;計數器0、計數器1初值ucharM1_flag=0,M2_flag=0;//電機運行標志位/************************函數聲明***********************/voiddelay(uintn); //延時函數voidinit_T0(void); //定時器T0初始化ucharM_turn(ucharn);//讀正反轉設置函數ucharkey_scan(void);//鍵盤掃描函數voidmotor_star(ucharnum);//電機啟動函數voidmotor_stop(ucharnum);//電機制動函數voidmotor_inc(ucharnum);//電機加速函數voidmotor_dec(ucharnum);//電機減速函數voidkey_manage(ucharnum);//鍵值處理函數/************************主程序*************************/main()ucharkeynum;init_T0();//按鍵監視程序//鍵盤處理程序}voiddelay(uintn){//按鍵監視程序//鍵盤處理程序}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計數器0初值//寫8254計數器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){//讀電機控制狀態//讀電機控制狀態//電動機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){//讀電機控制狀態//電動機1啟動//讀電機控制狀態//電動機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;}}/**********************鍵盤掃描函數************************/ucharkey_scan(void){uchari,temp;temp=P1;if(temp!=0xff){delay(2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精益管理在土木工程安全中的應用
- 醫學教育中的實踐培訓資源建設
- 區塊鏈技術助力實現商業合同信息的公開透明
- 《數據分析原理與應用》課件
- 醫患關系中的信任建設與法律保障
- 健康教育與健康促進的深度融合研究
- 創新型AI技術在健康教育中的運用實踐
- 酒店經營管理師顧客體驗設計題及答案
- 《數據占比的解讀》課件
- 企業負責人財務課件下載
- 民宿合同轉讓協議書
- 五年級下學期科學立體小菜園課件
- 航天科工網上測評題庫
- 【新課標】Unit 3 My weekend plan 單元整體教學設計(5個課時 表格式)
- 2025年日歷中文版橫向排版周日開始帶周數帶節假日調休1
- 合同終止公函模板
- 2022-2023學年浙江省杭州市錢塘區八年級(下)期末數學試卷含答案
- 2024年湖南省C13聯盟中考模擬物理試題
- 醫院標識標牌采購投標方案(技術方案)
- 2024年福建省閩投人才服務有限公司招聘筆試參考題庫附帶答案詳解
- 《機油培訓資料》課件2
評論
0/150
提交評論