Здравствуйте, Soir.
Помогите, пожалуйста, в написании прошивки для сигнализации.
Сигнализация на 4 независимых канала с клавишным управлением. Постановка и снятие с охраны осуществляется введением кода, индикация состояния светодиодами. Охранный шлейф двух-проводный, с резистором 3,9 кОм в конце. Общее сопротивление шлейфа должно быть в пределах от 3,6 кОм до 4,3 кОм. При сопротивлении шлейфа выше или ниже указанного диапазона срабатывает сигнализация.
При первом включении сигнализации все светодиоды потушены, реле обесточены. На клавиатуре нажимаем "звездочка > мастер-код > решетка", начинают мигать светодиоды с частотой 0,5 Гц, МК переходит в режим программирования кода. Теперь нажимаем "звездочка > номер шлейфа > звездочка > код > решетка". МК запоминает код для данного шлейфа, светодиод данного шлейфа тухнет. Если в течении 20 сек. нет нажатий клавиш (не программируется следующий шлейф), то оставшиеся светодиоды тушатся. Иначе аналогично происходит программирование следующего шлейфа. После завершения первоначального программирования (независимо от количества запрограммированных шлейфов), сигнализация готова к работе.
Для постановки под охрану вводится код в следующем формате "номер шлейфа > звездочка > код > решетка". При исправном шлейфе на соответствующем выходе появляется "1" и загорается светодиод, иначе светодиод мигает и пищалка издает пять коротких сигналов. При обрыве или закорачивании шлейфы светодиод начинает мигать, на выходе "OUT" появляется "0", на выходе "Relay" на 2 минуты появляется "1". Если за это время шлейф не был восстановлен, то после двухминутной паузы на выходе "Relay" опять появляется "1". Светодиод мигает до отключения сигнализации. Отключить можно введением кода в формате "номер шлейфа > звездочка > код > решетка". Если код три раза введен не правильно, на три минуты блокируется клавиатура.
Каждое нажатие клавиши сопровождается звуковым сигналом. Если введение кода не было завершено, то через 20 сек. после последнего нажатия происходит обнуление. Мастер-код программируется при прошивке и нужен для программирования и смены кодов доступа. Длина кодов 5 или 6 знаков.
МК, по возможности, Atmega8, выводы МК на схеме не пронумерованы, так как не уверен, какие для чего должны использоваться. Потом Вы скажите, какие можно переназначить для удобства разводки печатки.
Небольшое дополнение.
Забыл нарисовать кнопку S1, при её размыкании срабатывает сигнализация по всем шлейфам, отключить сигнал можно только снятием напряжения.
PS если пропало питание, то после его восстановлении сигнализация продолжает работать в том состоянии, которое было до отключения напряжения.