پاسخ : راه اندازی موتور dc
بسیار متشکرم جناب شاهرخ.
نوشته اصلی توسط شاهرخ



ولی فعلا تست کنین ببینین چی میشه؟ (ضمنا این 4 تا سیم جدا از تغذیه موتور هست دیگه؟ اگه نباشه که خب کاملا مشخصه دوتا تغذیه-دوتا هم خروجی پالس نسبت به هم)

ولی فعلا تست کنین ببینین چی میشه؟ (ضمنا این 4 تا سیم جدا از تغذیه موتور هست دیگه؟ اگه نباشه که خب کاملا مشخصه دوتا تغذیه-دوتا هم خروجی پالس نسبت به هم)
@ DEVICE PIC16F877A ,WDT_OFF ,LVP_OFF ,PROTECT_OFF ,PWRT_ON ,BOD_OFF
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE CCP1_REG PORTC
DEFINE CCP1_BIT 2
TRISA = 0
TRISc.0 = 1
A VAR WORD
f var word
ON INTERRUPT GOTO lable
OPTION_REG = $7F
INTCON = %10010000
T1CON = $03
loop1:
TMR1L=0
TMR1H=0
PIR1.0 = 0
T1CON.0 = 1
PAUSE 800
T1CON.0 = 0
f.byte1=TMR1H
f.byte0=TMR1l
lcdout $FE, 1
LCDOUT #F
LCDOUT $FE, $14
LCDOUT "hz"
PAUSE 500
A = 0
if f >= 40 and f <= 60 then
LOW portA.0
hpwm 1, 205, 300
pause 50
loop2:
pause 100
LCDOUT $FE, $C0, "A="
LCDOUT $FE, $14
LCDOUT #A
pause 500
if A >= 30 then tormoz
goto loop2
endif
tormoz:
low portA.0
hpwm 1, 0, 300
pause 2000
LCDOUT $FE, 1
LCDOUT "A="
LCDOUT $FE, $14
LCDOUT #A
pause 10000
goto loop1
DISABLE
lable:
A = A + 1
PAUSE 100
INTCON.1 = 0
RESUME
ENABLE
END
@ DEVICE PIC16F877A ,WDT_OFF ,LVP_OFF ,PROTECT_OFF ,PWRT_ON ,BOD_OFF
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE CCP1_REG PORTC
DEFINE CCP1_BIT 2
TRISA = 0
TRISc.0 = 1
A VAR WORD
f var word
ON INTERRUPT GOTO lable
OPTION_REG = $7F
INTCON = %10010000
T1CON = $03
loop1:
A = 0
TMR1L=0
TMR1H=0
PIR1.0 = 0
T1CON.0 = 1
PAUSE 800
T1CON.0 = 0
f.byte1=TMR1H
f.byte0=TMR1l
lcdout $fe, 1
lcdout #f
lcdout $fe, $14
lcdout "hz"
pause 500
if f >= 20 and f <=40 then
LOW portA.0
hpwm 1, 205, 300
pause 50
loop2:
pause 100
LCDOUT $FE, $c0
LCDOUT "A ="
lcdout $fe, $14
LCDOUT #A
pause 500
if A >= 30 then tormoz
goto loop2
endif
tormoz:
low portA.0
hpwm 1, 0, 300
pause 500
goto loop1
DISABLE
lable:
A = A + 1
PAUSE 100
INTCON.1 = 0
RESUME
ENABLE
END
( این توضیحی بود که از یکی از دوستام شنیده بودم و منطقی هم به نظر میرسه)
( این توضیحی بود که از یکی از دوستام شنیده بودم و منطقی هم به نظر میرسه)
)
)

دیدگاه