В Протеусе наваял схему для начала. Взял за основу программу мультивибратора, поигрался с ним в своё удовольствие, поморгал светодиодом. Понравилось.
Решил пойти дальше. Захотел погонять светодиодик по всему порту. Получилось. Пищал от восторга, радовался 5 минут и пошёл дальше.
Решил научиться переключать направление сдвига. Научился, НО... Проклятое "но", оно всегда вылезает наружу... Короче, переключиться смог только в самом начале программы, в процессе запуска. В процессе работы не получается. То есть получается, НО светодиоды ПО ОЧЕРЕДИ гаснут и больше не загораются, пока не нажмёшь Reset. Если недопустить погасания всех светодиодов в линейке, то можно переключить направление их сдвига во время исполнения программы. Всё переключается как надо. Остатки непогашенных диодов бегают по порту туда-сюда. СтОит отпустить их в свободный полёт и они по очереди гаснут и всё...
Опытные Коты, помогите. Ткните носом, что я делаю не так. Я не диплом пишу, мне не надо готовых решений. Я учусь для себя и хочу досконально со всем разобраться.
В приложенном архиве находятся проект для протеуса и тексты программ. Тот который multi работает безупречно. Надо разобраться с multi3. Сразу скажу: блок команд опроса кнопок я вставлял в разные места программы. Этот вариант самый рабочий. В других случаях диоды либо просто не горят или горят постоянно, либо вообще горят какие захотят. Разбирался в симуляторе с регистром Sdvig после выполнения команды сдвига он не сдвигается как положено, а в него по очереди записываются нули.
Использую программы Протеус 7.6 и Mplab 5.70.40.
В Протеусе за изменение направления сдвига отвечает кнопка left.
Схема ни к чему не обязывает. Это тренажёр. Просто все начинают со светодиодного моргала, ну и я не стал отступать от традиций. Названия кнопок также ни о чём не говорят. С тем же успехом их можно было назвать 1;2;3;4;5 или ещё как.
Уже три дня бьюсь головой о стену.
Только пожалуйста отвечайте по делу. Не надо глупых вопросов типа "а почему Пик, а почему не Авр" и подобных.
- Вложения
-
- проект.rar
- (18.69 КБ) 176 скачиваний
Русский человек славится своим умением находить выход из любых трудных ситуаций. Но ещё более он славится тем, что может найти туда вход.


