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

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

Требуеся помощь знатоков, Начал изучать АВР недавно и вот возникла проблема с подключением LCD. Создал новый проект в CODEVISION с поддержкой LCD и дал задание вывести на экран слово "hello". ЖК молчит, только подсветка горит. Если повернуть регулятор контрастности в одну сторону то на ЖК появляется верхняя полоса из сегментов и все. ЖК 2х16,

МК атмега 8.

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

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

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

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

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

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

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

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

Вот есть темка, правда там на ассемблере и под тиньку2313, но есть и пример для атмеги. http://forum.cxem.net/index.php?showtopic=85414

Извините за то что задаю много вопросов, просто я начинающий в МК. С уважением, Андрей, можно на ты.

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

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

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

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

Схемы как схемы нету, МК тактируется от встроенного гена на 1 мег и к порту D подключен ЖК. Если подключаю вместо ЖК линейку из светодиодов то они перемигиваются некоторое время а потом остается низкий уровень на 0 и на 2 выходах порта D. Подключение ЖК сделано так как мастере CODEVISION.

А вот код:

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.9 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 6/13/2011
Author  : F4CG                            
Company : F4CG                            
Comments: 


Chip type           : ATmega8
Program type        : Application
Clock frequency     : 1.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 256
*****************************************************/

#include <mega8.h>

// Alphanumeric LCD Module functions
#asm
  .equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// LCD module initialization
lcd_init(16);

while (1)
     {
     // Place your code here
       lcd_init(16);  

lcd_gotoxy(5,0);


lcd_putsf("Hello");


     };
}

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

Здравствуйте! Есть и у меня проблема с LCD WH1604 и Atmega16. Подключил к порту С, программу написал на CodeVision. Программа в Протеусе работает, на реальном табло надписи нет. Сегодня на работе специалист подсказал что надо было регулировать яркость при помощи резистора 10 кОМ. Я думаю что причина может быть в этом. Но хочу спросить, если даже программа не работает, на табло какие-то символы или знакоместа должны выделяться? А то у меня экран светится зеленым светом и больше ничего. И еще вопрос, если подсветку не подключать (у меня подключена), будет ли на экране что-то видно?

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

Регулируют с помощью подстроечника контраст, подветка на индикацию не повлияет. Я на своем тестовом LCD так и нес мог подсветку подключить, ничего , разглядываю так.

P.S подстроечник можно заменить на два постоянных, схему где то видел на gaw.ru .( всмысле, на схеме можно посмотреть номиналы подобранных резистров)

Не цитируите полностью предыдущее сообщение!!!

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

Но хочу спросить, если даже программа не работает, на табло какие-то символы или знакоместа должны выделяться?
Если подключить питание к ЛСД без МК, то на нём будет светиться вся верхняя строка. Это говорит о том, что дисплей рабочий, но не проинициализирован.

Контраст в этом режиме так-же работает.

если подсветку не подключать (у меня подключена), будет ли на экране что-то видно?
Будет.

Только не в темноте.... :D

Перенёс тему в раздел "Периферия и внешние устройства".

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

В общем строки светятся. Первая и третья. Но на экране нет надписи "Codevision AVR". Вот исходный код программы для CVAVR:

#include <mega16.h>
#include <lcd.h>
#include <delay.h>

// Declare your global variables here
#asm
  .equ __lcd_port=0x15; PORTС /* ЖКИ дисплей подключили к порту I/O С */
#endasm

void main(void)
{
lcd_init(16);
while (1)
     {
           lcd_clear();                //чистим дисплей перед выводом 
           lcd_putsf("CodeVision AVR");
           delay_ms(500);              //ждём 500мс
     };
}

Файл протеус'а выше.

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

Если подключить питание к ЛСД без МК, то на нём будет светиться вся верхняя строка. Это говорит о том, что дисплей рабочий, но не проинициализирован.

Контраст в этом режиме так-же работает.

Именно так у меня все и было, пока вдоволь намучавшись не прозвонил все подозрительные места. Нашел таки один коротыш, ликвидировав который все заработало.

Всем спасибо за помощь.

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

А может ли влиять тактовая частота процессора на работу с LCD? У меня фьюзы не программировались, по идее стоит частота 1 МГц. Могут ли быть различия в работе с LCD 16x2 и 16x4 при использовании библиотеки lcd.lib от Codevision?

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

Частота может повлиять. Попробуй прямо в протеусе понизить частоту МК. Когда я на ассемблере писал приходилось nop'ы вставлять из-за слишком коротких CLK стробов.

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

  • 5 месяцев спустя...

Хэлп!)

Завожу (2 месяца назад блин всё работало! <_< ) АТмега16+wh1202а...

схема рабочая! 100% !

просто при подаче питания горят все 2 строки в 12 символов... (все "пиксели" жки)...

звонил-звонил... почему-то звонится 3 и 2й выводы ЖК, а это ч/з подстроечник (http://technikron.com/ebay/pdf/TR3296.pdf) идёт...

промерил на подстроечнике - там 30 Ом...

что-то я никак не могу разобраться с этими подстроечниками...

Да кстати симулю в вм-лабе - усё работает! Косяк железа 100%!

подключал так:

post-131192-0-95469500-1323097202_thumb.gif

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

Подстроечник регулирует контрастность. Нужно выставить его в такое состояние, что при потушенном символе этот символ не видно, а при зажженом видно хорошо.

Пока в груди моей бьётся мотор, надежда есть на чистый бензин...

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

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

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

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

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

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

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

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

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

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

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