• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)軟件在關(guān)機(jī)器人控制中的編程技巧

    PIC單片機(jī)軟件在關(guān)機(jī)器人控制中的編程技巧

    作者: 時(shí)間:2014-01-16 來(lái)源:網(wǎng)絡(luò) 收藏

    本文介紹項(xiàng)目是有的實(shí)現(xiàn)。控制部分采用PICl6F7X系列單片機(jī),運(yùn)用匯編語(yǔ)言編程,運(yùn)行速度較快,能夠達(dá)到系統(tǒng)的要求。在這里使用的大多是數(shù)字信號(hào)的控制,電機(jī)的控制只有開(kāi)和合兩種狀態(tài)。在動(dòng)作的過(guò)程中需要兩只手臂、身體、頭部、腳部等的協(xié)調(diào)動(dòng)作。整個(gè)控制系統(tǒng)比較復(fù)雜,因而在PIC程序編寫(xiě)和空間分配方面需要注意一些問(wèn)題。

    1、 動(dòng)作標(biāo)志位的使用

    在整個(gè)控制中,組合的動(dòng)作很多,當(dāng)所有動(dòng)作定位都通過(guò)光電開(kāi)關(guān)控制時(shí),在程序編寫(xiě)上就有一些問(wèn)題。如要求左手上升到鼓掌位、右手上升到舉手位(手初始位置在最下的放下位),光電開(kāi)關(guān)0有效(即為0時(shí)是擋住),到達(dá)正確位置。用簡(jiǎn)單的理解可以寫(xiě)成下面的程序:

    list P=16c73

    call lefthandup

    call righthandup

    LO call readinsignal

    bdss csl_v,1efthandligbts

    call lefthandstop

    btfsc csl_v,righthandlight4

    goto L0

    call righthandstop

    L1 call readinsignal

    btfsc csl_v,lefthandlight3

    goto L1

    call lefthandstop

    lefthandlight表示光電開(kāi)關(guān),由此判斷是否到相應(yīng)的位置。1表示在手臂最下面的位置;2表示在手臂的握手位置;3表示在手臂的鼓掌位置;4表示在手臂的高舉手位置。上面程序描寫(xiě)左手臂上升到舉手位置和右手臂上升到鼓掌位置并停止的過(guò)程。先判斷左手到達(dá)否,到達(dá)則左手停止,接著看右手是否到達(dá)舉手位,到達(dá)則停止,否則循環(huán)上述的檢測(cè),直到左手到達(dá)鼓掌位,右手到達(dá)舉手位。

    注意,這里的3,4表示的就是鼓掌位,舉手位。經(jīng)過(guò)循環(huán)檢測(cè)可以讓手臂停在各位上,然而機(jī)械動(dòng)作是有慣性的,機(jī)械停止位可能在該位的上一點(diǎn)或下一點(diǎn),這就影響下面動(dòng)作的進(jìn)行,可能在若干動(dòng)作后機(jī)械動(dòng)作出現(xiàn)失常,也就是程序沒(méi)法正常的運(yùn)行。在此情況下,需要修改程序的編寫(xiě)方式,采用標(biāo)志位來(lái)控制動(dòng)作的進(jìn)行。如果采用控制標(biāo)志位,一定要在動(dòng)作子函數(shù)中對(duì)標(biāo)志位置零。程序如下:

    list p=16c73

    actlONstopflag equ Ox6e ;位定義

    lefthandfla8 cqu 0x0 ;0表示停止左手動(dòng)作

    rightbandflag equ Oxl ;O表示停止右手動(dòng)作

    movlw Ox03

    movWf actionstopflag

    call lefthanduo

    call righthandup

    L2 call readinsignal

    btfss csl_v,lefthandhght3

    call lefthatldotop

    btfss csl_v,righthandlight4

    call righthandstop

    movlw Ox00

    光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理

    上一頁(yè) 1 2 下一頁(yè)

    評(píng)論


    相關(guān)推薦

    技術(shù)專(zhuān)區(qū)

    關(guān)閉
    主站蜘蛛池模板: 乾安县| 梅河口市| 潞西市| 漳平市| 游戏| 武功县| 冀州市| 北流市| 永年县| 巴马| 兴仁县| 儋州市| 邵阳市| 山东省| 高碑店市| 甘谷县| 三亚市| 龙海市| 台中市| 吴桥县| 宁化县| 呈贡县| 白沙| 湟源县| 广河县| 宿迁市| 绥化市| 榆树市| 鸡泽县| 太湖县| 沙河市| 云南省| 辉县市| 天柱县| 松江区| 盐源县| 阿克陶县| 武夷山市| 乾安县| 赤峰市| 黑河市|