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

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

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

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

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

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


 
Опции темы
Непрочитано 07.09.2012, 14:34  
olegdemkiv111
Частый гость
 
Регистрация: 27.06.2012
Сообщений: 29
Сказал спасибо: 6
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
olegdemkiv111 на пути к лучшему
По умолчанию Вывод собственных символов на LCD

всем привет.
Читаю книгу - Лебедев М.Б. CodeVisionAVR. Пособие для начинающих, и там есть примеры программ для LCD ...
я делаю все как пишет но чего-то вибиваэ ошибку - missing "(" ... не могу догадаться почему ... подскажите ..

LCD - winstar W2002A

текст программы...

____________________________________________


/************************************************** ***
This program was produced by the
CodeWizardAVR V2.05.0 Evaluation
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 10.09.2012
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 1,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
************************************************** ***/

#include ‹mega16.h›

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include ‹alcd.h›

typedef unsigned char pite;

flash byte char0[8]=
{
0b0000000,
0b0001111,
0b0000011,
0b0000101,
0b0001001,
0b0010000,
0b0100000,
0b1000000
};


void define_char(byte flash *pc, bite char_code)
{
byte i,a;
a=(char_code‹‹3)|0x40;
for(i=0; i‹8; i++) lcd_write_byte(a++,*pc++);
}


// Declare your global variables here

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

// Input/Output Ports initialization
// Port A 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
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 C 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
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
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 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: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

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

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

// USART initialization
// USART disabled
UCSRB=0x00;

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

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 20
lcd_init(20);

define_char(char0,0);
lcd_gotoxy(0,0);
lcd_putsf("User defined\nchar 0:");
lcd_putchar(0);


while (1);
}
Реклама:
olegdemkiv111 вне форума  
Сказали "Спасибо" olegdemkiv111
warel (29.06.2019)
Непрочитано 07.09.2012, 16:17  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

Сообщение от olegdemkiv111 Посмотреть сообщение
void define_char(byte flash *pc, bite char_code)
Замените bite на byte
Yurkin2007 вне форума  
Сказали "Спасибо" Yurkin2007
warel (29.06.2019)
Непрочитано 07.09.2012, 16:25  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

Сообщение от Yurkin2007 Посмотреть сообщение
Замените bite на byte
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 07.09.2012, 17:08  
olegdemkiv111
Частый гость
 
Регистрация: 27.06.2012
Сообщений: 29
Сказал спасибо: 6
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
olegdemkiv111 на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

заменил)
все равно, выбивает в строке - " flash byte char0[8]= " Error missing '('
olegdemkiv111 вне форума  
Сказали "Спасибо" olegdemkiv111
warel (29.06.2019)
Непрочитано 07.09.2012, 17:16  
Yurkin2007
Заблокирован
 
Регистрация: 27.03.2007
Сообщений: 1,328
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
Yurkin2007 на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

Сообщение от olegdemkiv111 Посмотреть сообщение
typedef unsigned char pite;
А это что за pite такой ?
Yurkin2007 вне форума  
Сказали "Спасибо" Yurkin2007
warel (29.06.2019)
Непрочитано 07.09.2012, 17:19  
olegdemkiv111
Частый гость
 
Регистрация: 27.06.2012
Сообщений: 29
Сказал спасибо: 6
Сказали Спасибо 20 раз(а) в 20 сообщении(ях)
olegdemkiv111 на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

спасибо .. переправил ... все работает ..)
тема закрыта)
olegdemkiv111 вне форума  
Сказали "Спасибо" olegdemkiv111
warel (29.06.2019)
Непрочитано 07.09.2012, 18:24  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

Сообщение от olegdemkiv111 Посмотреть сообщение
// Input/Output Ports initialization
// Port A 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
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 C 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
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
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 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: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// USART initialization
// USART disabled
UCSRB=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
ТЕМА НЕ ЗАКРЫТА!!!
Демкив! Скажи на милость, нафига ты народ вот ЭТИМ грузишь?!!
Ты хоть понимаешь, ЧТО ТАМ НАПИСАНО?
Ну сколько можно свои же глюки маскировать пустозвонством?
Или все это тебе глаз радует? Типа, вона скока я понаписывал?
Ты не пробовал все, что я сейчас скопировал из твоего поста (да простят меня модераторы всех времен и народов!) ты не пробовал ВСЕ ЭТО УДАЛИТЬ ИЗ ПРОГРАММЫ? ЧТО ИЗМЕНИЛОСЬ?
Попробуй! Будешь изумлен до невозможности...
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Эти 2 пользователя(ей) сказали Спасибо ut1wpr за это сообщение:
dosikus (07.09.2012), warel (29.06.2019)
Непрочитано 07.09.2012, 19:07  
Алекс Василич
Прописка
 
