Продолжаем уточнять:
1) Как работать с АЦП? Или без разницы, взять произвольный адрес (два адреса для 16 бит) внешней памяти, да читать?...
2) Частота 50 КГц соответствует периоду 20мкс. Что надо сделать за это время? Опросить АЦП одного канала? Или всех?
3) Какое прерывание - вопрос непраздный. Если все равно, то можем остановиться на прерывании таймера 0. Или может нужно использовать внешние прерывания?
4) Вопрос насчет передачи предполагал уточнение, кто является инициатором обмена?
Я предположил, что какое-то внешнее устройство передает любой байт, можно, например, дать номер канала, т.о. инициирует обмен, а контроллер отвечает 5 байтами (с учетом 16-разрядных данных). Или надо, чтобы выдавались все 5*8 байт, но тогда номер канала как бы уже и лишний.
Или контроллер сам выдает в последовательный канал данные по мере готовности?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен