Собрал устройство на atmega8, все хорошо, но столкнулся с проблемой, которую никак не одолеть. Устройство состоит из двух блоков, в каждом по 8ой меге. 1 блок отвечает за LCD второй за 10 семи сегментных индикаторов. Нужно научить их понимать друг друга. В даташите есть исходный пример.

но итогом всех мучений получилось подвисание контроллера при попытке что-либо принять. Передать надо всего 3 числа, два трехзначных целых и одно целое четырехзначное. Мог бы, кто-нибудь, поделится куском кода на Си, как это сделать?
И вторая проблемка, индикация динамическая, 10 разрядов. Все работает, но есть нечто, что выносит мне мозг. При подаче питаня включается своеобразный тест на пару секунд, на все управляющие порты подается высокий/низкий уровень, чтобы зажечь все сегменты всех разрядов. Но вот незадача, первые 4-ре не хотят =), однако это не мешает им прекрасно работать после теста уже в динамическом режиме. В протеусе все работает как надо. Куда смотреть? Может ли длинна соединительного шлейфа влиять на это?
Вот ролик работы.
http://dl.dropbox.com/u/49227224/VIDEO0011.mp4
