Здесь же оптимизировать нужно микропрограмму для PIC.
Прежде, чем "оптимизировать" программу для PIC, её нужно сначала создать!
Но Я ОБЯЗАТЕЛЬНО изучу методы программирования и прошивки PIC и РАЗРАБОТАЮ программу опроса матрицы клавиш.
Конечно, это нужно сделать обязательно, иначе разработка кончится ни чем.
(Видимо это нужно делать в эмуляции на компьютере, а когда то давно машинные коды писались вообще ручкой на бумаге).
Вообще-то, я не помню, чтобы когда-то программировали в машинных кодах, за исключением того случая, когда программу-загрузчик для машин серии СМ вводили переключателями с пульта. А программирование на ассемблере - этого было достаточно, да и сейчас иногда хватает, особенно критические по быстродействию участки программы, поскольку даже Си в этом плане уступает.
Ностальгируя - перебирая старые тетради, обнаружил там написанные именно ручкой части программы для АСУ автопарка, которую делали более 30 лет назад. Правда на ассемблере (то, что делал я) там были написаны лишь процедуры, которые непосредственно работали с железом, обеспечивая связь между оборудованием диспетчерской и автобусом, находящимся на остановке, а вся обработка и интерфейс с диспетчером были сделаны на Фортране. Язык фортран был выбран лишь в силу того, что он обеспечивал простой интерфейс работы с модулями на ассемблере, т.е. позволял включать ассемблерные вставки в тело программы. Целевая машина - "Электроника-60" (LSI-11). Вся программа, включая операционную систему (также возможность Фортрана) находилась в ПЗУ.
Эта работа займет у меня много времени
Не, ну я же писáл, что разработка и отладка программы - максимум 4 дня! Поскольку программа весьма примитивна. Другое дело, что если ты не работал с PIC'ами, то нужно освоить его устройство, систему команд и среду программирования MPLAB. Хотя, как я уже говорил, можно программировать на Си, соответствующие компиляторы существуют давно. Причём для PIC18 компилятор Си встроен в среду MPLAB. Начни, например, отсюда: "
Программирование микроконтроллеров PIC". Или отсюда: "
PIC микроконтроллеры: быстрый старт с нуля". Что касается Си для PIC, то можно начать отсюда: "
Программирование на Си для PIC". Кстати, фраза оттуда:
Протеус изучается за 30 мин
Это о схемотехнике, программировании и отладке.
Но вообще говоря, начинать следует не с этого!
Начинать нужно с блок-схемы программы, о чём я уже писáл. Сначала укрупнённой, а затем более подробной, с тщательной проработкой всех процедур. Вот тогда и никакой оптимизации не потребуется!
Ведь программирование без проработки блок-схем, - это как стрельба по-македонски: эффектно, но не эффективно!
так как, образно выражаясь, моё собственное CPU в мозгах перегружено, кэш памяти не хватает и постоянно идут прерывания.
Мой знакомый программист, с которым когда-то работали, говорил в таких случаях: "смени проц и добавь памяти!"
Но если повезет к концу Марта справлюсь. Результаты текущих этапов работы буду выкладывать сюда.
Ждем-с...
P.S. Рекомендую следующий порядок работ:
1. Разработка блок-схемы, укрупнённой, а затем и подробной.
2. Освоение среды MPLAB, с одновременным освоением PIC.
3. Собственно написание и отладка программы.