版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
機器人程序設計(C語言)新工科建設之路·機器人技術(shù)與應用系列循環(huán)程序設計一讓機器人動起來第三章C51單片機的輸入/輸出接口控制機器人運動的伺服電機以不同速度運動是通過單片機的輸入/輸出(I/O)接口輸出不同脈沖序列來實現(xiàn)的。C51系列單片機有4個8位的并行I/O接口:P0、P1、P2和P3。AT89S52引腳:AT89S52有44根引腳,其中32根是I/O端口引腳,如圖3-1所示。其中有29根具備兩種用途(用圓括號寫出),既可作為I/O端口,也可作為控制信號或地址及數(shù)據(jù)線。單燈閃爍控制01為了驗證P1接口的輸出電平是不是由你編寫的程序控制,可以采用一個非常簡單的辦法,就是在想驗證的接口引腳上接一個發(fā)光二極管。當輸出高電平時,發(fā)光二極管滅;輸出低電平時,發(fā)光二極管亮。單燈閃爍控制單燈閃爍控制LED電路元器件(1)紅色發(fā)光二極管,2個。(2)470Ω電阻,2個。單燈閃爍控制LED電路搭建在搭建電路前先認識面包板。教學板前端,那塊白色的、有許多孔或插座的區(qū)域稱為無焊料的面包板。面包板連同它三邊黑色插孔稱為原型區(qū)域,如圖3-2所示。單燈閃爍控制LED電路搭建單燈閃爍控制LED電路搭建在面包板插孔插上元器件,如本任務用到的電阻、LED燈,就可以構(gòu)成本書例程的電路。元器件靠面包板插孔彼此連接。單燈閃爍控制LED電路搭建面包板上共17列插孔,列與列之間互不相通。整個面包板通過中間槽分為兩塊,它們之間的插座互不相通。每一小列由5個插孔組成,這5個插孔在面包板上是電氣相連的。單燈閃爍控制現(xiàn)在按照圖3-3所示電路,在教學板的面包板上搭建起實際電路。LED電路搭建單燈閃爍控制圖3-3所示的電路原理圖指引你如何連接電路元器件,使用唯一的符號來表示不同的元器件。這些器件符號用細線相連,表示它們是電氣相連的。在電路原理圖中,當兩個器件符號用細線相連時,表示它們之間是電氣連接的。細線還可以將元器件和電壓端口連接。LED電路搭建單燈閃爍控制圖3-4為元器件電路符號與實際元器件的對應圖。元器件符號圖的上方就是該元器件的零件圖。LED電路搭建單燈閃爍控制LED電路搭建根據(jù)圖3-3實際搭建好的電路參考圖3-5所示。單燈閃爍控制LED電路搭建實際搭建電路時應注意:確認發(fā)光二極管的短針腳(陰極)插入面包板,通過電阻與P10相連。確認發(fā)光二極管的長針腳(陽極)插入"+5V"插口,這里+5V就是電路圖上的Vcc。單燈閃爍控制HighLowLed.c是如何工作的與第1章程序相比,本例程多使用了一個頭文件BoeBot.h,其中定義了兩個延時函數(shù);voiddelay_nms(unsignedinti)和voiddelay_nus(unsignedinti)。單燈閃爍控制修飾符unsigned放到int前面,指定后面的變量為無符號數(shù)。如果加上修飾符signed,則指定是“有符號數(shù)”。如果既不指定signed,也不指定為unsigned,則隱含為有符號(signed)。實際上,signed是可以省略的。無符號整型數(shù)據(jù)unsignedint單燈閃爍控制單片機端口引腳信號隨時間的變化可以用時序圖來描述,一個端口引腳的時序圖反應的是其高、低電壓信號與時間的變化關(guān)系圖。時序圖簡介機器人伺服電機控制信號02機器人伺服電機控制信號圖3-8所示是高電平持續(xù)1.5ms,低電平持續(xù)20ms,然后不斷重復地控制脈沖序列。該脈沖序列發(fā)給經(jīng)過零點標定后的伺服電機,伺服電機不會旋轉(zhuǎn)。如果此時電機旋轉(zhuǎn),那么表明電機需要標定。機器人伺服電機控制信號由圖3-8、圖3-9和圖3-10可知,控制電機運轉(zhuǎn)速度的是高電平持續(xù)的時間,當高電平持續(xù)時間為1.3ms時,電機順時針全速旋轉(zhuǎn);當高電平持續(xù)時間1.7ms時,電機逆時針全速旋轉(zhuǎn)。按照任務1中給單片機微控制器編程,使P1端口的兩個引腳(P1_0和P1_1)控制兩個LED燈閃爍,重新給單片機編程,就可以給這兩個引腳發(fā)出伺服電機的控制信號。機器人伺服電機控制信號機器人伺服電機控制信號按照圖3-12所示的伺服電機與教學板的連接原理圖和實際接線圖,將兩個電機的連接線連接到教學板上。具體連接時,注意將P1_0引腳的控制輸出用來控制右邊的伺服電機,P1_1則用來控制左邊的伺服電機。機器人伺服電機控制信號機器人伺服電機控制信號單片機編程發(fā)給伺服電機的高、低電平信號必須具備更精確的時間。機器人伺服電機控制信號用下面的程序片段代替例程HighLowLed.c中相應的程序片段,編譯、連接、執(zhí)行代碼,觀察連接到P1_0腳的機器人輪子是不是逆時針全速旋轉(zhuǎn)。計數(shù)并控制循環(huán)次數(shù)03計數(shù)并控制循環(huán)次數(shù)for語句最方便的控制一段代碼執(zhí)行次數(shù)的方法是利用for循環(huán),語法如下:for(表達式1;表達式2;表達式3)語句計數(shù)并控制循環(huán)次數(shù)for語句它的執(zhí)行過程如下:(1)求解表達式1。(2)求解表達式2,若其值為真(非0),則執(zhí)行for語句中指定的內(nèi)嵌語句,然后執(zhí)行第(3)步;若其值為假(0),則結(jié)束循環(huán),轉(zhuǎn)到第(5)步。(3)求解表達式3。(4)轉(zhuǎn)回第(2)步繼續(xù)執(zhí)行。(5)循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句。計數(shù)并控制循環(huán)次數(shù)for語句for語句最簡單的應用形式,也就是最易理解的形式如下:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增/減值)語句計數(shù)并控制循環(huán)次數(shù)自增和自減C語言有兩個很有用的運算符-—自增和自減,即“++”和“_”。運算符“艸”是操作數(shù)加1,而“-”是操作數(shù)減1。換句話說:“x=x+1”同“x++”,“x=x-1”同“x—”。計數(shù)并控制循環(huán)次數(shù)for循環(huán)控制電機的運行時間下面是for循環(huán)的例子,它會使電機運行幾秒鐘。用計算機來控制機器人的運動04用計算機來控制機器人的運動scanf()函數(shù)scanf()函數(shù)與printf()函數(shù)對應,在C語言庫的stdio.h中定義。它的一般形式如下:scanf("格式控制字符串",地址列表);用計算機來控制機器人的運動scanf()函數(shù)程序運行結(jié)果如圖3-13所示。①輸出“ProgramRunning!”和“Pleaseinputpulsenumber:”。②程序處于等待狀態(tài),等待輸入數(shù)據(jù)。③在發(fā)送區(qū)(顯示窗口下面的窗口)輸入數(shù)據(jù)并回車,然后單擊“發(fā)送”按鈕,將數(shù)據(jù)發(fā)送給變量PulseNumber。④scanf()函數(shù)收到數(shù)據(jù)后,執(zhí)行下面的語句,輸出“Pleaseinputpulseduration:”。⑤處于等待狀態(tài)。用計算機來控制機器人的運動scanf()函數(shù)程序運行結(jié)果如圖3-13所示。⑥在發(fā)送區(qū)再輸入數(shù)據(jù),然后單擊“發(fā)送”按鈕,將數(shù)據(jù)發(fā)送給變量PulseDuration。⑦程序接收到兩個數(shù)據(jù)后執(zhí)行剩余的程序,讓伺服電機運轉(zhuǎn)。用計算機來控制機器人的運動scanf()函數(shù)用計算機來控制機器人的運動工程素質(zhì)和技能歸納本章涉及的主要技能①C51系列單片機的引腳定義和分布。②用C51單片機的P1端口的位輸出控制單燈和雙燈閃爍,時序圖的概念,while循環(huán)的引入和延時函數(shù)的使用。③機器人伺服電機的控制脈沖序列,通過給C51編程讓其輸出這些控制脈沖序列。④自增運算符的使用。⑤for循環(huán)的使用以控制機器人的運動。⑥如何通過串口輸入數(shù)據(jù)控制機器人的運動。用計算機來控制機器人的運動科學精神的培養(yǎng)①比較BS2微控制器與C51單片機微控制器輸入、輸出接口的使用方法。
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度電商平臺贈品營銷合作合同3篇
- 2024年度個人教育貸款合同終止及還款計劃協(xié)議3篇
- 2024年中英進口農(nóng)產(chǎn)品加工設備采購合同范本3篇
- 2024年度高低壓配電施工責任承包協(xié)議版B版
- 2024年小客車車牌指標租賃及租賃車輛安全協(xié)議3篇
- 2024年教育行業(yè)母子公司股權(quán)轉(zhuǎn)讓與教育資源整合協(xié)議3篇
- 2024年度商業(yè)連鎖分租合作協(xié)議3篇
- 海珠區(qū)年度初中信息技術(shù)結(jié)業(yè)考試質(zhì)量分析
- 化工工程安裝合同范例
- 燈箱廣告含稅合同范例
- 期末復習提升測試(試題)(含答案)2024-2025學年四年級上冊數(shù)學人教版
- 生和碼頭港口設施維護管理制度(3篇)
- 【MOOC】數(shù)字邏輯設計及應用-電子科技大學 中國大學慕課MOOC答案
- 研學活動協(xié)議書合同范本
- 換熱器的原理及構(gòu)造
- 校園安全形勢會商研判制度(4篇)
- 湖北省十堰市2023-2024學年高二上學期期末調(diào)研考試 地理 含答案
- 重慶市2023-2024學年六年級上冊語文期末測試試卷(含答案)3
- 水下土方疏浚(水力沖挖)施工方案
- 以往馬克思主義中國化進程與青年學生使命擔當(2022年春)學習通超星期末考試答案章節(jié)答案2024年
- 人工智能與信息社會學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論