Можно и за мудрствование над продолжением темы взяться.
Итак
P I C 16
(PIC16F876A в частности) и прежняя задача.
Хоша несколько более "издевистая" - 40 лапого ПИКа меня взять ЖАБО удавило, а вот для 28-лапого
варианта пришлось заложить в схему тетрадный обмен с индикатором... НЕЧЕСТНО...
Собственно несколько мыслей по 16-серии ПИКачу.
МК акумуляторного типа с "ограниченным" количеством команд. Действия над данными могут производиться
как с участием акумулятора (здесь его называют W), так и без него. Доступ к ячейкам ОЗУ,
а также и к ячейкам РСФ возможен равноценно всеми командами.
Область ОЗУ секционирована на банки, что и не всегда удобно и наоборот бывает полезно.
Практически всегда имеется небольшой участок банка0, который доступен при обращении в других банках
(отображение поля адресов текущего банка на регистры банка0).
А вот с доступом к таблицам в ПЗУ мягко говоря "не очень".
Но в более поздних вариантах это компенсируется механизмом
чтения(иногда и записи) ПЗУ с помощью регистров обработки EEPROM.
Взамен имеется прямой доступ к младшему байту счетчика программы и, через PCLATH, к старшему байту.
Весьма неплохая традиция выпускать более усовершенствованные модели МК в одинаковом
с предшественниками корпусировании.
По потребляемой мощности среди вышеприведенных МК ПИК вне конкуренции...
Не очень приятное...
Мнемоники системы команд... БЫРРР!!!
Иногда складывается впечатление, что каждый производитель делает все, чтобы пользователь его продукции
с как можно большим трудом мог освоить чего-небудь другого, и не дай боже еще проанализировать
ключевые свойства изделия на уровне ядра и особенностей машинных команд (под ассемблером)!!!
Т.Е. "подсаживает на "иглу"" так, чтоб не то, чтоб "спрыгнуть", а даже по сторонам глянуть тошно было...
Туда же и "вывернутое" состояние флага CY при вычитании...
Однако путем длительного садомазохизма народились вот эти "шпоры"
это по ПИКам (pic10/12/16):
это по авэркам:
(прошу пардон, по АВРкам ранее не выложил - но тут он КОТЕ на то
была когда-то отдельная тема: viewtopic.php?f=20&t=68985 )
Далее в минор...
УЖАСТНЫЙ аппаратный СТЕК (аналогично MCS48) - всего 8 уровней вложения при полнейшей
программной недоступности содержимого. НО... вот тут как раз и прийдется над алгоритмами помозговать,
уверен есть весьма симпатяшные решения и в данном варианте.
ЕДИНЫЙ ВЕКТОР для всех источников прерываний... Это только за счет "быстроходности" скомпенсировать можно,
да и аппаратная начинка разными "примочками" позволяет сделать значительную разгрузку программы.
А вот насчет той самой "быстроходности" в типовых изделиях... АВРки значительно "пошустрее" будут.
Еще одна пакость мелкощипа - ЕРРАТЫ...
Мало того, что их весьма много и надо отдельно "вылавливать", дак еще надо конкретную версию
самого прикупленного МК суметь считать, и определить к каким ЕРРАТАМ он отношение иметь может...
А вот и сама схемка макетки (еще раз, только уже с контрольным светиком):
Прийдется снова в "поблочном" режиме программку сочинять - по готовности выкладывать буду.

