Жаловался когда-то на кривые руки в
ru_radio_electr :
тактирование at90s1200.
Оказалось, что был включен внутренний генератор, но код сырой и обнаружение работы не детектировалось :)
Через avrdude + stk500 программатор у меня fuse читает как 0xFF, записать тоже получилось (high voltage mode). Но речь не об этом...
Т.к. у этого процессора память только регистрами, писать нужно на asm. Как раз и подвернулась простая задачка - простая логика + парочка таймаутов.
Вход и 3шт реле, и заодно защита по току - не оставлять же бесхозным встроенный компаратор:)
Написал, запустил уже даже вошёл во вкус от команд ветвления по установленному/сброшенному биту порта/регистра. Диоды радостно замигали в положенной последовательности....(как же без них если есть лишние ножки!), но тут внезапно на МК прилетело 15V и всё закончилось... не сразу заметил и второй сдох тоже) Но для ачивки отмечу можно как проект на asm аж 200 байт!)
Так как не было всякой странной адресации и всё в пределах 8 бит - сложностей не возникло. Но с макетками на больше пару транзисторов - надо завязывать, именно из за ошибки перепайки на ходу сунул 15V не туда.
at90s1200 меняется на 2313 с тойже распиновкой - ещё парочка осталась. Но там к сожалению есть UART, так что придётся использовать для управления:)
disclaimer: космические корабли бороздят океаны и пытливый ум глубоко проник в микромир и всё такое... Но управляет этой штукой linux, а тут только низкоуровневая защита, частью даже аппаратная. Блок условно можно назвать как чуть более умное реле пуска двигателя.
ps на соседнем ресурсе для кого-то, даже жёсткая логика - лишнее:
чей-то автомат проточного нагревателя - обратил внимание, что даже 10 Ом в защите от тока разряда!
Ну я лично просто смотрю на кол-во точек пайки - да ну нафиг)