Объясните мне пожалуйста, почему тогда при тактовой частоте до 16 МГц включительно клавиатура и микроконтроллер общаются адекватно, а при бОльшей частоте они уже друг друга не видят?
Это не мой хлеб, но мне интересно это занятие.Пытайся, может станешь программистом.
В общем провел я эксперимент, как и планировал. Закатал ATMega168PA на плату и поставил кварц 25 МГц. Биты конфигурации выставил на внешнее тактирование и разрешил выход тактового сигнала на порт CLKO (РВ0). После подачи питания частотомер показал на этом выводе частоту в 25 МГц. Причем стабильную частоту, без скачков и провалов. Это стало доказательством, что МК дружит с кварцем на этой частоте. Проши прошивку KBD13_M168P_nw_MODIFIEDv5_5_25MHz.hex.
Результат отрицательный. Клавиатура не дружит с МК, Снизил тактовую до 8 МГц, клавиатура и МК заработали на этой частоте. Воспользовался случаем и проверил с какой частотой идет тактирование порта CLK клавиатуры. Всего 137 Гц. Что-то маловато. По вики там частота 10-16 кГц должна быть.
В общем делаю выводы из своего эксперимента. Прошивка не работает, где-то в ней ошибка.
К выше сказанному добавлю еще один глупый вопрос. А почему контроллер должен срабатывать по спадающему фронту /RDFE? Z80 в этот же момент будет считывать код нажатой клавиши или код только защелкнется в буфере и считается на следующем такте?





Ответить с цитированием