1990123 發表於 2012-10-10 14:49

把pin0.pin1 開關 如何去控制模組

麻煩周經理指點 !!
我想要BC2利用 P0、 P1 、 P2、 P3 、 P4........ P10
去控制每一個模式怎寫?


...............................................................
Peripheral myMotor As MotorRunnerC @ 0
Sub Main()
Dim key As Byte
Start:
WRITEPORT0 &H00 'Write low to output buffers
Do
Debugin 'Input any key to turn on LED.#, %CHR key, CR
OUTPUT 0 'Switch P0 to OUTPUT mode, turn on LED0
Debugin 'Input any key to turn off LED.#, %CHR key, CR
INPUT 0'Switch P0 to INPUT mode, turn off LED0

Debug CLS
MyMotor.Forward(200) ' 讓馬達以 200 的速度向前轉動
Pause 3000
MyMotor.Stop() ' 停止馬達轉動
Pause 3000
MyMotor.Backward(200) ' 讓馬達以 200 的速度向後轉動
Pause 3000
MyMotor.SetDir(0) ' 設定馬達轉向改為向前轉動
Pause 3000
MyMotor.SetSpdDC(150) ' 將馬達轉速改為 150
Pause 3000
MyMotor.Brake() ' 快速停止馬達

Loop
End Sub

magiccar 發表於 2012-10-10 21:02

你是指利用外部I/O信號啟動指定的程式段或副程式嗎?

可參考下方程式架構:Sub Main()
  Dim LoopCounter As Byte = 0                     
  SETDIRPORT1(&B00000000)
Start:
  BUTTON 0,1,255, 0,LoopCounter,1,Display1
  BUTTON 1,1,255, 0,LoopCounter,1,Display2
  BUTTON 2,1,255, 0,LoopCounter,1,Display3
  Goto Start
Dispaly1:
  '第一段關卡要做的動作
Dispaly2:
  '第二段關卡要做的動作
Dispaly3:
  '第三段關卡要做的動作
End Sub這樣不管選擇第幾段,都會執行到結束。

1990123 發表於 2012-10-14 20:58

本帖最後由 1990123 於 2012-10-14 21:01 編輯

周經理 : 
您好!
這是我設的程式
但還是不能有
選擇切換條件功能
是不是能麻煩周經理再幫我看看是否修改
              
麻煩經理了!!!!
           


Peripheral myMotor As MR2x5 @ 0 ' 設定模組編號為 0

Dim LoopCounter As Byte = 0
Sub Main()

Start:

      BUTTON 0, 1, 255, 0, LoopCounter, 1, S0

      BUTTON 1, 1, 255, 0, LoopCounter, 1, S1

      BUTTON 2, 1, 255, 0, LoopCounter, 1, S2

      BUTTON 3, 1, 255, 0, LoopCounter, 1, S3
      
      Goto Start

S0:   '第一段直線
Debug CLS
myMotor.ForwardAB(179,180)' 讓兩個操縱馬達同時正向轉動
Pause 1500
myMotor.ForwardAB(230,231)' 讓兩個操縱馬達同時正向轉動
Pause 1000
myMotor.ForwardAB(233,232)' 讓兩個操縱馬達同時正向轉動
PAUSE 1000
myMotor.ForwardAB(237,237)' 讓兩個操縱馬達同時正向轉動
PAUSE 1000
myMotor.ForwardAB(240,240)' 讓兩個操縱馬達同時正向轉動
PAUSE 2000
myMotor.ForwardAB(241,242)' 讓兩個操縱馬達同時正向轉動
Pause 2100
myMotor.ForwardAB(0,240)' 讓兩個操縱馬達同時正向轉動
Pause 1100
myMotor.BrakeDual() ' 快速停止兩個馬達
Pause 500
Debug "1"

S1:   '第二段_樹
Debug CLS
MyMotor.ForwardAB(0,204)' 讓兩個操縱馬達同時正向轉動
Pause 1400
myMotor.ForwardAB(202,204)' 讓兩個操縱馬達同時正向轉動
Pause 1000
myMotor.ForwardAB(235,232)' 讓兩個操縱馬達同時正向轉動
Pause 3000
MyMotor.ForwardAB(0,233)' 讓兩個操縱馬達同時正向轉動
Pause 1350
MyMotor.ForwardAB(235,235)' 讓兩個操縱馬達同時正向轉動
Pause 1200
myMotor.BrakeDual() ' 快速停止兩個馬達
Pause 3000
Debug "2"
S2:'中轉
Debug CLS
myMotor.ForwardAB(179,180)' 讓兩個操縱馬達同時正向轉動
Pause 1000
myMotor.ForwardAB(230,230)' 讓兩個操縱馬達同時正向轉動
Pause 1050
myMotor.ForwardAB(232,230)' 讓兩個操縱馬達同時正向轉動
Pause 1680
myMotor.ForwardAB(230,0)' 讓兩個操縱馬達同時正向轉動
Pause 1300
myMotor.ForwardAB(230,235)' 讓兩個操縱馬達同時正向轉動
Pause 2100
myMotor.ForwardAB(0,230)' 讓兩個操縱馬達同時正向轉動
Pause 1350
myMotor.ForwardAB(236,234)' 讓兩個操縱馬達同時正向轉動
Pause 3000
myMotor.ForwardAB(240,240)' 讓兩個操縱馬達同時正向轉動
Pause 1300
myMotor.BrakeDual() ' 快速停止兩個馬達
Pause 3000
Debug "3"
S3:         '第四段終點
Debug CLS
myMotor.ForwardAB(179,180)' 讓兩個操縱馬達同時正向轉動
Pause 1000
myMotor.ForwardAB(230,230)' 讓兩個操縱馬達同時正向轉動
Pause 1050
myMotor.ForwardAB(255,255)' 讓兩個操縱馬達同時正向轉動
Pause 2000
myMotor.BrakeDual() ' 快速停止兩個馬達
Pause 3000
Debug "4"
End Sub








magiccar 發表於 2012-10-14 23:47

不知道你的按鍵電路是如何接呢?可以貼上來嗎?
下面這段程式可以測看看你的硬體是否正確工作!

Dim LoopCounter As Byte = 0
Sub Main()
      SETDIRPORT1(&B00000000)      ’ I/O 當成輸入時,記得要先寫入 "0"
Start:
      BUTTON 0, 1, 255, 0, LoopCounter, 1, S0
      BUTTON 1, 1, 255, 0, LoopCounter, 1, S1
      BUTTON 2, 1, 255, 0, LoopCounter, 1, S2
      BUTTON 3, 1, 255, 0, LoopCounter, 1, S3
      Goto Start
S0:
      Debug "1"
S1:
      Debug "2"
S2:
      Debug "3"
S3:
      Debug "4"
End Sub
頁: [1]
查看完整版本: 把pin0.pin1 開關 如何去控制模組