Перейти к содержанию

BT201 схема подключения и управление из под ATMEGA8


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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

@tifaso   для начала упрости задачу  ...  Просто  МК и дисплей  и пару кнопок  для смены  символов ,

я бы так поступил бы  чтобы изучить дисплей и МК  вместе.  :yes:

Изменено пользователем Нэцкэ

У меня есть мысль , и я её думаю ...  

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

55 minutes ago, gd32f470vgt said:

Не определен тип переменной

Не, это очень сложно. Вот так проще будет:

Надо убрать запятую после uint8_t

void write(uint8_t, n)

 

1 hour ago, tifaso said:
icd_num(count, 0,6);

А на эту строчку студия не ругается?

@tifaso Проверьте, куда присоединены ноги дисплея RS, E, D4-D7, и как про эти ноги написано в программе.

Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

1 час назад, Yurkin2015 сказал:

@tifaso Проверьте, куда присоединены ноги дисплея RS, E, D4-D7, и как про эти ноги написано в программе.

 

1 час назад, Yurkin2015 сказал:

Не, это очень сложно

 

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

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

2 часа назад, Yurkin2015 сказал:

@tifaso Проверьте, куда присоединены ноги дисплея RS, E, D4-D7, и как про эти ноги написано в программе.

Это само собой схема просто была старая достал из архива под этот код я схему не чертил потому как из за ошибок я тогда бросил работу в этой стороне и переключился на UART. Сейчас вернувшись к этому перечертил схему заново. Потому как исходника не сохранилось. За одним и перечертил все связи как нужно. Я кстати в этом коде тоже переназначил выхода RS и E на другие выводы потому как первоначально они сидели на PD0 и PD1, а у меня там UART.

1954129030_MP3PlayerBT201lcd1602.JPG.c6941ce2795f06cef77f00e45a8d8d9b.JPG

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

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

38 минут назад, tifaso сказал:

Сейчас нужно будет пробовать собирать данную схему

Думаю вам стоит ограничится протеусом. Как там заработает, тогда перейдете в железо.

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

вообще не понимаю как в цифровом комбайне/медиацентре отойти от цифрового семисегментного дисплея на буквовой ? Везде цифровизация, а тут ижица и глаголица будет..

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

Отредактировал код до относительно рабочего вида.

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <stdlib.h>
#define MAIN_H_
#define LCD_H_

#define LCD_DDR DDRD
#define LCD_PORT PORTD
#define LCD_PIN PIND

#define DATA 0xF0
#define RS PD2
#define E PD3

#define E1 LCD_PORT|=(1<<E)
#define E0 LCD_PORT&=~(1<<E)

#define RS1 LCD_PORT|=(1<<RS)
#define RS0 LCD_PORT&=~(1<<RS)

void lcd_ini(void);
void lcd_str(char* str);
void lcd_pos(uint8_t line, uint8_t pos);
void lcd_num(uint8_t num, uint8_t line, uint8_t pos);
uint8_t n=0;

void write(uint8_t n)
{
	n<<=4;
	E1; //линию Е в 1
	LCD_PORT&=~DATA; //удалить предыдущую отправку
	LCD_PORT|=n; //выставить значение на пины управления дата битами
	asm("nop"); //пропуск такта
	E0; //линию Е в 0
}

void send_byte(uint8_t byte, uint8_t tip)
{
	if (tip) //если тип данные на линии RS 1
	{
		RS1;
	}
	else //иначе тип команда и на линии RS 0
	{
		RS0;
	}
	
	write(byte>>4); //передача старшего полубайта
	write(byte); //передача младшего полубайта
}

void lcd_ini(void)
{
	LCD_DDR|=DATA | (1<<RS) | (1<<E);
	_delay_ms(20);
	RS0;
	write(3);
	_delay_ms(5);
	write(3);
	_delay_us(150);
	write(3);
	_delay_us(50);
	write(2);
	_delay_us(50);
	
	send_byte(40,0);
	_delay_us(50);
	
	send_byte(12,0);
	_delay_us(50);
	
	send_byte(1,0);
	_delay_ms(2);
	
	send_byte(6,0);
	_delay_us(50);
	
	//send_byte(0b01000001,1); //A
	//send_byte(0x41,1); //A
	//send_byte('A',1);
	lcd_str("count=");
	lcd_pos(1,2);
	lcd_str("HOLa Amgos!");
}

void lcd_str(char* str)
{
	uint8_t n=0;
	while(str[n])
	{
		send_byte(str[n],1);
		n++;
	}
}

