Показать сообщение отдельно

  #5  
Старый 12.02.2010, 23:05
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

меня что смущает, тебе либо двигатель шаговый юзать(+драйвера) либо неизвестный мне http://ru.wikipedia.org/wiki/Вентильный_электродвигате ь (яхзчто и как)

прогу наверное на асме придётся делать т.е бля какже обьяснить



вот из асма тебе пригодится задержка(это типа когда подождать или когда двигатель врубаешь, но там хз может драйвер работать будет, кароче вот):

Код:
;<<<<<<<<<<<<min задержка на минуту
;<<<delay_xs задержка на 2 секунды
min:
     ldi tmp, 30     ;|делаем
     rcall delay_xs  ;|задержку
     dec tmp         ;|на
     breq next       ;|60
    rjmp min         ;|секунд
next: ret            ;|

ldi time, $a0       ; задержка на пол секунды 

delay_xs:    ;$ff - 2с    ;$a0 - 0,512с    ;$7 - 43мкс
mov    dly3,time    
d4ms:    mov    dly2,time        
wd2:    mov    dly1,time
wdl:    dec    dly1
    brne    wdl
    dec    dly2
    brne    wd2    
    dec    dly3
    brne    d4ms
ret
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
т.е. вызывая rcall min ты сделаешь задержку на минуту, конечноже это rcall Min можешь прописать несколько раз) сколько пропишешь на столько минут задержит(это уже совсем просто если не сможешь варъировать циклами и прочее, не суть важна)

датчики, я хз какие у тя будут они аналоговые или цифровые, если аналоговые то придётся подрубать АЦП это так:
ADC_IC:
push var1 ;|заносим в стек
in var1,
pop var1 ;|из стека
rcall sravn ;|вызыывем сравнение
ret
sravn:
cp pred_zn, var ;|сравниваемданные
;если больше ;|с ножки АЦП с
brsh motor_on ;|заданным числом
rjmp end
end: ret


кароче типа вытаскивает из ацп сигнал и сравнивает если больше(так у меня у тебя по другому наверное) то переходит на подпрограмму мотор.

если цифровые датчики(хз не работал, сам новичок) то просто там я думаю их к ножке подрубаешь и типа сигнал какойто в виде числа будет - хз

лампочку врубать я думаю типа какойнить светодиод и врубается он просто подав еденицу на ножку типа или подав число на весь порт типа 0001 000 типа того.




кароче у тебя есть две проблемы: нарисовать свою электрическую схему и сделать программу, активно собирай схему т.к. основное это) без неё не будет проги и потом утверди схему у препода потом тока за прогу садись.