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

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

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

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

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

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

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

 
Опции темы
Непрочитано 17.09.2007, 17:27  
Tessem
Прохожий
 
Регистрация: 10.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Tessem на пути к лучшему
По умолчанию Проблемы с ЖК в VmLab

Я студент,и тренируюсь в программировании микроконтроллеров,чтоб в будущем быть специалистом в этой области.
В качестве пособия я использовал серию статей С.Рюмика в журнале РА 1-7,2005.И решил по его указаниям в ступени 6(журнал Радиоаматор №6,2005) попробовать симуляцию в VmLab вывод простой фрази ЖК дисплей.Я прокомпилировал программу в WinAVR.Вставил за указанием автора в VmLab
X1 LCD(16 2 250k) PC0 PC1 PC2 PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0.
Но при попытке билда,получаю ошибки:
Цитата:
* display.c, line 71: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LCD'
* display.c, line 71: 12: error: invalid suffix "k" on integer constant.
Я пробовал через меню VmLab Components-LCD module.Шаблон описания ЖК получается такой же.
Текст программы
Код:
#include "io.h"
#define RS PC0
#define EN PC2
#define TIME 2

void pause(unsigned int a)
{
	unsigned int cn;
	for (cn=a; cn›0 ; cn--);
}

void lcd_com (unsigned char p)
{
	PORTC&=~_BV(RS);
	PORTC |=_BV(RS);
	PORTD=p;
	pause(TIME);
	PORTC&=~_BV(EN);
	pause(5+TIME);
}

void lcd_dat (unsigned char p)
{
	PORTC|=_BV(RS) | _BV(EN);
	PORTD=p;
	pause(TIME);
	PORTC&=~_BV(EN);
	pause(5+TIME);
}

void lcd_init (void)
{
	lcd_com(0x08);
	lcd_com(0x38); pause(TIME+1000);
	lcd_com(0x38);pause(TIME*20);
	lcd_com(0x38);
	lcd_com(0x38);
	lcd_com(0x01);pause(TIME+1000);
	lcd_com(0x06);
	lcd_com(0x0D);
}
int main(void)
{
	PORTB=DDRD=0xFF;
	PORTC=0xF8;
	DDRC=0x07;
	lcd_init();
	lcd_dat('H');
	lcd_dat('e');
	lcd_dat('l');
	lcd_dat('l');
	lcd_dat('o ');
	lcd_dat('');
	lcd_dat('d');
	lcd_dat('u');
	lcd_dat('d ');
	lcd_dat('e');
}
Возможно причина очевидна,извините,у меня пока еще недостаточно опыта работы.
Реклама:
__________________
Человека создает его сопротивление окружающей среде.
Tessem вне форума  
Непрочитано 17.09.2007, 18:40  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Для начала неплохо бы выложить проект...
dimonbest вне форума  
Непрочитано 17.09.2007, 20:58  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Проблемы с ЖК в VmLab

Сообщение от Tessem
Я студент,и тренируюсь в программировании микроконтроллеров,чтоб в будущем быть специалистом в этой области.
В качестве пособия я использовал серию статей С.Рюмика в журнале РА 1-7,2005.И решил по его указаниям в ступени 6(журнал Радиоаматор №6,2005) попробовать симуляцию в VmLab вывод простой фрази ЖК дисплей.Я прокомпилировал программу в WinAVR.Вставил за указанием автора в VmLab
X1 LCD(16 2 250k) PC0 PC1 PC2 PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0.
Но при попытке билда,получаю ошибки:
Цитата:
* display.c, line 71: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LCD'
* display.c, line 71: 12: error: invalid suffix "k" on integer constant.
Я пробовал через меню VmLab Components-LCD module.Шаблон описания ЖК получается такой же.
Непонятно, Вы эту конструкцию вставляете в текст программы? Если так и есть, то ошибки правильные - ну откуда бедному GCC знать что такое X1 LCD... Я VmLab не использую, но предполагаю, что эту конструкцию нужно вставлять в файл проекта или конфигурационный файл, но никак не в исходный текст.
kison вне форума  
Непрочитано 17.09.2007, 23:38  
Tessem
Прохожий
 
Регистрация: 10.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Tessem на пути к лучшему
По умолчанию

Загружаю все файлы проэкта в архив.
Насколько я знаю конфигурацию элементов вставляют в VmLab в конце программы.Компилятор WinAVR ошибок не обнаруживает,а эта строка суто для проэкта VmLab.

Прикрепленный файл: 7348995.rar
__________________
Человека создает его сопротивление окружающей среде.
Tessem вне форума  
Непрочитано 17.09.2007, 23:55  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Строку
Код:
X1 LCD(16 2 250k) PC0 PC1 PC2 PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0
надо писать не в исходнике, а в файле проекта:

-- Прилагается рисунок: --

dimonbest вне форума  
Непрочитано 03.10.2007, 20:30  
RomanRom
Прохожий
 
Регистрация: 03.10.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
RomanRom на пути к лучшему
По умолчанию

Если тема еще актуальна, то небольшая подсказка. Надо скачать готовые файлы программ на Си и проекта VMLab в одном архиве Радiоаматора
http://www.ra-publish.com.ua/programs/avr6.zip
При запуске VMLab следует использовать одну из старых версий типа WinAVR20060421, поскольку с новым компилятором WinAVR20070525 задержки времени не так оптимизируются. Hello, word показывает в VMLab без проблем, проверено.
RomanRom вне форума  
Непрочитано 08.10.2007, 16:11  
Tessem
Прохожий
 
Регистрация: 10.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Tessem на пути к лучшему
По умолчанию

Спасибо,попробую.Hello выводило.Но когда я решил усовершенствовать программу таким образом,что на при нажатии кнопки на порте выводится фраза с ее номером,то получил непонятніе результаты.Какую я бы не ставил кнопку latched,mono и т.д. PIND остается 1 после нажатия и отпускания кнопки.
__________________
Человека создает его сопротивление окружающей среде.
Tessem вне форума  
Непрочитано 08.10.2007, 16:46  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от Tessem
Какую я бы не ставил кнопку latched,mono и т.д. PIND остается 1 после нажатия и отпускания кнопки.
А что на ножке в осциллографе ?

Пример с кнопкам в VMLAB на стр. 3 есть о прерываниях в AVR - avr123.nm.ru/03.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 08.10.2007, 17:28  
Tessem
Прохожий
 
Регистрация: 10.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Tessem на пути к лучшему
По умолчанию

Я кажется понимаю в чем дело,но сейчас при мне нет vmlab.я для простоты кнопку соединял напрямую к порту и питанию,без резистора.Надо будет проверить способ у Вас в программе.
__________________
Человека создает его сопротивление окружающей среде.
Tessem вне форума  
Непрочитано 08.10.2007, 17:35  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от Tessem
для простоты кнопку соединял напрямую к порту и питанию,без резистора.
На стр 2 курса http://avr123.nm.ru
Я советую повозможности подключаться к ножкам через резисторы 200 - 300 Ом. Это снизит вероятность их повреждения из-за ошибок.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VMLAB: симуляция АЦП VadimL Микроконтроллеры, АЦП, память и т.д 5 12.02.2009 22:14
Работа в VMLAB. sas12 Proteus, KiCAD и другие ECAD 5 25.09.2008 19:28
VMlab vs Proteus Myp_from_roboforum Proteus, KiCAD и другие ECAD 5 01.03.2007 11:47
вопрос по VMLAB dimonbest Proteus, KiCAD и другие ECAD 3 07.10.2006 20:59
mega8535... vmlab dret Микроконтроллеры, АЦП, память и т.д 1 28.03.2005 21:29


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


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