PIC18F84A - помогите подправить ассемблерный файл

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Lavr12
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт апр 14, 2011 16:28:14
Откуда: Москва

PIC18F84A - помогите подправить ассемблерный файл

Сообщение Lavr12 »

Добрый день!
Прошу помочь программистов - знатоков PIC и Ассемблера.
Собрал схему "Запоминающий музыкальный звонок на PIC16F84" (РАДИО_2000_11_22). Всё работает прекрасно за исключением того, что не всегда включается при первом старте (включении питания). То есть, на сколько я могу понимать, не срабатывает функция сброса МК по питанию.
Авторская программа (файл ASM прилагается) рассчитан на PIC16F84, а у меня стоит более поздний вариант - PIC16F84A. Может быть, из-за этого и проявляется данная проблемка?..
Также в одной из книг про PIC16 прочитал: "...в ранее выпускаемых микроконтроллерах PWRT включён, когда бит PWRTE в слове конфигурации равнялся "1" (в настоящее время выпускаются микроконтроллеры, в которых работа PWRT разрешена, когда PWRTE=0)". Возможно, ошибка здесь?
Попытался сам найти что-то подобное (PWRTE=0) в тексте программы, но не смог (чайник в квадрате).
Также - не нужно ли в программу добавить функцию "сброс по включению питания" (POR)?
Может, кто-нибудь взглянет и поправит файл для меня?
Заранее благодарю!
Вложения
RING.ASM
Программа (файл ASM)
(14.52 КБ) 522 скачивания
Схема.jpg
Принципиальная схема звонка
(31.04 КБ) 448 скачиваний
Реклама
Аватара пользователя
leonid62
Сверлит текстолит когтями
Сообщения: 1274
Зарегистрирован: Чт ноя 18, 2010 12:59:49
Откуда: Мурманск

Re: PIC18F84A - помогите подправить ассемблерный файл

Сообщение leonid62 »

[quote="Lavr12"]
Также в одной из книг про PIC16 прочитал: "...в ранее выпускаемых микроконтроллерах PWRT включён, когда бит PWRTE в слове конфигурации равнялся "1" (в настоящее время выпускаются микроконтроллеры, в которых работа PWRT разрешена, когда PWRTE=0)". Возможно, ошибка здесь?
Попробуй с отключеным (PWRTE=0). Ещё не мешало поставить керамику на 0.1мкф. между ножки "14" и "5" микроконтроллера.
Вложения
Ring с исправлением.asm
(14.52 КБ) 492 скачивания
Последний раз редактировалось leonid62 Вс май 15, 2011 10:49:30, всего редактировалось 1 раз.
Реклама
Аватара пользователя
abc
Друг Кота
Сообщения: 3687
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Re

Сообщение abc »

Можно на 4 ногу повесить конденсатор на 0,1-1мкф. Тогда сброс будет еще и аппаратным.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Lavr12
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт апр 14, 2011 16:28:14
Откуда: Москва

Re: PIC18F84A - помогите подправить ассемблерный файл

Сообщение Lavr12 »

leonid62 писал(а):
Lavr12 писал(а): Также в одной из книг про PIC16 прочитал: "...в ранее выпускаемых микроконтроллерах PWRT включён, когда бит PWRTE в слове конфигурации равнялся "1" (в настоящее время выпускаются микроконтроллеры, в которых работа PWRT разрешена, когда PWRTE=0)". Возможно, ошибка здесь?
Попробуй с отключеным (PWRTE=0). Ещё не мешало поставить керамику на 0.1мкф. между ножки "14" и "5" микроконтроллера.
LEONID62 - спасибо. Сначала попробовал перепрограммировать МК, но ничего не получилось - при создании файла HEX из ASM (с помощью программы MPASMWIN.EXE) проявилась куча ошибок... Вероятно, я что-то не так делаю...
Затем добавил схему внешнего сброса согласно дейташиту на PIC16F84A (см. вложение). И, о чудо, кажется, всё заработало! При каждом включении питания схема работает нормально!
PS Конденсатор 0,1 мкФ на ножках 5 и 14 у меня уже стоит.
Вложения
2011-05-16_151031.jpg
Схема внешнего сброса по питанию (при медленной фиксации напряжения)
(48.57 КБ) 688 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Lavr12
Встал на лапы
Сообщения: 91
Зарегистрирован: Чт апр 14, 2011 16:28:14
Откуда: Москва

Re: Re

Сообщение Lavr12 »

abc писал(а):Можно на 4 ногу повесить конденсатор на 0,1-1мкф. Тогда сброс будет еще и аппаратным.
ABC - спасибо за совет! Поставил схему из дейташита (см. моё предыдущее сообщение для LEONID62) и всё заработало!
Вопрос решён. Тему можно закрывать.
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»