Перейти к содержимому
Форум журнала практической электроники «Датагор»
Набор для вскрытия электроники WOSAI 11 In 1
Сумка для инструментов 12"-14"-16", очень прочная 600D
Магнитный браслет мастера. Биты, гайки, саморезы, гвозди перестали теряться
Набор резаков, метал. ручка, цанга
Увлажнитель и очиститель воздуха. Когда шпарят батареи
Беспроводной звонок, 32 мелодии!
Набор термоусадок разного калибра, 385шт.
AAM2302 (DHT22) цифровой датчик влажности и температуры
Касса резисторов 0.25Вт, 64 номинала, всего 1280шт.
Водозащищённые навороченные мужские часы SANDA-G
Детские/стариковские GPS-часы-антипотеряшки и телефон
600шт., 3 цвета, 15 типов терминалов под обжим 22~12AWG

Гость voevoda

Как просто подключить LCD 16x2 к atmega8

Рекомендованные сообщения

Гость voevoda

Добрый день!

Помогите, пожалуйста подключить лсд 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

{

}

}

}

post-12843-0-26136400-1445434952_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Владимир, для многих алфавитно-цифровых дисплеев существуют и общедоступны готовые библиотеки для работы. Для вашего - наверняка. Все, что нужно - найти соотв. библиотеку, скачать её, убедиться, что она совместима с вашим компилятором, в противном случае скачать соответствующий компилятор, и дальше работать с помощью этой библиотеки. Кликайте и вам откликнется :cool:

Изменено пользователем yamazaki

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чтобы искать библиотеку, нужно узнать на каком чипе постоен ваш LCD 16x2.

Популярных их 2-3 типа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пример для 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 библиотека.

post-18213-0-92321600-1445596664_thumb.jpg

primer_HD44780.zip

361.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость voevoda

Огромное Вам спасибо! Буду разбираться...

Изменено пользователем voevoda
Потер бессмысленное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость voevoda

Как мне вывести на lcd значение переменной?

например:

Х=350;

lcd_string("INPUT"+Х,8);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нельзя просто так сложить 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

Поделитесь пожалуйста формулой - блок-схемой - кодом анализатора спектра для данного LCD(16x2) для AVR

пример:

_https://www.youtube.com/watch?v=afRfNe4eBbA_

_https://www.youtube.com/watch?v=eU0ErmzW59w_

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость voevoda

вроде есть соображение в принципе работы, но всеравно сложно. может у кого то есть информация по принципу работы спектроанализатора

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
... но всеравно сложно ...
Володя, привет! Это не просто сложно, а очень сложно. По-моему вы пытаетесь заезжать не с того конца.

 

Вам нужен спектр-анализатор - собирайте готовый проект, их немало в сети и прошивки прилагаются.

Вам нужно изучить программирование контроллеров - начинайте "от печки", с моргания тремя светиками.

 

Волшебной формулы, как вы пишите выше, не существует.

Вот такие мои мысли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

︽ Наверх страницы ︽
×