void lcd_pos(uint8_t line, uint8_t pos)
{
	uint8_t adress=(line*0x40+pos)|0x80;
	send_byte(adress,0);
	_delay_us(50);
}

int main(void)
{
	DDRB = 0b10000000;
	PORTB = 0b11111111;
	lcd_ini();
	uint8_t count=0;
	while(1)
	{
		if (~PINB & (1<<1))
		{
			lcd_pos(1,0);
			lcd_str("                ");
			lcd_pos(1,0);
			lcd_str("GAMES AND SOFT");
		}
		if (~PINB & (1<<2))
		{
			lcd_pos(0,0);
			lcd_str("                ");
			lcd_pos(0,0);
			lcd_str("TIFASO");
		}
		if (~PINB & (1<<3))
		{
			lcd_pos(0,0);
			lcd_str("                ");
			lcd_pos(1,0);
			lcd_str("                ");
			lcd_pos(1,0);
			lcd_str("HELLO");
			lcd_pos(1,0);
			lcd_str("PLAYER BT201");
		}
		if (~PINB & (1<<4))
		{
			lcd_pos(0,0);
			lcd_str("                ");
			lcd_pos(1,0);
			lcd_str("                ");
			lcd_pos(0,0);
			lcd_str("FILE MUSIC MP3");
			lcd_pos(1,0);
			lcd_str("USB PLAYER VOLL");
		}
	}
}

Так вроде бы всё работает выводит, но есть артефакты может это связано с плохим контактом в макетке. Пока не ясно.

DSC03317.thumb.JPG.f6caa198faaa40b5ec3ce9886dcefc8d.JPG

Ну вот видно вместо текста какие то отдельные буквы и знаки, полосы. Возможно здесь в самом дисплее адреса знаков перепутаты нужно искать в чём проблема может крыться. С тем как выводить данные я наконец разобрался, но теперь нужно разбираться с этой кашей. Чтобы можно было адекватный текст вывести.

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

@КЭС Здесь пока не делал кварца. Это пока что просто чтоб разобраться с дисплеем. Нужно до конца понять как адекватно работать с дисплеем.

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

@donec Да не трогаю я пока фьюзы и кварц тоже не подключен. В данный момент я просто разбираюсь с дисплеем сейчас стоит задача вывести адекватно на него информацию.

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

3 минуты назад, tifaso сказал:

Да не трогаю я пока фьюзы и кварц

Видишь суслика -  а он есть.
то что вы их не трогаете, не отменяет их наличие и состояние.

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

@tifaso зря ты ардуино игноришь, для школьников третье занятие это вывод на дисплей, как мне кажется.и это та же атмега, та же архитектура. но только кварц есть и фьюзы не надо и программатор. экспериментируй пока не надоест.

 

Изменено пользователем dolmatovva
Ссылка на комментарий
Поделиться на другие сайты

Я так понимаю мне уже ничего не остаётся кроме как пробовать  подключить внешний кварц к схеме с дисплеем. Потому как сейчас у меня там добавлены кнопки которыми текст на  дисплей вывожу. И при нажатии с разными интервалами текст и знаки всегда по разному выводятся. Может и в нужную частоту не попадаю. А может и реально контакты самой макетки хреновые. Кто знает.

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

39 минут назад, tifaso сказал:

И при нажатии с разными интервалами текст и знаки всегда по разному выводятся.

там как с программатором.

и там говорили провода укоротить

 

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

6 минут назад, dolmatovva сказал:

и там говорили провода укоротить

Понятно значит просто контакт в макетке херовый. Провода там не длинные. А вообще как не крути сильно укоротить длинну проводов не выйдет минимально 25 см. будет в финале в самом устройстве. Сейчас провода около 20 см. И запитал я сейчас от импульсника может от туда чего пробивает. Вообще планируется по другому запитывать.

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

@tifaso  Как раз вчера я на  эти контакты в потрепаной  макетке .

Чуть матьюки  не вынес на всеь дом :wall:

Знал что она уменя торепаня и думал да  дай - ка  так  схему включения и авто выклюяения 

для частотомера смоделирую ...  Да так намодерировался , что пришлось нервы прилить пивом  :rake:

Оказалось питание  через кнопку поступало, а без кнопки нет ...

пока не вспонил что контакты могут быть потрепаны

схема  просто банальная  не заводилась нафик :heat:

Изменено пользователем Нэцкэ

У меня есть мысль , и я её думаю ...  

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

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...