<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 淺談PIC單片機軟件開(kāi)發(fā)技巧

淺談PIC單片機軟件開(kāi)發(fā)技巧

作者: 時(shí)間:2013-02-07 來(lái)源:網(wǎng)絡(luò ) 收藏
單片機是一種集成在電路芯片,是采用超大規模集成電路技術(shù)把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時(shí)器/計時(shí)器等功能(可能還包括顯示驅動(dòng)電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個(gè)小而完善的計算機系統。整個(gè)控制系統比較復雜,因而在PIC程序編寫(xiě)和空間分配方面需要注意一些問(wèn)題。

  1 的使用

  在整個(gè)控制中,組合的動(dòng)作很多,當所有動(dòng)作定位都通過(guò)光電開(kāi)關(guān)控制時(shí),在程序編寫(xiě)上就有一些問(wèn)題。如要求左手上升到故障位、右手上升到舉手位(手初始位置在最下的放下位),光電開(kāi)關(guān)0有效(即為0時(shí)是擋?。?,到達正確位置。用簡(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

 ?。?/P>

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

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

  list p=16c73

 ?。?/P>

  actlonstopflag equ Ox6e ;位定義

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

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

 ?。?/P>

  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

  subwf actionstopflag,w

  btfss status,z

  goto L2

  繼續下面的程序


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>