vanish |
Дата: Вс, 01.03.2015, 14:29 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
55
Замечания:
±
На сайте с 08.04.2010
Статус:
Offline
|
Всем привет. Собрал термометр из книги Медведева и Хилинского (замечательная книга,авторам спасибо). В книге термометр на 16f628 и 18b20, ЖКИ1602. Под рукой не оказалось нужного проца. Собрал на 16f72. Изменил пару строк в программе, повесил внешний кварц на 20мгц и МСLR. В принципе схема заработала, экран отображает температуру, а вместо первой строки либо вопросительные знаки либо темные прямоугольнички . А та же схема с 16f628 работает корректно. Кто что может посоветовать? Спасибо.
|
|
|
|
terrarus |
Дата: Вт, 03.03.2015, 12:07 | Сообщение # 6 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
"...тем не менее конфигурацию выставить надо! "/ Если вы пишете на Протоне то никакие другие телодвижения по поводу конфигурации НЕ НУЖНЫ. Достаточно в начале листинга программы указать при помощи оператора Device Синтаксис: Device Number Эта команда сообщает компилятору, какой PIC-микроконтроллер должен использоваться в программе. Number - номер PIC-микроконтроллера, который может быть с 12-разрядным, 14-разрядным или 16-разрядным ядром. Примеры Device 16F877 ' Произвести программный код для 16F877 или Device 16F84 ' Произвести программный код для 16F84 или Device 12С508 ' Произвести программный код для 12C508 или Device 18F452 ' Произвести программный код для 18F452 Поддерживаемые устройства: Команда может работать со следующими PIC-микроконтроллерами: c 12-разрядным ядром: 12C508, 12C509, 12C508A, 12C509A, 12CE518, 12CE519, 16C54, 16C54A, 16C54B,
16C55, 16C55A, 16C56, 16C56A, 16CR56, 16C57, 16C57C, 16CR57A, 16CR57B, 16C58,16C58A, 16CR58A, 16CR58B, 16CR58C, RF509AF, RF509AG.с 14-разрядным ядром:12C671, 12C672, 12CE673, 12CE674, 16C61, 16C62, 16C62A, 16C62B, 16C63, 16C63A, 16C64, 16C64A, 16C65, 16C65A, 16C65B, 16C66, 16C67, 16C71, 16C71A, 16C72, 16C72A, 16C73, 16C73A, 16C73B, 16C73C, 16C74, 16C74A, 16C76, 16C77, 16C554, 16C554A, 16C558, 16C558A, 16C641, 16C642, 16C661, 16C662, 16C710, 16C711, 16C712, 16C715, 16C716, 16C745, 16C765, 16C770, 16C771.с 14-разрядным ядром и FLASH памятью программ:12F675, 12F629, 16F630, 16C84, 16CR84, 16F72, 16F73, 16F74, 16F76, 16F77,16F83, 16F84, 16F84A, 16F627, 16F628, 16F627A, 16F628A, 16F648A, 16F676, 16F684, 16F688, 16F737, 16F747, 16F767, 16F777, 16F818, 16F819, 16F870, 16F871, 16F872, 16F873, 16F873A, 16F874, 16F874A, 16F876, 16F876A, 16F877, 16F877A.c 16-разрядным ядром:18C242, 18C252, 18C442, 18C452, 18C658, 18C858.с 16-разрядным ядром и FLASH памятью программ:18F1220, 18F1320, 18F2220, 18F2320, 18F2439, 18F2539, 18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 18F4220, 18F4320, 18F4439, 18F4539, 18F4525, 18F6620, 18F6720, 18F8620, 18F8720.Команда Device должна быть первой командой в тексте программы.Если Вы не уверены, поддерживается ли выбранный Вами микроконтроллер компилятором PROTON+IDE, то обратите внимание на подсветку текста в редакторе. Если текст подсвечен полужирным синим цветом, то это значит, что компилятор поддерживает данный микроконтроллер.Если в программе BASIC команда Device не использовалась, то компилятор по умолчанию будет генерировать код для некогда популярного микроконтроллера PIC16F84 .
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал
terrarus - Вт, 03.03.2015, 12:10
|
|
|
|
доцент2 |
Дата: Вт, 03.03.2015, 18:42 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Цитата terrarus ( ![Ссылка на цитируемый текст](http://s8.ucoz.net/img/fr/ic/12/lastpost.gif) ) Если вы пишете на Протоне то никакие другие телодвижения по поводу конфигурации НЕ НУЖНЫ.Достаточно в начале листинга программы указать при помощи оператора с Device 16F877 все понятно. в представленной программе не указана конфигурация типа: Config MCLRE_OFF, INTRC_OSC_NOCLKOUT , WDT_OFF , PWRTE_ON , BODEN_OFF , CP_OFF в протеусе это иногда проскакивает, но в железе не всегда! например MCLRE_OFF или MCLRE_ON - разница то есть.
Сообщение отредактировал
доцент2 - Вт, 03.03.2015, 18:43
|
|
|
|
vanish |
Дата: Вт, 03.03.2015, 19:06 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Пытаюсь разобраться
Сообщений:
55
Замечания:
±
На сайте с 08.04.2010
Статус:
Offline
|
Цитата доцент2 ( ![Ссылка на цитируемый текст](http://s8.ucoz.net/img/fr/ic/12/lastpost.gif) ) с Device 16F877 все понятно. в представленной программе не указана конфигурация типа: Config MCLRE_OFF, INTRC_OSC_NOCLKOUT , WDT_OFF , PWRTE_ON , BODEN_OFF , CP_OFF в протеусе это иногда проскакивает, но в железе не всегда! например MCLRE_OFF или MCLRE_ON - разница то есть. Уважаемый доцент2, у меня программатор автопрог 10 версии. Конфигурацию я задаю непосредственно перед прошивкой процессора. По даташиту смотрю биты конфигурации , вписываю и прошиваю. Проблема не в этом. Меня смутило, что задав в DEVICE 16f72, прога работала некорректно, а задал 16с72 и прога полноценно заработала.
Сообщение отредактировал
vanish - Вт, 03.03.2015, 19:08
|
|
|
|
xvovanx |
Дата: Вт, 03.03.2015, 23:26 | Сообщение # 9 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
327
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Цитата vanish ( ![Ссылка на цитируемый текст](http://s8.ucoz.net/img/fr/ic/12/lastpost.gif) ) задав в DEVICE 16f72, прога работала некорректно, а задал 16с72 и прога полноценно заработала. Выбрав одноразовый чип "С" вместо "F", получаем чуть другую урезанную конфигурацию, типа CP_On уже включенную защиту чипа по умолчанию.
Цитата terrarus ( ![Ссылка на цитируемый текст](http://s8.ucoz.net/img/fr/ic/12/lastpost.gif) ) Если вы пишете на Протоне то никакие другие телодвижения по поводу конфигурации НЕ НУЖНЫ Все-таки конфигурацию лучше прописывать (есть полезный плагин для Протона), а то компилятор ругается желтым на некоторые кристалы (типа 18F8722) даже если их и поддерживает.
Сообщение отредактировал
xvovanx - Вт, 03.03.2015, 23:34
|
|
|
|