Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 03.02.2009, 19:48   #1
eez
Прохожий
 
Регистрация: 15.09.2007
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
eez на пути к лучшему
По умолчанию Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Я делаю проект на МК ATmega8535. Никак не могу подключить к нему LCD (2x40) на базе KS0066U. Название модели дисплея TM402CBCW-R. Вернее, не получается «в железе». При виртуальной симуляции в VMLAB все работает, на виртуальном LCD все отображается корректно. Правда, VMLAB умеет симулировать только работу LCD на базе HD44780. Но по идее это должно быть не принципиально, т.к. KS0066U является аналогом HD44780. Но в реале мой LCD вообще никак не откликается на сигналы, идущие с управляющего МК. Т.е. дисплей остается таким же, как если бы LCD вообще был выключен. Может, сам LCD неисправен? Если так, то как можно проверить исправность LCD?
Или проблема в программном коде. Я пользовался стандартной библиотекой CodeVisionAVR. Но, может быть она чем-то не подходит для LCD (2x40) на базе KS0066U. Может быть в каких-то местах нужно внести коррективы?
Вот текст этой библиотеки:
Цитата:
#asm
.equ __lcd_direction=__lcd_port-1
.equ __lcd_pin=__lcd_port-2
.equ __lcd_rs=0
.equ __lcd_rd=1
.equ __lcd_enable=2
.equ __lcd_busy_flag=7
#endasm

#pragma used+
static unsigned char _base_y[4]={0x80,0xc0};
unsigned char _lcd_x,_lcd_y,_lcd_maxx;
#pragma used-

static void _lcd_delay(void)
{
#asm
ldi r31,15
__lcd_delay0:
dec r31
brne __lcd_delay0
#endasm
}

void _lcd_ready(void)
{
#asm
in r26,__lcd_direction
andi r26,0xf ;set as input
out __lcd_direction,r26
sbi __lcd_port,__lcd_rd ;RD=1
cbi __lcd_port,__lcd_rs ;RS=0
__lcd_busy:
#endasm
_lcd_delay();
#asm
sbi __lcd_port,__lcd_enable ;EN=1
#endasm
_lcd_delay();
#asm
in r26,__lcd_pin
cbi __lcd_port,__lcd_enable ;EN=0
#endasm
_lcd_delay();
#asm
sbi __lcd_port,__lcd_enable ;EN=1
#endasm
_lcd_delay();
#asm
cbi __lcd_port,__lcd_enable ;EN=0
sbrc r26,__lcd_busy_flag
rjmp __lcd_busy
#endasm
}

static void _lcd_write_nibble(void)
{
#asm
andi r26,0xf0
or r26,r27
out __lcd_port,r26 ;write
sbi __lcd_port,__lcd_enable ;EN=1
#endasm
_lcd_delay();
#asm
cbi __lcd_port,__lcd_enable ;EN=0
#endasm
_lcd_delay();
}

void _lcd_write_data(unsigned char data)
{
#asm
cbi __lcd_port,__lcd_rd ;RD=0
in r26,__lcd_direction
ori r26,0xf0 | (1‹‹__lcd_rs) | (1‹‹__lcd_rd) | (1‹‹__lcd_enable) ;set as output
out __lcd_direction,r26
in r27,__lcd_port
andi r27,0xf
ld r26,y
#endasm
_lcd_write_nibble(); //RD=0, write MSN
#asm
ld r26,y
swap r26
#endasm
_lcd_write_nibble(); //write LSN
#asm
sbi __lcd_port,__lcd_rd ;RD=1
#endasm
}

/* write a byte to the LCD character generator or display RAM */
void lcd_write_byte(unsigned char addr, unsigned char data)
{
_lcd_ready();
_lcd_write_data(addr);
_lcd_ready();
#asm
sbi __lcd_port,__lcd_rs ;RS=1
#endasm
_lcd_write_data(data);
}

static void _lcd_read_nibble(void)
{
#asm
sbi __lcd_port,__lcd_enable ;EN=1
#endasm
_lcd_delay();
#asm
in r30,__lcd_pin ;read
cbi __lcd_port,__lcd_enable ;EN=0
#endasm
_lcd_delay();
#asm
andi r30,0xf0
#endasm
}

