單片機(jī)輸出接口與伺服電機(jī)控制資料_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、,,C語言編程控制伺服電機(jī),,,,,,,,,,,,,,,,C51單片機(jī)的輸入/輸出接口 機(jī)器人伺服電機(jī)控制信號(hào) 計(jì)數(shù)并控制循環(huán)次數(shù),,,,,,,,,,,,,,,,,,,,C51單片機(jī)的輸入/輸出接口,?,控制機(jī)器人伺服電機(jī)以不同速度運(yùn)動(dòng)是通過讓單片機(jī)的輸入/輸出(I/O)口輸出不同的脈沖序列來實(shí)現(xiàn)的。51系列單片機(jī)有4個(gè)8位的并行I/O口:P0、P1、P2和P3。這4個(gè)接口,既可以作為輸入,也可以作為輸出;可按8位處

2、理,也可按位方式(1位)使用。右圖是單片機(jī)STC89C52RC的引腳定義圖,這是一個(gè)標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片。,,,,,,,,,,,,,,,,任務(wù)一 機(jī)器人伺服電機(jī)控制信號(hào),???,控制伺服電機(jī)轉(zhuǎn)速為零的時(shí)序控制伺服電機(jī)順時(shí)針全速旋轉(zhuǎn)的時(shí)序控制伺服電機(jī)逆時(shí)針全速旋轉(zhuǎn)的時(shí)序,,,,,,,,,,,,,,,,,任務(wù)一 機(jī)器人

3、伺服電機(jī)控制信號(hào)? 關(guān)于驅(qū)動(dòng)電機(jī)的IO口– P1_0專門控制右輪伺服電機(jī)– P1_1專門控制左輪伺服電機(jī)伺服電機(jī)與教學(xué)底板的連線原理圖(左)和實(shí)際接線示意圖(右),,,,,,,,,,,,,,,,任務(wù)一 機(jī)器人伺服電機(jī)控制信號(hào),?,連接到P1_0的伺服電機(jī)分別為停止,全速順時(shí)針旋轉(zhuǎn)和逆時(shí)針旋轉(zhuǎn)的程序。,while(1){P1_0=1;

4、 //P1_0輸出高電平delay_nus(1300); //延時(shí)1.3msP1_0=0; //P1_0輸出低電平delay_nus(20000); //延時(shí)20ms},while(1){P1_0=1; //P1_0輸出高電平delay_nus(1500); //延時(shí)1.5msP1_0=0;

5、 //P1_0輸出低電平delay_nus(20000); //延時(shí)20ms},while(1){P1_0=1; //P1_0輸出高電平delay_nus(1500); //延時(shí)1.7msP1_0=0; //P1_0輸出低電平delay_nus(20000); //延時(shí)20ms},,,,,,,,,,,,,,,,,任務(wù)一 機(jī)器人

6、伺服電機(jī)控制信號(hào)? 該你了,讓機(jī)器人的兩個(gè)輪子全速旋轉(zhuǎn)。#include#includeint main(void){uart_Init(); //初始化串口printf("The LEDs connected to P1_0 and P1_1 are blinking!\n ");while(1){P1_

7、0=1; //P1_0輸出高電平P1_1=1; //P1_1輸出高電平delay_nus(1300); //延時(shí)500msP1_0=0; //P1_0輸出低電平P1_1=0; //P1_1輸出低電平

8、delay_nms(20); //延時(shí)20ms}},,,,,,,,,,,,,,,,任務(wù)二 計(jì)數(shù)并控制循環(huán)次數(shù)? for語句,––––,for語句的執(zhí)行過程for語句的形式:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增/減值) 語句自增和自減for循環(huán)控制電機(jī)的運(yùn)行時(shí)間,?,,,,,,,,,,,,,,,,任務(wù)二 計(jì)數(shù)并控制循環(huán)次數(shù)? 與 P1_1 連接的電機(jī)逆時(shí)

9、針旋轉(zhuǎn)2.17 秒,然后與P1_0 連接 的電機(jī)旋轉(zhuǎn)4.34秒,for(Counter=1;Counter<=100;i++){P1_1=1;delay_nus(1700);P1_1=0;delay_nms(20);}delay_nus(1700)持續(xù)1.7 ms,delay_nms(20)持續(xù)20ms,其他語句的執(zhí)行時(shí)間很少,可忽略。那么for 循環(huán)整體執(zhí)行一次的時(shí)間是:1.7 ms + 20 ms =

10、21.7ms,本循環(huán)執(zhí)行100 次,即就是21.7ms 乘以100,時(shí)間=100*21.7ms =100*0.0217 秒=2.17 秒。,,,,,,,,,,,,,,,,任務(wù)二 計(jì)數(shù)并控制循環(huán)次數(shù)?,,一個(gè)電機(jī)正向旋轉(zhuǎn)3秒,另一個(gè)電機(jī)同時(shí)的反向旋轉(zhuǎn)3秒。,想讓兩個(gè)電機(jī)同時(shí)運(yùn)行,給與P1_1 連接的電機(jī)發(fā)出1.7ms 的脈寬,給與P1_0連接的電機(jī)發(fā)出1.3ms 的脈寬,現(xiàn)在每通過循環(huán)一次要用的時(shí)間是:1.7ms –

11、與P1_1 連接的電機(jī)1.3ms – 與P1_0 連接的電機(jī)20 ms – 中斷持續(xù)時(shí)間---------- ------------------------------一共是23 ms如果你想使機(jī)器人運(yùn)行一段確定的時(shí)間,可以計(jì)算如下:脈沖數(shù)量=時(shí)間/0.023 秒=時(shí)間/0.023假如你想讓電機(jī)運(yùn)行3 秒,計(jì)算如下:脈沖數(shù)量=3 / 0.023= 130現(xiàn)在,你可以將for 循環(huán)中作如下修改,程序如下,,,,,,,,

12、,,,,,,,,任務(wù)二 計(jì)數(shù)并控制循環(huán)次數(shù)?,,一個(gè)電機(jī)正向旋轉(zhuǎn)3秒,另一個(gè)電機(jī)同時(shí)的反向旋轉(zhuǎn)3秒。,for(counter=1;counter<=130;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);},該你了:1.使電機(jī)向一個(gè)方向旋轉(zhuǎn) 3 秒,然后反向旋轉(zhuǎn)?2.如何減速?3.如何

溫馨提示

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

評(píng)論

0/150

提交評(píng)論