mega64\mega128

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
SD
Родился
Сообщения: 11
Зарегистрирован: Вт ноя 21, 2006 00:43:21

mega64\mega128

Сообщение SD »

Пытаюсь вывести данные через порты PORTC и PORTA в mega64.

Код: Выделить всё

DDRC = 0xFF;
PORTC = 0xFF;


приводит к тому, что высокий уровень выставляется не только на порту С, но и на порту А. если делать тоже самое для порта А, то ситуация повторяется.

хидер инклудиться правильный: iom64.h

ПО:
эмулятор Proteus 7.2SP6.
компилятор IAR (C++).

хотел попробовать снять фьюз M103C, но не знаю, как в протеусе это сделать?

P.S: нужен МК с большим количеством портов: 8+5 бит на графический LCD + 1 бит на управление его подсветкой, 1 бит на шину 1-wire, 2 бита I2C(hardware), 4 бита на клавиатуру, также нужно 2а бита c ADC, 2 бита UART(hardware), еще бита 3 нужны на mosfet. Может стоит взять какой-то другой проц, но AVR Atmel только?
Реклама
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Сообщение pirotehnick »

Потребность в большом колличестве выводов легко решается при помощи сдвиговых регистров типа 74HC595 или дешифраторов.
Реклама
ЛеонидК
Встал на лапы
Сообщения: 85
Зарегистрирован: Чт янв 08, 2009 22:06:13
Откуда: Киев

Сообщение ЛеонидК »

Извините за хамство.
Не пользуйтесь Proteus. Это игрушка.
Пользуйтесь симулятором IAR или AVRStudio.
Пороверь в IAR и я на 99% уверен в отсутствии этого эффекта. Ну а если нет - это ты сам в программе так устанавливаешь.
SD
Родился
Сообщения: 11
Зарегистрирован: Вт ноя 21, 2006 00:43:21

Сообщение SD »

хм, проверил в IAR'е, все работает как положено. стал крутить proteus и нашел: у него эти порты (PORT_A & PORT_C) представлены ввиде шины и объединение 2х шин в одну вызвало такой баг (названия для пинов выставлял до слияния шин естественно).
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»