PIC單片機軟件開發(fā)技巧_第1頁
PIC單片機軟件開發(fā)技巧_第2頁
PIC單片機軟件開發(fā)技巧_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PIC單片機軟件開發(fā)技巧

項目是有關機器人控制的實現(xiàn)??刂撇糠植捎肞IC16F7X系列單片機,運用匯編語言編程,運行速度較快,能夠達到系統(tǒng)的要求。在這里使用的大多是數(shù)字信號的控制,電機的控制只有開和合兩種狀態(tài)。在動作的過程中需要兩只手臂、身體、頭部、腳部等的協(xié)調動作。整個控制系統(tǒng)比較復雜,因而在PIC程序編寫和空間分配方面需要注意一些問題。1動作標志位的使用在整個控制中,組合的動作很多,當所有動作定位都通過光電開關控制時,在程序編寫上就有一些問題。如要求左手上升到鼓掌位、右手上升到舉手位(手初始位置在最下的放下位),光電開關0有效(即為0時是擋住),到達正確位置。用簡單的理解可以寫成下面的程序:listP=16c73calllefthandupcallrighthandupLOcallreadinsignalbdsscsl_v,1efthandligbtscalllefthandstopbtfsccsl_v,righthandlight4gotoL0callrighthandstopL1callreadinsignalbtfsccsl_v,lefthandlight3gotoL1calllefthandstop:lefthandlight表示光電開關,由此判斷是否到相應的位置。1表示在手臂最下面的位置;2表示在手臂的握手位置;3表示在手臂的鼓掌位置;4表示在手臂的高舉手位置。上面程序描寫左手臂上升到舉手位置和右手臂上升到鼓掌位置并停止的過程。先判斷左手到達否,到達則左手停止,接著看右手是否到達舉手位,到達則停止,否則循環(huán)上述的檢測,直到左手到達鼓掌位,右手到達舉手位。注意,這里的3,4表示的就是鼓掌位,舉手位。經過循環(huán)檢測可以讓手臂停在各位上,然而機械動作是有慣性的,機械停止位可能在該位的上一點或下一點,這就影響下面動作的進行,可能在若干動作后機械動作出現(xiàn)失常,也就是程序沒法正常的運行。在此情況下,需要修改程序的編寫方式,采用標志位來控制動作的進行。如果采用控制標志位,一定要在動作子函數(shù)中對標志位置零。程序如下:listp=16c73:actlonstopflagequOx6e;位定義lefthandfla8cqu0x0;0表示停止左手動作rightbandflagequOxl;O表示停止右手動作:movlwOx03movWfactionstopflagcalllefthanduocallrighthandupL2callreadinsignalbtfsscsl_v,lefthandhght3calllefthatldotopbtfsscsl_v,righthandlight4callrighthandstopmovlwOx00subwfactionstopflag,wbtfssstatus,zgotoL2繼續(xù)下面的程序actionstopflag表示動作標志位參數(shù),給動作標志位賦值,動作停止函數(shù)中將清零標志位的值。上述程序和前面所述程序的功能一樣,實現(xiàn)兩支手臂

溫馨提示

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

評論

0/150

提交評論