Обсуждаем контроллеры компании Atmel.
Пт фев 03, 2023 17:31:03
Проблема такая. На ЛСД назначены пины которые идут к мультиплексору АЦП. При активации АЦП табло не работает ( квадраты в верхней строке). Если АЦП отключен - всё норм. Вопрос - это нормально?
Добавлено after 46 seconds:
Среда CVavr.
Пт фев 03, 2023 18:23:35
Информация мала. Предоставьте хотя бы фрагмент кода, отвечающий за два действия: инициализацию/использование LCD и инициализацию/использование АЦП.
Пт фев 03, 2023 18:29:08
- Код:
// ADC initialization
// ADC Clock frequency: 62,500 kHz
// ADC Voltage Reference: AREF pin
//ADMUX=ADC_VREF_TYPE;
ADCSR=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);
// Alphanumeric LCD initialization
// RS - PORTA Bit 0
// RD - PORTB Bit 7
// EN - PORTA Bit 1
// D4 - PORTA Bit 2
// D5 - PORTA Bit 3
// D6 - PORTA Bit 4
// D7 - PORTA Bit 5
// Characters/line: 16
lcd_init(16);
#asm("sei")
while (1)
{
lcd_gotoxy(0,0);
lcd_putsf("Alex_641 03.2018");
}
}
Пт фев 03, 2023 18:32:02
RD - PORTB Bit 7 правильно?
И опорное какое? Может PA3(Aref) мешает...
Последний раз редактировалось
Novice user Пт фев 03, 2023 18:37:06, всего редактировалось 2 раз(а).
Пт фев 03, 2023 18:36:33
Ну и пины что на ЛСД настроены на выходы
- Код:
DDRA=(0<<DDA7) | (0<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1) | (1<<DDA0);
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);
DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (1<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
Добавлено after 42 seconds:Novice user писал(а):RD - PORTB Bit 7 правильно?
да
Добавлено after 3 minutes 34 seconds:Опорное пока висит в воздухе.
Пт фев 03, 2023 18:36:53
// RD - PORTB Bit 7 ? ( PB7, ADC10, RESET)
Если да, то отключили функцию RESET? В противном случае LCD остается без RD)
RSTDISBL: Select if PB7 is I/O pin or RESET pin (unprogrammed, PB7 is RESET pin)
(AVR с таким количеством пинов и вариантов использования LCD, бы не стал использовать этот метод. Пусть pin RESET будет RESET).
Пт фев 03, 2023 18:45:55
Но провода на reset физически нет. Просто визарду нужен пин RD, всегда его назначал на ресет, а провод конечно не кидал. И работало.
Пт фев 03, 2023 18:48:23
Опорное пока висит в воздухе.
У вас вывод PORTA3 подключен к дисплею (// D5 - PORTA Bit 3) ?
Пт фев 03, 2023 18:58:38
Так то да ... Мой косяк. А из за этого может не работать ЛСД?
Пт фев 03, 2023 19:01:39
Конечно,когда включаете ацп порт А3 перестает управлять дисплеем (проще говоря),этот вывод становится либо входом внешнего опорного напряжения,либо выводом для подключения внешнего конденсатора (для внутреннего опорного напряжения)
Пт фев 03, 2023 19:16:58
Тупанул конкретно. Просто всегда ареф подключал к питанию ( програмно ) , а тут вот надо стало ... Спасибо за информацию !
Добавлено after 10 minutes 35 seconds:Alex_641 писал(а): Спасибо за информацию !
Ну и конечно за помощь и потраченное время .
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.