В протеусе крутится, пока вроде без глюков. Вот только на дисплее вместо русских букв - кракозяблы какие-то полуяпонские . Это так и будет в железе или это косяк протеуса? (7.5 SP3).
Для корректного отображения кириллицы необходимо заменить файл библиотеки LCDALPHA.DLL в папке MODELS. Вот сюда
C:\Program Files\Labcenter Electronics\Proteus 7 Professional\MODELS
подложить этот файл (см прикрепленный файл)
(разумеется его следует распокавать)
Это Да!!!! мы идеи и ТЗ, она реализацию и огромное уважение радиокотов.... Ее идея с бегущей строкой вообще супер... так можно много чего выводить на дисплей не заморачиваясь с количеством символов в строке.
При запуске введен пропуск инициализации датчиков
(рисуется фраза "анализ устройств")
добавлены функции регулировки:
- громкости
- баланса
- тембра ВЧ
- тембра НЧ
- режим моно/стерео
+ функции ввода
- часов
- минут
- числа
- месяца
- года
Тестим господа, желательно в реальном железе
см вложенную прошивку от 19 нября
Вложения:
Комментарий к файлу: прошивка от 19 ноября FM_04(19nov).rar [5.63 KiB]
Скачиваний: 757
Тестить в железе буду в субботу. о результатах отпишусь. в будни после работы нет никаких сил...
на что следует обратить внимание:
- посмотреть - не "залипает" ли в режиме бегущей строки;
- поцмыкать кнопками переключение режимов
- поцмыкать регулировки внутри режимов
(цмыкать быстро и медленно, посмотреть как отыгрывает )
Какой из них поставить лучше? И слово конфигурации, если можно.
И платы в SL5 не плохо бы... А RDS - обязательно!!! Если не хватит памяти можно дополнительную поставить, тем более I2C интерфейс уже используется для DS1307. На него же и повесить 24С64, например...
P.S.: Тут кто-то про энкодеры спрашивал. У меня есть их. И довольно много. Есть без кнопки, есть с кнопкой. Все из серии PEC16.
Могу выслать, только пересылка за ваш счет. Подробности - в личку или на майл.
_________________ Цапу крутить надо!!! Ку или не ку?
Какой из них поставить лучше? И слово конфигурации, если можно.
Лучше взять 876 - не знаю насколько он дороже будет.
Почему лучше? На сегодня проект на 873 занял довольно много
объема памяти: память программ - 83%, оперативная 74%.
Много отъедается анимацией и переводом цифровых значений
в словесные (дни недели, месяца). А еще не нарисованы
обработчики ежедневных будильников и прочая связанная лабуда
(ИК-приемник, энкодеры, LM7001, mute, stby).
PIC16F876 даст вздохнуть полной грудью, т.к. сейчас прикладывается
масса усилий по оптимизации кода и алгоритмов.
Слово конфигурации:
__CONFIG (XT & WDTDIS & PWRTEN & BOREN & LVPDIS
& DUNPROT & WRTEN & DEBUGEN & UNPROTECT);
XT обычный резонатор
WDTDIS отключен сторожевой таймер
PWRTEN включен таймер включения питания
BOREN включен сброс по снижению питания
LVPDIS отключено низковольтное программирование
DUNPROT отключена защита EEPROM (ПЗУ)
WRTEN разрешена запись во флеш
DEBUGEN разрешена отладка
UNPROTECT защита памяти программ отключена
как минимум надо выставить
XT & WDTDIS & LVPDIS ... остальное менее актуально
По платам.
Они хоть и не сделаны, но у меня будут
делаться по этим дизайнам.
см вложение
По поводу внешней памяти. Всё прекрасно, если использовать
как буфер накопления или сохранения. Какими средствами
написать для неё массив рисуемых на экране слов - понятия
не имею. Это я к тому, что нужен будет дамп, который нужно
будет прошивать в эту микросхему памяти.
В итоге получается как-то сложно. Будет жесткая привязка
к памяти и без внешней памяти работать не будет.
Вложения:
Комментарий к файлу: платы, в файле несколько закладок, рисовано в SL4 и цвета трассировок взяты из него FM_4 - платы.rar [60.26 KiB]
Скачиваний: 1003
Согласен, дамп как начальная прошивка, будет нужен. Без него - никак. Хотя, если использовать 16F876, можно и Bootloader написать, который будет грузить этот дамп в 24С64, а потом постоянно работать с ним, а не с EEPROM МК. Хотя, Х.З.?
А разве доставать данные с внешней памяти - не одно и то же, что с внутренней EEPROM? К тому же, высокая сохранность данных во внутреннем EEPROM MK (по моим личным наблюдениям), подвергается большому сомнению. С внешней памятью такое происходит гораздо реже (тоже по личному опыту). Да и что-то поправить в текстах будет проще,чем перепрошивать МК. Но это, конечно, ИМХО! Может я и не прав, но думаю, что так будет надежнее.
I2C аппаратный используется или софтовый? Судя по даташиту, аппаратный там есть (по крайней мере в 16F876, точно):
• Synchronous Serial Port (SSP) with SPI (Master Mode) and I2C (Master/Slave) - 14, 15 нога.
_________________ Цапу крутить надо!!! Ку или не ку?
1) практически дамп в виде массива словаря слов можно будет
единожды залить в микросхему внешней памяти, специально для
этого написав программу для МК.
2) можно проанализировать этот массив путем чтения микросхемы
внешней памяти в оболочке программатора и выявить как это
можно сделать вручную (добавить или отредактировать).
Оба варианта мне не в кайф, т.к. нет необходимости. Пока нет.
Далее. Сомнения у меня по поводу реализации Bootloader на 876.
Делать это для однократной записи словаря слов - нерационально.
Софт на стороне ПК кто будет писать? А загрузочную область на
стороне МК? Мне это нужно... - нет - не нужно.
Открою вам маленькую тайну. Словарь слов пишется не в EEPROM,
а в память программы (не путать с оперативной памятью).
То, что написано в тексте программы - "не вырубишь топором".
Что касается надежности EEPROM. Существуют алгоритмы
дублирования и перепроверки записанного и прочтенного.
И для ряда важных параметров это можно реализовать. Потом.
Возможно через EEPROM и удобно вручную редактировать,
но с т.зр. программы это не совсем удобно в плане скорости
выполнения. Экономно экономится экономно сэкономленное
... память, программный код, частота вызова функций...
а для чего - для того, чтобы красиво работали энкодеры и ИК ДУ.
I2C аппаратный используется или софтовый? Судя по даташиту, аппаратный там есть (по крайней мере в 16F876, точно): • Synchronous Serial Port (SSP) with SPI (Master Mode) and I2C (Master/Slave) - 14, 15 нога.
Вопрос то к чему? У меня ай-ту-си на 11 и 12 ногах. Можно
предположить, что софтовый. И в проекте протеуса можно
наблюдать его работу. Строго говоря аппаратный I2C сделан
не по людски; нужно много аналогичных телодвижений
делать что и в софтовом I2C, а это не есть гуд.
Ну а прелести софтового очевидны - почти любые ноги
и на любых портах, дата в одном порту, синхронизация в другом.
Ну, кагбэ, основной статьей считается вот эта: http://radiokot.ru/konkurs/05/ Отсюда и пляшем. Модуль приемник-синтезатор остается без изменений. А потом начинаются "навороты".
To Настя: Извиняюсь по поводу I2C, сразу не обратил внимания. А по поводу памяти, конечно, у каждого свои "тараканы". Вы на данный момент свои приоритеты расставили, все понятно. Возможно, в будущем, и придется-таки память добавлять. И еще, огромная просьба к вам: учесть пожелания по поводу RDS!
Да, и еще один момент... Если нет DS1307, можно использовать PCF8583 в качестве RTC? Там тоже I2C-шный интерфейс.
_________________ Цапу крутить надо!!! Ку или не ку?
RDS в ближайшие планы не входит. Неизвестно от чего плясать.
Есть несколько статей-конструкций с RDS, но без исходников и
описаний. Ищите, если найдёте - давайте, будем разбираться.
Что касается внешних железок - у меня сейчас "кагбэ" нет
ни термометров, ни ЧРВ . Последние сутки были посвящены
написанию алгоритма автоопределения и работы пультов разных
систем в одной программе, в частности протоколов RC5, NEC, Samsung,
Panasonic.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения