Простой диспетчер с фиксированной очередью задач для PIC16

Меня посетила мысль, что если ты хочешь хорошо освоить какое-то семейство МК, надо собственноручно, на его ассемблере, написать для него какую-то управляющую систему. В идеале кооперативную ОС, по для начала можно и что-то попроще, типа местного динамического диспетчера. Я уже написал такой для MCS-51, но сейчас не о нем. Последнее время что-то внутри меня постоянно подталкивало изучить ПИКи. Наверное, чтобы можно было самому сравнить их с тем что я уже знаю (а знаю я уже MCS-51 немного, и AVR еще меньше), а не читать форумные баталии аля «AVR vs PIC». В процессе написания своей первой псевдо-ОС под ПИКи я немного разобрался с ними, и уже чувствую себя гораздо увереннее. Под катом результат работы — диспетчер с фиксированной очередью задач и службой на 8 (можно меньше) программных таймеров. Данный проект независимо (каждый со своей частотой) мигает 8 светодиодами на порту В. Проект занял 223 слова, что составляет 22% от доступного объема PIC16F84A. Критика приветствуется. В будущем планируется добавление динамической очереди задач для избавления от приставки «псевдо» перед ОС.


Читать дальше