Пн мар 06, 2017 15:54:35
Пн мар 06, 2017 16:42:04
Пн мар 06, 2017 16:49:12
Мне кажется что наоборот - МК здесь лишний, тем более Mega8.igor741986 писал(а):Подскажите пожалуйста, что ему не хватает?
Пн мар 06, 2017 16:59:09
korob писал(а):Мне кажется что наоборот - МК здесь лишний
Пн мар 06, 2017 17:21:56
Пн мар 06, 2017 18:12:23
Alkul писал(а):У Вас устройство "в железе" есть?
Полную схему можно увидеть?
По представленному протеусному уродству я для начала не вижу, где тот самый "внешний генератор", тактирование от которого Вы выставляете фьюзами.
Пн мар 06, 2017 18:29:26
Пн мар 06, 2017 18:34:56
AndTer писал(а):Подтяжка входов на "+" включена?
Пн мар 06, 2017 18:35:56
igor741986 писал(а):Схема тактируется внутренним генератором на 8 мгц, с ноги PD0 сигнал идет на релюху через оптопару, с релюхи на насос, все.
igor741986 писал(а):Если все ноги с PB0 до PB3 свободны, то насос не должен работать, но он работает.
ldi R16,0b00001111
out PORTB,R16
ldi R16,0b00000000
out DDRB,r16
;КОД ОСНОВНОЙ ПРОГРАММЫ
sbic PINB,1
sbi PORTD,0
sbi PORTD,0
Пн мар 06, 2017 19:06:00
Alkul писал(а):igor741986 писал(а):Схема тактируется внутренним генератором на 8 мгц, с ноги PD0 сигнал идет на релюху через оптопару, с релюхи на насос, все.
Вы схему можете нарисовать? Что за оптопара, как включена. Это что - тайна какая-то?
Дальшеigor741986 писал(а):Если все ноги с PB0 до PB3 свободны, то насос не должен работать, но он работает.
Что значит "свободны"? Концевики разомкнуты?
Если концевик "верхний уровень бак" разомкнут, то вывод PINB1 через внутренний pullup, который вы включили
ранее командами
- Код:
ldi R16,0b00001111
out PORTB,R16
ldi R16,0b00000000
out DDRB,r16
притянут к питанию, и с него будет читаться лог.1
но Вы же пишете:
- Код:
;КОД ОСНОВНОЙ ПРОГРАММЫ
sbic PINB,1
sbi PORTD,0
первая команда означает - пропустить следующую команду, если на выводе PINB1 лог.0, но у Вас-то на этом выводе лог.1 при разомкнутом концевике! Поэтому МК не пропускает следующую команду и законно выполняет
- Код:
sbi PORTD,0
подавая тем самым питание на светодиод оптрона и запуская насос.
Дальше даже смотреть не стал, времени жалко. Разбирайтесь с ассемблером, вернее, изучите его получше.
Пн мар 06, 2017 19:36:40
igor741986 писал(а):Все правильно) эта часть кода в начале старта дает возможность наполнить бак(поэтому она не зациклена, а нужна только при первом включении), но потом когда мы посадим 1пин на землю, то насос должен отключится этого не происходит.
Вт мар 07, 2017 20:22:00
Ср мар 08, 2017 14:07:44
Чт мар 09, 2017 08:38:14
Чт мар 09, 2017 10:12:25
BOB51 писал(а):Относительно программы...
Там только прерываний и не хватало!
Неуж-то стандартный программный опрос раз в 0,01 секунду по быстродействию не устраивает? (и это тоже еще в какой степени заторможено программой делать надо).
Чт мар 09, 2017 11:43:20
Чт мар 09, 2017 12:47:25
BOB51 писал(а):Процедура фильтрации обязательна.
Прерывание в данном случае еще больше проблем вызывать будет.
BOB51 писал(а):А для Вашей задачки
Чт мар 09, 2017 13:03:59
Чт мар 09, 2017 14:27:19
BOB51 писал(а):поменьше суммарным кодом будет.
BOB51 писал(а):Насчет прерываний... Все равно затем антидребезг потребуется
Чт мар 09, 2017 14:35:48