Sample Program

Pulse Motor Control Program for SFPSE-2000 Ver.0.1


'
'*********************************************************
'
' Pulse Motor Control Program for SFPSE-2000 Ver.0.1
'
'                 pulse01.bas  2000/9/20 by K. Hirata
'
'*********************************************************
'
' PIC16F84 20MHz用
' 2相励磁,ユニポーラ駆動
'
'***********************
' 初期設定
'***********************
'
Symbol ONtime=W0
Symbol ModeSW=W1
Symbol i=W2
'
input 0: input 1: input 2: input 3
output 4: output 5: output 6: output 7
'
Poke $81,0 'プルアップ抵抗の設定
'
'************************************
' メインルーチン(運動設定モード)
'************************************
'
Loop:
'
' 周波数の設定
'
ModeSW=0
If pin0=1 then Mode_pin0
ModeSW=1
Mode_pin0:
If pin1=1 then Mode_pin1
ModeSW=ModeSW+2
Mode_pin1:
If pin2=1 then Mode_pin2
ModeSW=ModeSW+4
Mode_pin2:
'If pin3=1 then Mode_pin3
'ModeSW=ModeSW+8
'Mode_pin3:
Branch ModeSW,(Mode0,Mode1,Mode2,Mode3,Mode4,Mode5,Mode6,Mode7)
Goto Mode0
Mode_end:
'
' パルスモータ回転
'
For i= 1 to 48 'モータ1回転
  High 4: Low 5: Low 6: High 7
  Pause ONtime 'ONtime/5(msec)
  High 4: High 5: Low 6: Low 7
  Pause ONtime 'ONtime/5(msec)
  Low 4: High 5: High 6: Low 7
  Pause ONtime 'ONtime/5(msec)
  Low 4: Low 5: High 6: High 7
  Pause ONtime 'ONtime/5(msec)
Next i
Goto Loop
End
'
'******************************
' 周波数設定・サブルーチン
'******************************
'
Mode0:
ONtime=208 '52/5=10.4ms, 10.4ms*4*48=1996.8ms, =0.5Hz
Goto Mode_end
'
Mode1:
ONtime=104 '26/5=5.2ms, 5.2ms*4*48=998.4ms, =1Hz
Goto Mode_end
'
Mode2:
ONtime=69 '26/5=5.2ms, 5.2ms*4*48=998.4ms, =1.5Hz
Goto Mode_end
'
Mode3:
ONtime=52 '52/5=2.6ms, 2.6ms*4*48=499.2ms, =2Hz
Goto Mode_end
'
Mode4:
ONtime=41 '26/5=5.2ms, 5.2ms*4*48=998.4ms, =2.5Hz
Goto Mode_end
'
Mode5:
ONtime=35 '26/5=5.2ms, 5.2ms*4*48=998.4ms, =3Hz
Goto Mode_end
'
Mode6:
ONtime=30 '26/5=5.2ms, 5.2ms*4*48=998.4ms, =3.5Hz
Goto Mode_end
'
Mode7:
ONtime=26 '26/5=5.2ms, 5.2ms*4*48=998.4ms, =4Hz
Goto Mode_end

[ Microcomputer ] [ Hirata HOME ] [ Power and Energy Engineering Division ] [ NMRI HOME ]
Contact khirata@nmri.go.jp