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

Подключение Дисплея Bc1602a К Atmega8535


Ramallah

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

Добрый день!

Этап моргания светодиодами прошел. В целях дальнейшего обучения решил увязать дисплей BC1602A фирмы Bolymin.

Даташит к нему можно глянуть ТУТ.

Дисплей привязался к МК ATMEGA8535, по 8-ми разрядной шине по схеме из даташита. Только ноги V0, Vdd и GND подключались не через резистор, а так (вроде так же тоже должно выйти):

V0 -- +5

Vdd -- +5

GND -- GND

Для DB0-DB7 выбрал порт С.

Для управляющих сигналов - порт А.

Проверил распайку всех линий, вроде все сходиться. Следующий этап был програмирование. Код писался на С в AVRStudio.

Читая даташит написал следующий код для инициализации дисплея. В итоге планировалось получить на экране курсор, а в итоге тишина. Предположительно я ошибся в коде, поправьте плиз если я не прав:

#include <delay.h>
#include <io.h>

void main (void)
{
delay_loop_2(50000);
DDRA=0xFF;
DDRC=0x00;

delay_loop_2(50000);
PORTA=0x00;
PORTC=0x3F;
delay_loop_2(50000);
PORTA=0x00;
PORTC=0x3F;
delay_loop_2(50000);
PORTA=0x00;
PORTC=0x3F;

delay_loop_2(50000);
PORTA=0x00;
PORTC=0x3F;
delay_loop_2(50000);
PORTA=0x00;
PORTC=0x08;
delay_loop_2(50000);
PORTA=0x00;
PORTC=0x01;
delay_loop_2(50000);
PORTA=0x00;
PORTC=0x06;

while(1){
}

}

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

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

Непонятно мене зачем человек каждый раз изобретает велосипед.... Ведь полно библиотек готовых!!!! Но если хочется это сделать самому - то надо вопервых научиться делать функции - поверте мене секономят Вам много времени и нервов - и научиться использовать команды изменения состояния отдельных ножек проца... Тоже сэкономит много гимора при дальнейшем розширении или исправлении...

И ещё - тото резистор там нестоит просто так - вполне возможно что всё это работает - только невидно :) Было у меня так... Надо было подать -12 вольт а я подал -5 думал хватит а вот и нет когда начал повышать напругу оказалось что становится видно только при -11....

Например рекомендую изучить вот эту досточку... Точнее её библиотеку.... http://www.csc.calpoly.edu/~jseng/PolyBot_Board.html

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

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

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

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

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

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

Ведь полно библиотек готовых!!!! Но если хочется это сделать самому - то надо вопервых научиться делать функции - поверте мене секономят

Дело в том, что я сам программист на многих языках. Для разработки приложений конечно же использую процедуры и функции, и это правильно! Но для ознакомления и понятия всех логики предпочитаю работать так, смысл выносить несколько строк в функцию? В дальнейшем обращаться буду.

А про резистор осознаю свою ошибку, вечером попробую, доложу.

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

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

Не... не получилось нифига =(

Докладываю:

1. Переменный резистор впаял согласно схеме.

2. Попытка увидеть что-то на дисплее проводилась следующей программой:

#include <delay.h>
#include <io.h>

#define RD_1 PORTA |=2
#define RS_1 PORTA |=1
#define E_1  PORTA |=4
#define RD_0 PORTA &=5
#define RS_0 PORTA &=6
#define E_0  PORTA &=3

void main (void)
{
DDRC=0xFF;
DDRA=0x07;
_delay_loop_2(50000);

RS_0;
RD_0;
PORTC_0x38;
E_1;
_delay_loop_2(10000);
E_0;
PORTC=0x0;
_delay_loop_2(50000);

RS_0;
RD_0;
PORTC_0x0D;
E_1;
_delay_loop_2(10000);
E_0;
PORTC=0x0;
_delay_loop_2(50000);

RS_0;
RD_0;
PORTC_0xD1;
E_1;
_delay_loop_2(10000);
E_0;
PORTC=0x0;
_delay_loop_2(50000);

while(1){}
}

Верная ли у меня логика программирования в данном случае? А то 3-й день не могу этот камень преткновения пройти.

Помогите спецы пожалста.

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

Ещё информация для размышления:

Управляющие линии работают, проверил прибором.

Вырезка из даташита, с привязкой к коду:

Операция записи.

Операция записи для 8-ми разрядной шины:

RS_0; - 1. Установить значение линии RS.

RD_0; 2. Установить линию R/W=0.

PORTC_0x0D; 3. Вывести значение байта данных на линии шины DB0..DB7.

E_1; - 4. Установить линию Е=1.

_delay_loop_2(10000);

E_0; -5. Установить линию Е=0.

PORTC=0x0; 6. Установить линии шины DB0..DB7 в высокоимпедансное

состояние.

Вот такая моя логика. Напряжение на лапах при XX_1=5В, при XX_0=0В.

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

Блин... Чтото я непонимаю... Логика должна быть такая:

0. подождать немного - 20 микро сек хватит

____________________________________________76543210

1. Подать на Е, RS и R/W 0. На шину данных подать 0011хххх - где х - разницы нет...

2. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0. (достаточно 1 нопа на 1 Мгц - у меня работает)

3. Подождать 4,1 микро сек.

4. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0.

5. Подождать 100 милисек.

__________________76543210

6. на данные подать 001110хх - где х - опять разницы нет... (здест наставляем 2 ряда и формат матрицы 5х8)

7. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0.

8. Подождать 40 микро сек.

__________________76543210

9. на данные подать 00001000 - здест наставляем курсор, моргание курсора и т.д.

10. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0.

11. Подождать 40 микро сек.

__________________76543210

12. на данные подать 00000001 - стереть дисплей..

13. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0.

14. Подождать 40 микро сек.

__________________76543210

15. на данные подать 00000110 - Наставляем курсор в право и двигать после прихода буквы

16. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0.

17. Подождать 40 микро сек.

__________________76543210

18. на данные подать 00001100 - Ну и включить его наконец..

19. Сделать на Е 1 на 500 нанаосек. и вернуть опять в 0.

20. Подождать 40 микро сек.

ну и так далее - потом уже надо наставить адрес куда пишеш- если уже буквы то поменяй RS на 1

и пиши буквы в память... Должно работать.. Если что не так то лучше воми оригинальный мануал к чипу HD44780.

ЗЫ. там где цыфры на ряду - это я разряды данных обозначал... :) И ненадо наставлять высокоимпеданс :) Конешно в случае что у тебя неповешено на эти ноги ещё чтото кроме дисплейчика...

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

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