Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
11.10.2008, 21:59
|
|
Прохожий
Регистрация: 07.02.2007
Сообщений: 2
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
HELP! LCD не могу отобразить
Mega 16(Частота 8МGz)+ LCD CASIL CCM-1620CSL-V2 думаю собран на контроллере HD44780.
так вот простая прога, хочу вывести на экран
lcd_init(16);
.
.
.
lcd_putsf("Hello world");
.
.
.
все подпаял правильно- проверял.
однако не выводится.
индикатор вроде бы инициализируется т к засвечиваются все точки на всех элементах.
далее прога работает как следует, пипикает динамик.
есть у меня еще индикатор Powertip PC1602F- с ним тоже самое.
Может кто-то что-то подскажет? Спасибо.
|
|
|
|
12.10.2008, 00:33
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Все точки...
Контрастность реулировать не пробовал?
__________________
Осторожно , злой кот
|
|
|
|
12.10.2008, 01:16
|
|
Частый гость
Регистрация: 15.08.2006
Сообщений: 23
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Вот листинг моей программы для LCD.
Код:
|
#include ‹mega16.h›
#include ‹delay.h›
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include ‹lcd.h›
void main(void)
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
// LCD module initialization
lcd_init(16);
while (1)
{
lcd_putsf ("Hello world");
delay_ms(1000);
};
} |
Код для CVAVR. ЖКИ подключен к PORTA.
Внимательно проверьте провода, очень может быть, что дело в них.
Контраст, лично я, делал нерегулируемый, ножку контраста заземлял.
-- Прилагается рисунок: --
![](https://kazus.ru/nuke/users_images/12102008/6676607.gif)
|
|
|
|
12.10.2008, 17:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 09.12.2007
Адрес: Новосибирск
Сообщений: 1,021
Сказал спасибо: 10
Сказали Спасибо 70 раз(а) в 63 сообщении(ях)
|
А почему порт А настроен как вход?
__________________
И на камнях растут деревья!
|
|
|
|
12.10.2008, 17:25
|
|
Частый гость
Регистрация: 15.08.2006
Сообщений: 23
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от domowoj
|
А почему порт А настроен как вход?
|
Странно. Только сейчас заметил. Тем не менее, работает (!)
|
|
|
|
13.10.2008, 23:42
|
|
Прохожий
Регистрация: 07.02.2007
Сообщений: 2
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Ура!!!
Нашел!!!
Я индикатор посадил на порт С.
а там есть JTAG.
Так вот я его при программировании включил во фьюзах.
ну соответственно и не работало.
отключил JTAG и все пошло как по маслу.
|
|
|
|
13.10.2008, 23:48
|
|
Частый гость
Регистрация: 15.08.2006
Сообщений: 23
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от volkvolk
|
Ура!!!
Нашел!!!
Я индикатор посадил на порт С.
а там есть JTAG.
Так вот я его при программировании включил во фьюзах.
ну соответственно и не работало.
отключил JTAG и все пошло как по маслу.
|
Коварный JTAG - у моего приятеля из-за него чуть не накрылся дипломный образец - та же ситуация, забыл (не знал) отключить.
|
|
|
|
14.10.2008, 00:24
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
Сообщение от domowoj
|
А почему порт А настроен как вход?
|
А это кстати CAVR-у по барабану при включении в программу LCD.H он биты в порте сам будет вертеть когда и куда надо (посмотри внимательно asm-Ы в
CAVR/lib/LCD.LIB). Поэтому как в рекламе "оттого и не кусают", то есть работает.
|
|
|
|
15.10.2008, 22:22
|
|
Прописка
Регистрация: 15.09.2008
Сообщений: 210
Сказал спасибо: 45
Сказали Спасибо 29 раз(а) в 24 сообщении(ях)
|
Гм??? Но ведь в ассемблерной вставке указано, что LCD подключен к PORTA.
Нужный тебе исходник полностью генерирует "CodeWizard",
где ты только должен в закладке "LCD"
указать порт, к которому подключен индикатор и
количество знаков в строке.
Далее в исходнике после строки
// Place your code here
нужно вставить, например:
lcd_gotoxy(3,0);координата первого символа
lcd_putsf("Hello world");
|
|
|
|
16.10.2008, 02:01
|
|
Супер-модератор
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
|
"CodeWizard" - это для чайников. Убирать за ним потом весь лишний мусор опупеешь. А в ассемблерной вставке вы просто указываете шестнадцатеричный номер порта по даташиту МК. Все остальные операции по LCD собраны в двух файлах LCD.H (прототипы функций) и LCD.LIB(сами функции на Си/ASMe).
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:48.
|
|