Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
pic12f675 как то не по программе работает...
Евгений Дата: Вт, 08.02.2011, 14:02  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

создал программу на pic12f675 .

в зависимости от положения движка переменного резистора зависит скорость

мигания симметричного мультивибратора.

но работает не правильно постоянно и на одной скорости...

Прошу помощи вот прога

Define OSCCAL_1K 1 ' Calibrate internal oscillator
Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
adval Var Word ' Create adval to store result
ADCON0.7 = 1 ' Right justify result
ANSEL = %00001000 ' Set AN3 analog, rest digital
CMCON = 7 ' Analog comparators off
Pause 500 ' Wait .5 second
Gp1 var GPIO.0
Gp2 var GPIO.1

mainloop:
ADCIN 3, adval ' Read channel 3 to adval (0-1023)

if adval <256 then goto q
if adval <512 then goto w
if adval <768 then goto e

q: high Gp1
pause 1000
low Gp1
high Gp2
pause 1000
low Gp2
goto mainloop

w: high Gp1
pause 500
low Gp1
high Gp2
pause 500
low Gp2
goto mainloop

e: high Gp1
pause 100
low Gp1
high Gp2
pause 100
low Gp2
goto mainloop

ЯНДЕКС Дата: 08.02.2011
ADMIN Дата: Вт, 08.02.2011, 14:26  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Вот так будет работать правильно.
Code

@ device pic12F675, hs_osc, wdt_off, PWRT_ON, mclr_off, protect_off
Define OSCCAL_1K 1 ' Calibrate internal oscillator   
Define ADC_BITS 10 ' Set number of bits in result   
Define ADC_CLOCK 1 ' Set clock source (3=rc)   
Define ADC_SAMPLEUS 200 ' Set sampling time in uS   
adval Var Word ' Create adval to store result   
ADCON0.7 = 1 ' Right justify result   
ANSEL = %00001000 ' Set AN3 analog, rest digital   
CMCON = 7 ' Analog comparators off   
Pause 500 ' Wait .5 second   
Gp1 var GPIO.0   
Gp2 var GPIO.1   

mainloop:   
ADCIN 3, adval ' Read channel 3 to adval (0-1023)   

if adval <= 256 then goto q   
if adval <= 512 and adval > 256 then goto w   
if adval <= 1023 and adval > 512 then goto e   

q: high Gp1   
pause 1000   
low Gp1   
high Gp2   
pause 1000   
low Gp2   
goto mainloop   

w: high Gp1   
pause 500   
low Gp1   
high Gp2   
pause 500   
low Gp2   
goto mainloop   

e: high Gp1   
pause 100   
low Gp1   
high Gp2   
pause 100   
low Gp2   
goto mainloop
Прикрепления: 222.rar (11.7 Kb)
Евгений Дата: Пн, 21.03.2011, 22:57  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

спс ща попроьбую

Добавлено (21.03.2011, 22.57.54)
---------------------------------------------
интересно а если сделать на 3 светодиода + добавить транзисторы иподключить движок с жесткого диска получиться его запустить

думаю попробывать .

  • Страница 1 из 1
  • 1
Поиск: