roboforum.ru

Технический форум по робототехнике.


SC1001

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

SC1001

Сообщение slash9 » 16 июл 2006, 19:03

Подскажите пожалуйста, вот купил не chipinfo ЖКИ, хочу подключить его к ATtinny2313 , подключаю по 4-х битной схеме, но не получается его проинициализировать, и вообще выводить какие либо символы, все время квадратики светятся, когда запускаю программу то кратковременно квадратики становятся мало контрастными, и где-то через секунду, опять возвращаются.
Подскажите плиз кто знает в чем может быть проблема, как правильно написать программку или инициализировать и управлять данным ЖКИ на Си для микроконтроллеров. В CVAVR есть встроенная библиотека LCD.h но она тоже не хочет работать. Может там с адресами проблема?
Спасибо.
Последний раз редактировалось slash9 16 июл 2006, 22:11, всего редактировалось 1 раз.
slash9
 
Сообщения: 17
Зарегистрирован: 16 июл 2006, 14:01
Откуда: Сочи

Сообщение -= Александр =- » 16 июл 2006, 21:18

CodeVision AVR тебя спасет. Не то чно спасет, он сам все за тебя сделает. Скажи ему к какому порту подключен дисплей и юзай готовые функции для работы с ним!  :wink:

З.ы. А чтоб проверить дисплей в случае когда что-то странно глючит я обычно юзаю прогу на компе и ЛПТ-порт.

З.з.ы. Все что я сказал справедливо для стандартного HD4488-совместимого дисплея.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: SC1001

Сообщение avr123.nm.ru » 16 июл 2006, 22:09

slash9 писал(а):время квадратики светятся


подрегулируй напряжение контрста - может поможет.

а в VMLAB прога работает ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение slash9 » 16 июл 2006, 22:15

В том то и дело, что встроенная библиотека в  CVAVR - lcd.h не хочет работать.
Контраст регулировал не помогает.
У данного ЖКИ контроллер стоит не HD4480 -  а совместимый с ним
помоему если не исменяет память KS0066
slash9
 
Сообщения: 17
Зарегистрирован: 16 июл 2006, 14:01
Откуда: Сочи

Сообщение avr123.nm.ru » 16 июл 2006, 22:56

slash9 писал(а):В том то и дело, что встроенная библиотека в  CVAVR - lcd.h не хочет работать.


в VMLAB ваша программа работает ? если нет то попробуйте примеры из CVAVR в VMLAB.

Или посмотрите у меня в курсе задачу 5

http://avr123.nm.ru/z5.htm

там подробно и пример  приложен из которого скриншоты.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Andrey19888 » 16 июл 2006, 23:53

slash9 писал(а):В том то и дело, что встроенная библиотека в  CVAVR - lcd.h не хочет работать.
Контраст регулировал не помогает.
У данного ЖКИ контроллер стоит не HD4480 -  а совместимый с ним
помоему если не исменяет память KS0066



KS0066 тоже самое что HD44780 сам недавно с этим ковырялся в CodeVision. Текст выводил через lcd_putsf("Ваш текст"); все должно быть good. Удачи
Andrey19888
 
Сообщения: 8
Зарегистрирован: 27 июн 2006, 01:02
Откуда: Беларусь

Сообщение slash9 » 17 июл 2006, 00:13

Andrey19888 писал(а):KS0066 тоже самое что HD44780 сам недавно с этим ковырялся в CodeVision. Текст выводил через lcd_putsf("Ваш текст"); все должно быть good. Удачи

Пробовал, не получается, что-то. А больше ничего там не надо править во встроенной lcd.h проблемы с адресацией не может быть?
slash9
 
Сообщения: 17
Зарегистрирован: 16 июл 2006, 14:01
Откуда: Сочи

Сообщение avr123.nm.ru » 17 июл 2006, 11:42

в 200 раз спрошу....   в VMLAB работает ВАША программа ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение slash9 » 17 июл 2006, 12:05

avr123.nm.ru писал(а):в 200 раз спрошу....   в VMLAB работает ВАША программа ?

Да я не пробовал ее в VMLAB запускать, я чайник еще, и VMLAB работать еще не умею.
slash9
 
Сообщения: 17
Зарегистрирован: 16 июл 2006, 14:01
Откуда: Сочи

Сообщение avr123.nm.ru » 17 июл 2006, 13:21

Советую взять на http://www.amctools.com и попробовать

http://avr123.nm.ru/z2.htm  и

http://avr123.nm.ru/z5.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение slash9 » 17 июл 2006, 22:08

Вот как я делаю в CVAVR.
Если что-то не правильно подскажите плиз.
#include <tiny2313.h>

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

// Declare your global variables here

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

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port A initialization
// Func2=In Func1=In Func0=In
// State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// 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 D 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
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x00;
TCCR0B=0x00;
TCNT0=0x00;
OCR0A=0x00;
OCR0B=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;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// Interrupt on any change on pins PCINT0-7: Off
GIMSK=0x00;
MCUCR=0x00;

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

// Universal Serial Interface initialization
// Mode: Disabled
// Clock source: Register & Counter=no clk.
// USI Counter Overflow Interrupt: Off
USICR=0x00;

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

// LCD module initialization
lcd_init(10);  


while (1)
     {
     
     lcd_putchar('F');

     
     };
}

И у меня на ЖКИ пять типа квадратиков сначала были все закрашены т.е. как при включении ЖКИ, после того как я прошил МК, то эти пять квадратиков стали светлее, но они стали моргать и внизу квадратика а может и вверху пять полосочек _ _ _ _ _ вот так и тоже моргают.
А буквы F не видать.
Пробовал
lcd_gotoxy(1,0);

lcd_putsf("Hello");
как в уроке написано, ничего не изменяется квадратики как светились все закрашенные так и светятся.
В чем может быть проблема?
slash9
 
Сообщения: 17
Зарегистрирован: 16 июл 2006, 14:01
Откуда: Сочи

Сообщение avr123.nm.ru » 17 июл 2006, 23:28

slash9 писал(а):как в уроке написано


ну так проверьте вашу прогу в VMLAB как в уроке рекомендуется.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение slash9 » 18 июл 2006, 16:54

avr123.nm.ru писал(а):
ну так проверьте вашу прогу в VMLAB как в уроке рекомендуется.

Как ее в VMLAB проверить? я открываю в нем проект из CVAVR и там красные восклицательные знаки и пишет что типа неизвестный объект.
slash9
 
Сообщения: 17
Зарегистрирован: 16 июл 2006, 14:01
Откуда: Сочи

Сообщение avr123.nm.ru » 18 июл 2006, 19:26

задача 2    pic16f628.narod.ru/z2.htm

задача 5  и

задачи где сказано что изучаем VMLAB
pic16f628.narod.ru/06.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение Andrey19888 » 19 июл 2006, 00:54

[quote="slash9"]

while (1)
     {
     
     lcd_putchar('F');

     
     };
}


Сообщение надо писать перед главным циклом т.к в таком варианте как вы написали эта буква выводится на дисплей с тактовой частотой проца. Если еще не очень понятно посмотрите в HELPe CV LCD function там так и написано:
lcd_gotoxy(0,0);
lcd_putsf("Ваш текст");
while(1) {
//
};
}

Если не заработает могу выслать кусок проверенного в железе кода на 2313 и 4-строчном ЖКИ на HD44780 он же KS0066
Andrey19888
 
Сообщения: 8
Зарегистрирован: 27 июн 2006, 01:02
Откуда: Беларусь

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9