Гость voevoda Опубликовано 21 Октября, 2015 в 13:44 Жалоба Поделиться Опубликовано 21 Октября, 2015 в 13:44 Добрый день! Помогите, пожалуйста подключить лсд 16х2 к атмега8. Мне нужно выводит инфу при нажатии кнопки. Перерыл много но сообразить как это сделать не могу. Я написал программку которая при нажатии на кнопочку переключает входы усилителя. Спасибо. С ув. Владимир. код: #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> void preset (){ DDRB = 0xff; PORTB = 0x00; DDRC = 0b00000111; PORTC = 0b00000001; DDRD = 0xff; PORTD = 0xff; } int main(void) { preset(); while(1) { if (PIND&(1<<PD0)) { PORTB = 0x00;} else { PORTB = 0xff; if (PORTC==0b00000100) PORTC = 0b00000001; else PORTC = (PORTC<<1); _delay_ms(300); } if (PIND&(1<<PD1)) { PORTB = 0x00;} else { } } } Ссылка на комментарий Поделиться на другие сайты Поделиться
Yamazaki Опубликовано 22 Октября, 2015 в 15:40 Жалоба Поделиться Опубликовано 22 Октября, 2015 в 15:40 (изменено) Владимир, для многих алфавитно-цифровых дисплеев существуют и общедоступны готовые библиотеки для работы. Для вашего - наверняка. Все, что нужно - найти соотв. библиотеку, скачать её, убедиться, что она совместима с вашим компилятором, в противном случае скачать соответствующий компилятор, и дальше работать с помощью этой библиотеки. Кликайте и вам откликнется :cool: Изменено 22 Октября, 2015 в 15:41 пользователем yamazaki Ссылка на комментарий Поделиться на другие сайты Поделиться
Datagor Опубликовано 22 Октября, 2015 в 16:12 Жалоба Поделиться Опубликовано 22 Октября, 2015 в 16:12 А чтобы искать библиотеку, нужно узнать на каком чипе постоен ваш LCD 16x2. Популярных их 2-3 типа. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergiy_83 Опубликовано 23 Октября, 2015 в 10:45 Жалоба Поделиться Опубликовано 23 Октября, 2015 в 10:45 Пример для HD44780 #define F_CPU 8000000 #include <avr/io.h> #include <math.h> #include <util/delay.h> #include <avr/pgmspace.h> #include "lcd_lib.h" #include "lcd_lib.c" int main(void) { DDRC = 0b00000111; PORTC = 0b00000001; lcd_init();// инициализация LCD lcd_clr();// очистить LCD _delay_ms(10); lcd_gotoxy(0, 0); lcd_string("INPUT 1",8); while (1) { if (PIND & 1) { if (PORTC==0b00000100) PORTC = 0b00000001; else PORTC = (PORTC<<1); lcd_gotoxy(0, 0); switch (PORTC) { case 0b00000001: lcd_string("INPUT 01",8); break; case 0b00000010: lcd_string("INPUT 02",8); break; case 0b00000100: lcd_string("INPUT 03",8); break; default: break; } _delay_ms(300); } } } В архиве primer_HD44780 проект примера в протеусе и AVR студии, в архиве 361 библиотека. primer_HD44780.zip 361.zip 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость voevoda Опубликовано 23 Октября, 2015 в 13:08 Жалоба Поделиться Опубликовано 23 Октября, 2015 в 13:08 (изменено) Огромное Вам спасибо! Буду разбираться... Изменено 23 Октября, 2015 в 16:13 пользователем voevoda Потер бессмысленное цитирование Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость voevoda Опубликовано 5 Ноября, 2015 в 06:43 Жалоба Поделиться Опубликовано 5 Ноября, 2015 в 06:43 Как мне вывести на lcd значение переменной? например: Х=350; lcd_string("INPUT"+Х,8); Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergiy_83 Опубликовано 5 Ноября, 2015 в 08:11 Жалоба Поделиться Опубликовано 5 Ноября, 2015 в 08:11 Нельзя просто так сложить char и int. :wink: Например: #include <string.h> #include <stdlib.h> //В main char st[15]; int x=350; strcpy(st,"INPUT "); itoa(x,st+6,10); //6, потому что INPUT с пробелом 6 символов lcd_gotoxy(0, 0); lcd_string(st,strlen(st)); Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость voevoda Опубликовано 25 Января, 2016 в 14:53 Жалоба Поделиться Опубликовано 25 Января, 2016 в 14:53 Поделитесь пожалуйста формулой - блок-схемой - кодом анализатора спектра для данного LCD(16x2) для AVR пример: _https://www.youtube.com/watch?v=afRfNe4eBbA_ _https://www.youtube.com/watch?v=eU0ErmzW59w_ Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergiy_83 Опубликовано 25 Января, 2016 в 16:58 Жалоба Поделиться Опубликовано 25 Января, 2016 в 16:58 :biggrin: _https://www.rlocman.ru/shem/schematics.html?di=134055 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость voevoda Опубликовано 27 Января, 2016 в 14:48 Жалоба Поделиться Опубликовано 27 Января, 2016 в 14:48 вроде есть соображение в принципе работы, но всеравно сложно. может у кого то есть информация по принципу работы спектроанализатора Ссылка на комментарий Поделиться на другие сайты Поделиться
Datagor Опубликовано 27 Января, 2016 в 15:49 Жалоба Поделиться Опубликовано 27 Января, 2016 в 15:49 ... но всеравно сложно ... Володя, привет! Это не просто сложно, а очень сложно. По-моему вы пытаетесь заезжать не с того конца. Вам нужен спектр-анализатор - собирайте готовый проект, их немало в сети и прошивки прилагаются. Вам нужно изучить программирование контроллеров - начинайте "от печки", с моргания тремя светиками. Волшебной формулы, как вы пишите выше, не существует. Вот такие мои мысли. Ссылка на комментарий Поделиться на другие сайты Поделиться
Dm4 Опубликовано 27 Января, 2016 в 17:14 Жалоба Поделиться Опубликовано 27 Января, 2016 в 17:14 А вы с этим экраном то разобрались для начала? https://forum.datagor.ru/topic/10627-hitachi-lmg6511-nhbc-ishu-datashit/page__view__findpost__p__139701 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти