![]() |
Sample Program
' '********************************************************* ' ' 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 |