Аватар для Алекс Василич
 
Регистрация: 14.06.2012
Сообщений: 263
Сказал спасибо: 2
Сказали Спасибо 129 раз(а) в 103 сообщении(ях)
Алекс Василич на пути к лучшему
По умолчанию Re: Вивод собственных символов на LCD

Ндаааа, многа букав, ниасилил Респект тем, хто отважился прочитать поток bite-ов.
Алекс Василич вне форума  
Сказали "Спасибо" Алекс Василич
warel (29.06.2019)
Непрочитано 07.09.2012, 22:09  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Вывод собственных символов на LCD

Сообщение от ut1wpr Посмотреть сообщение
Ну сколько можно свои же глюки маскировать пустозвонством?
Это "изабилиэ" не его - это тов. "Automatic Program Generator" накатал!
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Сказали "Спасибо" tempora
warel (29.06.2019)
Непрочитано 08.09.2012, 09:25  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Вывод собственных символов на LCD

Сообщение от tempora Посмотреть сообщение
Это "изабилиэ" не его - это тов. "Automatic Program Generator" накатал!
А то я с этими визардами незнаком.. Но нам ведь от этого не легШе?!
Пускай он, а не мы лопатит свои тексты и удаляет из них хлам, мусор и бедлам. Ему же должно быть легче, когда текст проги чистенький и понятненький. Или там все на таком уровне, когда пофигу?

Интересно, а он все это читает?

Алё, на палубе! Мусьё Дёмкив! Постарайтесь далее приводить к такому виду. И вам спрашивать и нам отвечать будет и легче и быстрее.

Код:
#include ‹mega16.h›

// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x1B ;PORTA
#endasm
#include ‹alcd.h›

//typedef unsigned char pite;
typedef unsigned char byte;

flash byte char0[8]=
{
0b0000000,
0b0001111,
0b0000011,
0b0000101,
0b0001001,
0b0010000,
0b0100000,
0b1000000
};

//void define_char(byte flash *pc, bite char_code)
void define_char(byte flash *pc, byte char_code)
{
byte i,a;
a=(char_code‹‹3)|0x40;
for(i=0; i‹8; i++) lcd_write_byte(a++,*pc++);
}

void main(void)
{
lcd_init(20);

define_char(char0,0);
lcd_gotoxy(0,0);
lcd_putsf("User defined\nchar 0:");
lcd_putchar(0);

while (1); 
}
И еще. У меня сомнения (не знаю я этой библиотеки, и знать не хочу), но фрагмент
Код:
lcd_putsf("User defined\nchar 0:");
lcd_putchar(0);
выглядит криво.
В состав строки вывода добавлен символ перевода строки. Может, голимый драйвер туда сам долепит возврат каретки, ХЗ. И человек, пользующийся этой библой укрепится в мнении, что по жизни всегда достаточно \n. А это не соответствует истине.
__________________
С уважением,
Vic / ut1wpr

Последний раз редактировалось ut1wpr; 08.09.2012 в 09:45.
ut1wpr вне форума  
Сказали "Спасибо" ut1wpr
warel (29.06.2019)
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод на LCD sergx1300 Микроконтроллеры, АЦП, память и т.д 16 17.11.2010 00:34
Не отображается половина символов на LCD eez Микроконтроллеры, АЦП, память и т.д 5 21.03.2009 02:01
Вывод переменной на LCD DDimon Микроконтроллеры, АЦП, память и т.д 9 12.01.2009 22:36
Вывод русского языка на LCD. uhbwtyrj1987 Микроконтроллеры, АЦП, память и т.д 24 12.06.2008 19:55
LCD DEM16216 инвертный вывод символов ajborman Микроконтроллеры, АЦП, память и т.д 8 02.06.2007 00:00


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


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