static unsigned char lcd_read_byte0(void)
{
_lcd_delay();
_lcd_read_nibble(); // read MSN
#asm
mov r26,r30
#endasm
_lcd_read_nibble(); // read LSN
#asm
cbi __lcd_port,__lcd_rd ;RD=0
swap r30
or r30,r26
#endasm
}

/* read a byte from the LCD character generator or display RAM */
unsigned char lcd_read_byte(unsigned char addr)
{
_lcd_ready();
_lcd_write_data(addr);
_lcd_ready();
#asm
in r26,__lcd_direction
andi r26,0xf ;set as input
out __lcd_direction,r26
sbi __lcd_port,__lcd_rs ;RS=1
#endasm
return lcd_read_byte0();
}

/* set the LCD display position x=0..39 y=0..3 */
void lcd_gotoxy(unsigned char x, unsigned char y)
{
_lcd_ready(); // RS=0
_lcd_write_data(_base_y[y]+x);
_lcd_x=x;
_lcd_y=y;
}

// clear the LCD
void lcd_clear(void)
{
_lcd_ready(); // RS=0
_lcd_write_data(2); // cursor home
_lcd_ready();
_lcd_write_data(0xc); // cursor off
_lcd_ready();
_lcd_write_data(1); // clear
_lcd_x=_lcd_y=0;
}

#pragma keep+
void lcd_putchar(char c)
{
#asm
push r30
push r31
ld r26,y
set
cpi r26,10
breq __lcd_putchar1
clt
#endasm
++_lcd_x;
if (_lcd_x›_lcd_maxx)
{
#asm("__lcd_putchar1:")
++_lcd_y;
lcd_gotoxy(0,_lcd_y);
#asm("brts __lcd_putchar0")
};
#asm
rcall __lcd_ready
sbi __lcd_port,__lcd_rs ;RS=1
ld r26,y
st -y,r26
rcall __lcd_write_data
__lcd_putchar0:
pop r31
pop r30
#endasm
}
#pragma keep-

// write the string str located in SRAM to the LCD
void lcd_puts(char *str)
{
#ifdef _MODEL_TINY_
#asm
clr r31
#endasm
#endif

#ifdef _MODEL_SMALL_
#asm
ldd r31,y+1
#endasm
#endif

#asm
ld r30,y
__lcd_puts0:
ld r26,z+
tst r26
breq __lcd_puts1
st -y,r26
rcall _lcd_putchar
rjmp __lcd_puts0
__lcd_puts1:
#endasm
}

// write the string str located in FLASH to the LCD
void lcd_putsf(char flash *str)
{
#asm
ld r30,y
ldd r31,y+1
__lcd_putsf0:
#endasm
#if defined _CHIP_ATMEGA128_ || defined _CHIP_ATMEGA128L_
#asm("elpm")
#else
#asm("lpm")
#endif
#asm
tst r0
breq __lcd_putsf1
adiw r30,1
st -y,r0
rcall _lcd_putchar
rjmp __lcd_putsf0
__lcd_putsf1:
#endasm
}

static void _long_delay(void)
{
#asm
clr r26
clr r27
__long_delay0:
sbiw r26,1 ;2 cycles
brne __long_delay0 ;2 cycles
#endasm
}

static void _lcd_init_write(unsigned char data)
{
#asm
cbi __lcd_port,__lcd_rd ;RD=0
in r26,__lcd_direction
ori r26,0xf7 ;set as output
out __lcd_direction,r26
in r27,__lcd_port
andi r27,0xf
ld r26,y
#endasm
_lcd_write_nibble(); //RD=0, write MSN
#asm
sbi __lcd_port,__lcd_rd ;RD=1
#endasm
}

// initialize the LCD controller
unsigned char lcd_init(unsigned char lcd_columns)
{
#asm
cbi __lcd_port,__lcd_enable ;EN=0
cbi __lcd_port,__lcd_rs ;RS=0
#endasm
_lcd_maxx=lcd_columns;
_base_y[2]=lcd_columns+0x80;
_base_y[3]=lcd_columns+0xc0;
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x20);
_long_delay();
_lcd_write_data(0x2;
_long_delay();
_lcd_write_data(4);
_long_delay();
_lcd_write_data(0x85);
_long_delay();
#asm
in r26,__lcd_direction
andi r26,0xf ;set as input
out __lcd_direction,r26
sbi __lcd_port,__lcd_rd ;RD=1
#endasm
if (lcd_read_byte0()!=5) return 0;
_lcd_ready();
_lcd_write_data(6);
lcd_clear();
return 1;
}
Реклама:
eez вне форума  
Непрочитано 03.02.2009, 20:00   #2
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии

Сообщение от eez
Я делаю проект на МК ATmega8535. Никак не могу подключить к нему LCD (2x40) на базе KS0066U.
Вот так попробуйте - http://avr123.nm.ru/z5.htm

Вместо текста библы лучше проекты в архиве прицепите !
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 04.02.2009, 03:45   #3
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию

Резистор регулировки контрастностью подключен?
Vov123 вне форума  
Непрочитано 20.09.2011, 18:10   #4
Serrrgio
Прохожий
 
Аватар для Serrrgio
 
Регистрация: 20.09.2011
Сообщений: 5
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Serrrgio на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Я начал делать программу на МК ATmega16 и пытаюсь подключить к нему LCD (2x16) на базе KS0066U.
в качестве среды разработки использую CodeVisionAVR
к сожалению не могу воспользоваться стандартной библиотекой LCD.h
т.к. выводы использованы нестандартно.
схема из PROTEUS на рисунке текст программы ниже
Не могу понять почему несколько команд выполняется, а вывод на экран ничегошеньки не выводит.
Возможно у гуру есть ответ.
Цитата:

#include ‹mega16.h›
#include ‹delay.h›
#define ADC_VREF_TYPE 0xC0
interrupt [ADC_INT] void adc_isr(void)
{
unsigned int adc_data;
// Read the AD conversion result
adc_data=ADCW;
// Place your code here

}

// Declare your global variables here
void lcd_synhro(void);
void lcd_putchar(char c);
unsigned char lcd_gotoxy(unsigned char x,unsigned char y);
unsigned char lcd_init(void);
void main(void)
{
// Declare your local variables here
unsigned char j=0;

PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0xFF;
PORTC=0x00; DDRC=0x1F;
PORTD=0x00; DDRD=0xFF;

TCCR0=0x00; TCNT0=0x00; OCR0=0x00;
TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;
ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
MCUCR=0x00; MCUCSR=0x00;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;
ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x8F;

// LCD module initialization
lcd_init();
//lcd_gotoxy(0,0);

while (j‹0xFF)
{
lcd_putchar(j); // Попытка посмотреть таблицу символов экрана поэлементно
j++;
delay_ms(1000); //Задержка 1с
};
}
// Инициализация LCD контроллера согласно даташиту fdd1602e_ЖК3.pdf на стр.16
unsigned char lcd_init(void)
{
delay_ms(30);//Задержка 30мс
//--------------------------------------------------------------
//Устанавливаем команду Function Set значение 000011NFXX
//где N -бит количества линий F -бит признака включения экрана.
PORTD=0x00;
PORTB=0x38; //00111000
lcd_synhro();
//--------------------------------------------------------------
delay_us(50); //Задержка 50мкс
//--------------------------------------------------------------
//Устанавливаем команду Включение экрана 0000001DCB
//где D -бит включения экрана C -бит признака включения курсора B -бит признака мигания.
PORTD=0x00;
PORTB=0x0C;//00001100
lcd_synhro();
//--------------------------------------------------------------
delay_us(50); //Задержка 50мкс
//--------------------------------------------------------------
//Устанавливаем команду Очистка экрана 0000000001
PORTD=0x00;
PORTB=0x01;//00000001
lcd_synhro();
//--------------------------------------------------------------
delay_ms(2); //Задержка 2мс
//--------------------------------------------------------------
//Устанавливаем команду Entry Mode Set 0000001 I/D SH
//где I/D -бит направления сдвига курсора SH -бит признака сдвига
PORTD=0x00;
PORTB=0x06;//00000110
lcd_synhro();

return 1;
}
//--------------------------------------------------------------
unsigned char lcd_gotoxy(unsigned char x,unsigned char y) // Установка позиции курсора
{
unsigned int i;
for (i=0;i‹x+y*0x40;i++)
{
PORTD=0x00;
PORTB=0x14; //Выбираем направление сдвига курсора вправо, экран не двигаем
lcd_synhro();
};
return 1;
}
//--------------------------------------------------------------
void lcd_synhro(void) //Установка задержек и сихоимпульса для записи команды или данных в Экран
{
unsigned char lcd_out;
delay_us(1); //Задержка установления адреса более 50нс
PORTD|=(1‹‹5); //Установка бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
PORTD&=~(1‹‹5); //Сброс бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
//----------
DDRB = 0x00; //Устанавливаем порт B на прием данных
PORTD|=(1‹‹6); //Установка бита команды чтения данных
delay_us(1); //Ожидаем более 50 наносекунд
PORTD|=(1‹‹5); //Установка бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
lcd_out=PINB;
PORTD&=~(1‹‹5); //Сброс бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
while(lcd_out & (1 ‹‹ 7)) //Цикл ожидания готовности контроллера экрана (Ожидаем сброса флага BF)
{
PORTD|=(1‹‹5); //Установка бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
lcd_out=PINB;
PORTD&=~(1‹‹5); //Сброс бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
}
//--------
PORTD&=~(1‹‹6); //Сброс бита чтения данных
DDRB = 0xff; //Устанавливаем порт B на передачу
}
//--------------------------------------------------------------

//--------------------------------------------------------------
void lcd_putchar(char c) //Вывод символа cо сдвигом курсора
{
unsigned char lcd_out;
PORTD|=(1‹‹7); //Устанавливаем 7 бит (команда запись адреса позиции AC на экране)
PORTB=c; //Установка кода символа из таблицы символов CGROM экрана.
lcd_synhro; //
PORTD&=~(1‹‹7); //Сброс 7 бита (команды запись адреса позиции AC на экране)
delay_ms(4); //Ожидание вычисления контроллером нового адреса позиции АС
DDRB = 0x00; //Устанавливаем порт B на прием данных
PORTD|=(1‹‹6); //Установка бита команды чтения данных (здесь положения курсора)
PORTD|=(1‹‹5); //Установка бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
lcd_out=PINB;
PORTD&=~(1‹‹5); //Сброс бита стробирования/синхронизации Е
delay_us(1); //Ожидаем более 250 наносекунд
PORTD&=~(1‹‹6); //Сброс бита команды чтения данных (здесь положения курсора)
if (lcd_out›0x4F) //Если позиция курсора нижний правый угол экрана
{
lcd_gotoxy(0,0); //Перемещаемся в левый верхний угол
}
PORTD= 0x00;
lcd_synhro;
}
//--------------------------------------------------------------
void lcd_puts(char *str) // Запись строки str расположенной в SRAM to the LCD
{
char k;
while (k=*str++) lcd_putchar(k);
}
Миниатюры:
Нажмите на изображение для увеличения
Название: рис для форума.jpg
Просмотров: 425
Размер:	174.7 Кб
ID:	26221  
Serrrgio вне форума  
Непрочитано 20.09.2011, 18:20   #5
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Есть код для STM32. Работать будет и с AVR, если функции PIN_ON и PIN_OFF сами напишите.
Работает с 4-х проводным интерфейсом. И резисторы из схемы выкиньте.
Вложения:
Тип файла: rar LCD.rar (1.2 Кб, 190 просмотров)
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
Serrrgio (20.09.2011)
Непрочитано 20.09.2011, 19:16   #6
Serrrgio
Прохожий
 
Аватар для Serrrgio
 
Регистрация: 20.09.2011
Сообщений: 5
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Serrrgio на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Сообщение от Easyrider83 Посмотреть сообщение
Есть код для STM32.
К сожалению не знаком с STM...
Если Вам не сложно объясните на русском по порядку следующие обозначения в определениях
#define LCD_RS_PIN GPIO_Pin_13
#define LCD_E_PIN GPIO_Pin_2
#define LCD_RS_GPIO GPIOC
#define LCD_E_GPIO GPIOA
как я понял это значит к RS прицеплен 13 вывод 16битного порта С
а к Е присоединен 2 вывод Порта А... или я ошибаюсь?
как конкретно должны работать функции PIN_ON и PIN_OFF?
Заранее спасибо.

P.S. Резисторы выкинул (теперь они лишние, а до этого что-то вначале без них инициализация не происходила)
Serrrgio вне форума  
Непрочитано 20.09.2011, 19:20   #7
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Вы все правильно поняли. Этот код использует две внешние функции - управление пинами и паузы. Вам надо эти функции описать и подключить к данному коду.
Я бы вам с радостью помог, но у меня алергия на AVR. Посмотрите сами, какой регистр отвечает за вывод информации в порт и используйте его для управления ногами контроллера.
А дальше все очень просто:
lcd_print_string("Hello world!");
Easyrider83 вне форума  
Непрочитано 20.09.2011, 20:56   #8
Serrrgio
Прохожий
 
Аватар для Serrrgio
 
Регистрация: 20.09.2011
Сообщений: 5
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Serrrgio на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Думаю есть второй вариант перехода на 4 выводную систему...
может кто подскажет знающий ассемблер как переписать библиотеку к CodeVisionAVR чтобы нестандартно использовать ноги...

Для такого расположения ног
RS R/W E DB7 DB6 DB5 DB4
PВ0 PВ1 PВ2 PB7 PB6 PB5 PB4

Есть такой код
Цитата:
#asm
.equ __lcd_port=0x18
.equ __lcd_direction=__lcd_port-1
.equ __lcd_pin=__lcd_port-2
.equ __lcd_rs=0
.equ __lcd_rd=1
.equ __lcd_enable=2
.equ __lcd_busy_flag=7
#endasm
для определения 4 битной передачи по порту В.
Вопрос как переписать этот код чтобы подключение соответствовало
такому?
RS R/W E DB7 DB6 DB5 DB4
PD7 PD6 PD5 PB7 PB6 PB5 PB4
А конкретно чтобы
переменной __lcd_rs соответствовал 7 вывод порта D
, __lcd_rd - 6 вывод порта D
,а __lcd_enable - 5 вывод порта D

Я совсем новичок и мне непонятно как 0x12 соответствует порту D, а 0x18 порту B
ниже мое видение

#asm
.equ __lcd_port=0x12; порт D
.equ __lcd_temp=0x18 ;порт B
.equ __lcd_direction=__lcd_temp-1
.equ __lcd_pin=__lcd_temp-2
.equ __lcd_rs=0
.equ __lcd_rd=1
.equ __lcd_enable=2
.equ __lcd_busy_flag=7 ;вот здесь непонятно как указать, что это должен быть 7 вывод порта В а не порта D.
#endasm

Последний раз редактировалось Serrrgio; 20.09.2011 в 21:19.
Serrrgio вне форума  
Непрочитано 20.09.2011, 21:19   #9
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Какая разница на чем и подо что писать? Вам дали готовый рабочий код. Надо только процедуры работы с ногами переписать под ваш процессор. И все будет работать.
А вы хотите чей-то ассемблер ковырять. Да еще и мегабайтные коды на форум вываливаете. Как считаете, кто-нибудь будет их вообще читать?
Easyrider83 вне форума  
Непрочитано 20.09.2011, 21:52   #10
avp94
Почётный гражданин KAZUS.RU
 
Аватар для avp94
 
Регистрация: 26.01.2007
Сообщений: 3,123
Сказал спасибо: 61
Сказали Спасибо 1,153 раз(а) в 624 сообщении(ях)
avp94 на пути к лучшему
По умолчанию Re: Подключение LCD (KS0066U) к AVR микроконтроллерам серии mega

Сообщение от Easyrider83 Посмотреть сообщение
Какая разница на чем и подо что писать? Вам дали готовый рабочий код.
Правда под другую архитектуру, но это мелочи .
Цитата:
Надо только процедуры работы с ногами переписать под ваш процессор. И все будет работать.
Иными словами, перепишите все и тогда будет работать .
avp94 вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение к PIC LCD golt-andrej Микроконтроллеры, АЦП, память и т.д 5 07.08.2008 16:20
!!! Подключение LCD монитора !!! hubble Видеотехника 1 28.02.2007 10:46
LCD + Mega ShaxTep Микроконтроллеры, АЦП, память и т.д 5 16.12.2006 21:16
LCD Подключение питания Zemlyanov Микроконтроллеры, АЦП, память и т.д 13 02.12.2006 03:09


Часовой пояс GMT +4, время: 00:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot