ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
51051 Топик полностью
Charlie (10.02.2006 23:38, просмотров: 1) ответил Alex78r3 на T89c51cc01
Ответ: http://www.atmel.com/dyn/resources/prod_documents/doc4131.pdf
Порт должен управляться этой последовательностью команд нормально. Разряды порта программируются только для ввода (записывается 1 в соответствующий разряд), а вывод - всегда выполняется правильно. Если не работает, то могу предположить : 1) управление на команду mov Px, #FFh не передается изначально. Посмотрите внимательно листинг после трансляции. У этого процессора огромный список ошибок. Вас может касаться: 2) У выходных каскадов длительный переходной процесс, а у Вас на выходах - меандр с малым периодом. Может все перекрывается шумом? 3) Откуда переход на первую команду цикла? При переходе из Bootloader нужно принудительно останавливать Timer2, USART, CAN, т.к. по команде Start Application этого не происходит. (может начинается обработка "левого" прерывания?). Работающий watchdog тоже может вызывать выход из bootloader. У этого процессора вообще сплошные errata по части загрузке программ, данных, работы таймеров, прерываний и т.д. В любом случае последовательность команд - правильная. Если на выходах - постоянный уровень, то - управление на эти команды не передается или они неправильно заносятся во Flash. Делайте проверку после программирования.