Некоректная робота PIC16F877A. - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Форум Picbasic.ru » Электроника » Проблемы » Некоректная робота PIC16F877A.
Некоректная робота PIC16F877A.
xxxmonejall Дата: Чт, 15.09.2011, 14:14  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Доброго времени суток. Столкнулся с проблемой. Простейшая программа, мигающий светодиод. Некорректно работает, диод может просто светится, может не светится иногда может мигать. В протеусе все работает. Вот код программы:
@ device pic16f877a, xt_osc, wdt_off, protect_off, pwrt_on
DEFINE OSC 20
TRISB = %00000000
TRISD = %00000000
TRISA = %00000000
main:
portb.5 = 1
pause 500
portb.5 = 0
GOTO main
Кварц 20Мгц, MCLR через 10Ком на +5в
кондеры на кварце по 15Пф.
Что-то мне кажется что дело имен о в кварце, или в кондерах.
Кондеры подключены к кварцу и на землю.
Какие должны быть кондеры?
И резистор на MCLR ?
И еще читал что вывод PGM должен быть подключен на землю через резистор, правда ли это?
ЯНДЕКС Дата: 15.09.2011
Matrix252005 Дата: Чт, 15.09.2011, 14:38  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 675
Репутация: 20   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток.
xxxmonejall, Вы забыли добавить еще одну "задержку":

main:
portb.5 = 1
pause 500
portb.5 = 0
pause 500 ' без этого, он просто очень быстро переходит с "0" на "1". И Вам кажется, что он постоянно светится.
GOTO main


THE TRUTH IS OUT THERE.

С уважением, Николай.
terrarus Дата: Чт, 15.09.2011, 15:29  |                                                                                                                Сообщение # 3
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (Matrix252005)
Какие должны быть кондеры?

Я обычно использовал 15 пф. или 18 пф.
Иногда попадались конденсаторы с большими токами утечки и тогда кварцевый генератор работал неустойчиво (то запускался. то нет).


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Matrix252005 Дата: Чт, 15.09.2011, 15:59  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 675
Репутация: 20   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

surprised terrarus, здесь вышла ошибка !!!! Я не спрашивал про емкость!!!

xxxmonejall, рез на MCLR, на 10к. Конденсаторы от 22 - 33р (Обычно использую эти номиналы.). Ваша вся проблема, заключалась в отсутствии паузы и все, остальное тут не причем...


THE TRUTH IS OUT THERE.

С уважением, Николай.
mikhail09p Дата: Пт, 16.09.2011, 00:20  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 504
Репутация: 10   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Quote (Matrix252005)
Конденсаторы от 22 - 33р (Обычно использую эти номиналы.)

Я тоже.

Quote (terrarus)
Иногда попадались конденсаторы с большими токами утечки и тогда кварцевый генератор работал неустойчиво (то запускался. то нет).

И это правда. Тогда не поймёшь, то ли программа некорректно работает, то ли из-за кварца задержки плавают...

Сообщение отредактировал mikhail09p - Пт, 16.09.2011, 00:22
xxxmonejall Дата: Пт, 16.09.2011, 18:03  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Большое спасибо. А где кондеры берете?
mikhail09p Дата: Пт, 16.09.2011, 20:16  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 504
Репутация: 10   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Quote (xxxmonejall)
Большое спасибо. А где кондеры берете?

Да где придётся! С плат выпаиваю чип детальки в последнее время... wink
xxxmonejall Дата: Сб, 17.09.2011, 00:51  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

И снова я со своими проблемами. Все таки проблема наверное в кондерах. Прогу переписал пере зашил. А проблема все та же то работает то нет. И еще заметил, просто случайно дотронулся до вывода кварца пальцем, и диод засветился. При каждом следующем прикосновение то включается то вырубается.
rvstar Дата: Сб, 17.09.2011, 11:19  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 60
Репутация: 2   ±
Замечания:   ±
На сайте с 09.10.2007

Статус: Offline

Я бы посоветовал для 16Ф877А добавить в начало программы ставить код
ADCON1 = %10000111

выключаем компаратор
xxxmonejall Дата: Сб, 17.09.2011, 15:42  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Еще раз большое всем спасибо. Проблема решена. Она заключалась в xt_osc. Так как кварц на 20Мгц нужно было поставит hs_osc. Иногда внимательное чтение книжек помогает:) Поменял и все заработало.
ADMIN Дата: Вс, 18.09.2011, 07:42  |                                                                                                                Сообщение # 11
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1106
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Quote (rvstar)
Я бы посоветовал для 16Ф877А добавить в начало программы ставить код ADCON1 = %10000111 выключаем компаратор


Это неверное утверждение! Рекомендую почитать даташит.
Компаратор выключается строкой CMCON=%00000111
MiXaS Дата: Пн, 19.09.2011, 12:01  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 615
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Здравствуйте! Я извиняюсь! Не хочу создавать новую тему. Помогите пожалуйста в обозначении PIC18f2550-20i/p. НУ ТУТ ВСЕ понятно, пик 18 серии, имеет флеш память, модель 2550, макс тактовая частота 20 Мгц...
А Если PIC18f2550-i/p??? Какая у него тактовая частота??? Заранее спасибо!!!
holyuser Дата: Пн, 19.09.2011, 13:32  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 240
Репутация: 5   ±
Замечания:   ±
На сайте с 12.12.2007

Статус: Offline

Quote (MiXaS)
в обозначении PIC18f2550-20i/p. НУ ТУТ ВСЕ понятно

Тут как-раз есть непонятки, поскольку для этого пика обозначение 20I/P вообще никчему, P - это корпус PDIP, а PIC18F2550 в стандартном PDIP никогда не выпускался. Он выпускается в SDIP (SP) и SOIC (SO).

Quote (MiXaS)
А Если PIC18f2550-i/p??? Какая у него тактовая частота???

Максимальная тактовая частота PIC18F2550 - 48 МГц.
ADMIN Дата: Пн, 19.09.2011, 13:44  |                                                                                                                Сообщение # 14
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1106
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

В даташите, кстати, указано, что есть pdip корпуса для этого девайса. И для 2450 тоже. А в живую не попадались
holyuser Дата: Пн, 19.09.2011, 14:08  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 240
Репутация: 5   ±
Замечания:   ±
На сайте с 12.12.2007

Статус: Offline

В даташите после PDIP в скобках написано Skinny DIP, узкий (300 mil), который обозначается SP.
В стандартном 28-выводном PDIP (600 mil) в живую можно встретить флэш-версии старых пиков, например PIC16F57, для совместимости с PIC16C57.
Форум Picbasic.ru » Электроника » Проблемы » Некоректная робота PIC16F877A.
Страница 1 из 212»
Поиск: