а что его переваривать?
есть два порта ввода (регулируемые нажатием кнопок)
на них кратковременно при нажатии формируется "0" вместо "1" (являющейся стоковым состоянием обоих портов.
Поскольку DAC 6 битный, а МК 8 битный, то числа будут записаны с учетом пустых 2 последних регистров, 6 и 7-го, соответственно на них в любцых вариациях будут "0" и они не будут считываться и физически подключены тоже.
6 же остальных будут подключены напрямую к DAC, поскольку в обоих случаях TTL, то согласовывать ничего не нужно.
дабы не мудрить с софтом и по соображением целесообразности решено было откинуть первые 20 значений DAC, оставиви только 61-21 значения (в десятичной системе).
В регистр записать константу 00111101 (61)
Если нажата кнопка 1 (+) то из значения регистра вычитается 1 бит при каждом нажатии.
Если нажата кнопка 2 (-) то к последнему значению прибавляется 1 бит при каждлм нажатии
Если нажата кнопка 2, но на выходе 00111101, то возвращать данное значение.
тут все просто, примитивно и понятно, никаких сложностей.
Сложность состоит в следующем, собственно это и нужно переваривать -
как заставить МК выполнять операции сложения/вычитания по фронту соответствующих импульсов? Прерывание? я просто с прерываниями не очень дружу и хотелось бы разъяснений небольших?
Да и тут почитал и резюмировал для себя, что лучше на AVR строить, что посоветуете?
По сути своей двоичный счетчик, по "0" либо прибавляет единичку, либо вычитает ее же.
Как это делать на более простой логике это до озноба ясно, но как быть с МК не совсем, малый опыт "общения" с ними, только с куда более сложными устройствами и языками более высокого порядка

собственно я вырос на виндовс и си
