Proteus: вопросы и ответы

Обсуждаем цифровые устройства...
Аватара пользователя
skeef
Открыл глаза
Сообщения: 56
Зарегистрирован: Пт июн 17, 2011 12:49:59

Re: Proteus: вопросы и ответы

Сообщение skeef »

Engineer_Keen писал(а):Дальше он там что-то читает из флеша и в итоге PD5 все-равно ставится в 1, я так понимаю это из-за того, что вы определили на управление индикатором ноги порта D (PCAT?), но при выводе не разделяете из маской. Наверняка если вы перепишите массив PCAT чтобы в нем неиспользованные биты были не 1, а 0, то осциллограмма изменится на: _|_|_|_|_|_|_ :)))

Пути компилятора ... :)
Я в ассемблере ноль, а с Си знаком (больше c PHP), поэтому стараюсь изучать вообще не оглядываясь в торону ассемблера.
Вот к чему приводит слепая вера в компиляторы :))
Выкладываю код на Си, чтоб вы не ломали голову :) Код писал сам - может у "этого" Си какая-то специфика? Вроде в литературе ничего такого не было ...

PS
уже выложил ... там включена задержка 0x14 - забыл убрать
Вложения
clock_v2.c
(3.74 КБ) 585 скачиваний
Processor not found! Software emulation ...
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

Я как раз наоборот пишу на ассемблере, но благодаря таким-вот постам немного понимаю и Си :)
Как я и думал:

Код: Выделить всё

unsigned char __flash cat[]={
    0b11111110,               
    0b11111101,
    0b11111011,
    0b11110111
    };

1) Поменяйте на

Код: Выделить всё

unsigned char __flash cat[]={
    0b00001110,               
    0b00001101,
    0b00001011,
    0b00000111
    };

2) перепишите PCAT= как я написал постом выше. И вам вернется ваш меандр в F/2 :wink:
Аватара пользователя
skeef
Открыл глаза
Сообщения: 56
Зарегистрирован: Пт июн 17, 2011 12:49:59

Re: Proteus: вопросы и ответы

Сообщение skeef »

Мдя ...
Импульс действительно перевернулся, однако применение маски ничего не меняет. Кстати, правильная маска 0xF.

Код: Выделить всё

interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
PORTD.5=~PORTD.5;
      PCAT = cat[ct] & 0x0F;
      PSEG = bufer[ct];
      ct++;
      if(ct>3) 
         ct = 0;
}

PS
Я переопределил PORTD.4 и PORTD.6 на вход (надо кнопки цеплять), но это ни на что не повлияло
Вложения
file.rar
(139.92 КБ) 243 скачивания
Processor not found! Software emulation ...
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

skeef писал(а):

Код: Выделить всё

      PCAT = cat[ct] & 0x0F;


Внимательно думаем что получается:
Читаем массив cat, логически умножаем (маскируем) на 0x0F (хотя по идее у него и так должны быть заданы старшие биты нулями), пишем в PCAT (=PORTD), результат - после завершения прерывания в PD5 всегда 0!
Я выше приводил код:

Код: Выделить всё

PCAT = (PORTD & 0x70)|cat[ct]

Читаем порт, логически умножаем на 0x70 (старшие 3 бита, в том числе наш PD5 - остаются неизменными, младшие обнуляются), логически складываем с cat (у него старшие =0=> не меняются, младшие соответствуют активному столбцу индикатора).
Есть разница?
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Доброго времени суток !

Вот такая непонятность образовалась: нашел модель дисплея от nokia 1100 (прилагается). Указано:
скопировать соответствующие файлы в папки Models и Library. Скопировал, запустил протеус, при старте проекта пишет, что не найден PCF8814.dll,хотя я все скопировал как написано...

В чем может быть загадка ?

PS: попробовал на двух версиях протеуса - 7.8 sp2 и 7.10. Протеус установлен в c:/proteus7
(без всяких Program files и проч.)
Вложения
Nokia LCDs - Proteus VSM Models.zip
Сама модель с примером проекта для протеуса.
(303.51 КБ) 930 скачиваний
С уважением,
Алексей.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Proteus: вопросы и ответы

Сообщение Soir »

Gordon Shumway писал(а):Указано:
скопировать соответствующие файлы в папки Models и Library. Скопировал, запустил протеус, при старте проекта пишет, что не найден PCF8814.dll,хотя я все скопировал как написано...

PCF8814.dll нужно поместить в папку MODELS или в папку с проектом...
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Soir писал(а):
Gordon Shumway писал(а):Указано:
скопировать соответствующие файлы в папки Models и Library. Скопировал, запустил протеус, при старте проекта пишет, что не найден PCF8814.dll,хотя я все скопировал как написано...

PCF8814.dll нужно поместить в папку MODELS или в папку с проектом...


Я его в папку Models скопировал, как написано в инструкции... Так же скопировал в папку с проектом. Не помогло.
С уважением,
Алексей.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Proteus: вопросы и ответы

Сообщение Soir »

Gordon Shumway писал(а):Я его в папку Models скопировал, как написано в инструкции... Так же скопировал в папку с проектом. Не помогло.

У меня работает и так и так... Вы не из архива проект запускаете? Может в пути к папке или в названии есть русские буквы или специальные символы...
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Soir писал(а):
Gordon Shumway писал(а):Я его в папку Models скопировал, как написано в инструкции... Так же скопировал в папку с проектом. Не помогло.

У меня работает и так и так... Вы не из архива проект запускаете? Может в пути к папке или в названии есть русские буквы или специальные символы...


Переложил файлы проекта и PCF8814.dll в папку d:\1100. То же самое...
С уважением,
Алексей.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Proteus: вопросы и ответы

Сообщение Soir »

Gordon Shumway писал(а):Переложил файлы проекта и PCF8814.dll в папку d:\1100. То же самое...

Попробуйте создать проект заново, с чистого листа.
Если Вы скопировали файлы yusLCDs.LIB и yusLCDs.IDX в папку LIBRARY, то у Вас при установке компонентов в проект в разделе Optoelectronics должен появиться NOKIA1100LCD. Установите его на схему. Файл PCF8814.dll в папку MODELS. Больше ничего не надо, это тест. Запустите проект.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Soir писал(а):
Gordon Shumway писал(а):Переложил файлы проекта и PCF8814.dll в папку d:\1100. То же самое...

Попробуйте создать проект заново, с чистого листа.
Если Вы скопировали файлы yusLCDs.LIB и yusLCDs.IDX в папку LIBRARY, то у Вас при установке компонентов в проект в разделе Optoelectronics должен появиться NOKIA1100LCD. Установите его на схему. Файл PCF8814.dll в папку MODELS. Больше ничего не надо, это тест. Запустите проект.


Что-то я ничего не понимаю... Не вышло.

Сейчас нашел модель для дисплея от нокии 3310 - скопировал точно так же и сразу заработала.
Вложения
3.jpg
(68.48 КБ) 685 скачиваний
2.jpg
(158.41 КБ) 548 скачиваний
1.jpg
(103.22 КБ) 709 скачиваний
С уважением,
Алексей.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Сейчас попробовал переставить протеус в папку, которую он сам по-умолчанию предлагает.
Потом скопировал в папки Library и Models файлы для дисплеев 1100 и 3310. 3310 сразу заработал, 1100 все равно пишет, что не нашел PCF8814.dll.

Где лыжи не едут ?... :shock: :oops: :cry:
С уважением,
Алексей.
Аватара пользователя
Moto_v3x
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

Re: Proteus: вопросы и ответы

Сообщение Moto_v3x »

Gordon Shumway
Попробуйте в свойствах модели дисплея в текстовом режиме перепрописать имя дллельки
Захват.jpg
(177.58 КБ) 840 скачиваний
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Moto_v3x писал(а):Gordon Shumway
Попробуйте в свойствах модели дисплея в текстовом режиме перепрописать имя дллельки


Скопировал имя этого файла в буфер и вставил в свойствах. Не помогло. У вас протеус какой версии ?
Вложения
4.jpg
(34.8 КБ) 372 скачивания
С уважением,
Алексей.
Аватара пользователя
Moto_v3x
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Ср мар 31, 2010 11:45:58
Откуда: Славянск

Re: Proteus: вопросы и ответы

Сообщение Moto_v3x »

Gordon Shumway писал(а):
Скопировал имя этого файла в буфер и вставил в свойствах. Не помогло. У вас протеус какой версии ?


Я тоже так делал, версия 7.8SP2, но это не важно модель старая, и сама длл в папке с проэктом.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Moto_v3x писал(а):
Gordon Shumway писал(а):
Скопировал имя этого файла в буфер и вставил в свойствах. Не помогло. У вас протеус какой версии ?


Я тоже так делал, версия 7.8SP2, но это не важно модель старая, и сама длл в папке с проэктом.


Я тоже положил ДЛЛ и в Models и в папку с проектом. И даже свой проект создавал, как советовали выше, только с одним дисплеем.
С уважением,
Алексей.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Proteus: вопросы и ответы

Сообщение Soir »

Gordon Shumway писал(а):И даже свой проект создавал, как советовали выше, только с одним дисплеем.

Может dll не под вашу операционную систему? У меня Windows7.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Soir писал(а):
Gordon Shumway писал(а):И даже свой проект создавал, как советовали выше, только с одним дисплеем.

Может dll не под вашу операционную систему? У меня Windows7.


А разве так может быть ?
У меня ХРюша sp3, не сборка.
С уважением,
Алексей.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Proteus: вопросы и ответы

Сообщение Soir »

Gordon Shumway писал(а):А разве так может быть ?
У меня ХРюша sp3, не сборка.

Теоретически да. Не все ж приложения, драйвера универсальные для всех ОС. На XP смогу проверить только в понедельник.
Может антивирус блокировать подозрительные dll.
Аватара пользователя
Gordon Shumway
Мучитель микросхем
Сообщения: 485
Зарегистрирован: Пн авг 20, 2007 21:35:45
Откуда: Мытищи, Московская область
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Gordon Shumway »

Soir писал(а):
Gordon Shumway писал(а):А разве так может быть ?
У меня ХРюша sp3, не сборка.

Теоретически да. Не все ж приложения, драйвера универсальные для всех ОС. На XP смогу проверить только в понедельник.
Может антивирус блокировать подозрительные dll.


Отключил каспера для проверки. Без эффекта. У меня семерки под рукой нет, буду признателен, если проверите на ХРюше и напишите о результате.

У меня нетбук с 1.66 мгц интел с гигом озу.
С уважением,
Алексей.
Ответить

Вернуться в «Цифровая техника»