سلام
دوستان میخاستم موتوره براشلسو با میکرو راه اندازی کنم ولی هر کاری میکنم روشن نمیشه.
کسی میتونه کمکی کنه؟
با تشکر
دوستان میخاستم موتوره براشلسو با میکرو راه اندازی کنم ولی هر کاری میکنم روشن نمیشه.
کسی میتونه کمکی کنه؟
با تشکر
.gif)
[LEFT]
$regfile "m64def.dat"
$crystal = 16000000
'$hwstack = 64 'default use 32 for the hardware stack
'$swstack = 64 'default use 10 for the SW stack
'$framesize = 64 'default use 40 for the frame space
'$baud = 9600
Config Timer1 = Timer , Prescale = 64
'-------------- Config Timer1 = Pwm , Prescale = 64 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
'------------ 16 Mhz / 64 = 250 Khz = 4 uS
'---------- 4 uS x 31,250 = 125,000 uS = 0.125 S
'---------- Multiply with 8 = 1 S
Config Timer3 = Pwm , Pwm = 8 , Compare A Pwm = Clear up , Compare B Pwm = Clear up , Prescale = 64
Config Pine.3 = Output 'pwm3a-left
Config Pine.4 = Output 'Pwm3b-left
Config Portf = Output
Config Portc = Output
Config Portd = Input
Config Pine.5 = Input 'kelid-int5
Config Pine.6 = Input 'kelid-int6
Config Pine.7 = Input 'kelid-int7
Dim Rpm As Word
Dim Multiplier As Byte
Hijau Alias Pine.5
Biru Alias Pine.6
Kuning Alias Pine.7
Portd = &HFF
Step1 Alias &B00100001
Step2 Alias &B00001001
Step3 Alias &B00011000
Step4 Alias &B00010010
Step5 Alias &B00000110
Step6 Alias &B00100100
Timer1 = 34286
Multiplier = 0
Timer0 = 0
Tccr0 = 6
Do
while Pine.6 = 1
' Gosub Komutator
Enable Timer1
On Timer1 Multiply
Enable Interrupts
print rpm
Wend
Loop
End
Komutator:
If Hijau = 0 And Biru = 0 And Kuning = 1 Then Portf = Step1
Portc.0 = 0
Portc.2 = 0
Portc.4 = 1
If Hijau = 0 And Biru = 1 And Kuning = 1 Then Portf = Step2
Portc.0 = 0
Portc.2 = 1
Portc.4 = 1
If Hijau = 0 And Biru = 1 And Kuning = 0 Then Portf = Step3
Portc.0 = 0
Portc.2 = 1
Portc.4 = 0
If Hijau = 1 And Biru = 1 And Kuning = 0 Then Portf = Step4
Portc.0 = 1
Portc.2 = 1
Portc.4 = 0
If Hijau = 1 And Biru = 0 And Kuning = 0 Then Portf = Step5
Portc.0 = 1
Portc.2 = 0
Portc.4 = 0
If Hijau = 1 And Biru = 0 And Kuning = 1 Then Portf = Step6
Portc.0 = 1
Portc.2 = 0
Portc.4 = 1
Return
Multiply:
Timer1 = 34286
incr Multiplier
If Multiplier = 8 Then
Multiplier = 0
Rpm = Timer0 * 15 'Here is the RPM Value
Timer0 = 0
End If
Return
[/LEFT]

(هیچ کس توی این انجمن همچین کاری نمیکنه)!!!!!!!!!!!
دیدگاه