Форум » Программирование микроконтроллеров. » Непонятки с 16F873 » Ответить

Непонятки с 16F873

Asmodey: Прошу помочь мне со следующей проблемкой. В русском даташите на PIC16F873 не смог разобраться с битами защиты конфигурационного слова. Биты CP0,CP1 это биты 4-5 и в то же время биты 12-13??? Так в какой же разряд слова прописывать их значения? В примечании к разделу «Биты конфигурации» написано – «что бы установить защиту памяти программ, все пары CP1:CP0 должны иметь одинаковое значение». Что это значит, просто тупо пишем в биты 12-13 тоже самое что и в биты 4-5? Пробовал на примитивной программке, так после прошивки PonyProg пытается проверить и сообщает об ошибке записи. Может просто я защиту выключить не смог. В проге просто записывал в биты CP0-CP1 единицы.

Ответов - 56, стр: 1 2 All

MISHA: Помоему программатор чего то не то шъёт. Зашил прогу генератора на 1,5Кгц в PIC16F84A (прога с самоучителя). Нифига не идёт. менял кварцы биты конфигурации. ничего не помогает. Хотя при проверки после записи ошибок нет. в чём может ещё быть косяк?

Vladimir: MISHA Я так понимаю програма IC-Prog а какая версия? лично у меня 1.05D настроен как описано в Самоучителе... и нет глюков. А програматор в точности как на схеме или упростили как в Самоучителе...? MISHA пишет: в чём может ещё быть косяк? Если так то проверь ВНИМАТЕЛЬНО настройки. А если после записи произвести "сравнение микросхемы с буфером" (там есть такая кнопка) то если программа выдаст ОК то есть записанная в микросхему информация идентична с НЕХ файлом то значит все шьется правильно и програматор и програма нипричем.

MISHA: Запустил наконец контроллер. Сменил ПО перешёл PonyProga на Ic-Prog. Сделал кое какие настройки и всё как по маслу. Всем большое спасибо за дельные советы.


Михаил: Пытаюсь прошить PIC16F873 и PIC16F73. IC-PROG после проверки пишет что всё в порядке. Вставляю их в плату а контроллеры вапще не дышат. Для проверки зашивал эту программу LIST p=16f873 __CONFIG 3F31H Status equ 03h PortA equ 05h TrisA equ 05h PortB equ 06h TrisB equ 06h PortC equ 07h TrisC equ 07h Adcon0 equ 1Fh Adcon1 equ 1Fh RP0 equ 5 RP1 equ 6 C equ 0 org 0 clrf Adcon0 ; Выключение модуля АЦП. bsf Status,RP0 ; Банк 1 movlw .255 movwf Adcon1 clrf TrisA . clrf TrisB clrf TrisC bcf Status,RP0 ; Банк 0. movlw .255 movwf PortA movwf PortB movwf PortC nop goto $-1 end но на выводах ничего нет. Только на 27 и 28 выводе пульсирующий сигнал идёт. аткуда он только там взялся? Модет кто сталкивался с этим. Замена кварца и конденсаторов результата не дали.

igor: Где первоначальная двойная штатная команда включения банка? В каком банке сбрасываете Adcon0? В Adcon1 должно быть записано 06h. Ещё, не забыть, что RA4 с открытым стоком, без резистора в +, работать не будет. Отключите все модули. Сначала нужно записать в защёлки данные, и только после этого перенаправлять порты с помощью TRIS.

Михаил: Чего я только не делал. Нет единиц на выводах. Проверил всё. Первая нога на плюсе, перепаял ёмкости с кварцем снова. Может ещё какие варианты есть. Проверял на двух PIC16F73 и нифига. Программатор использую JDM.

Алексей: ДЛЯ НАЧАЛА НЕОБХОДИМО НАСТРОИТЬ КОНТРОЛЛЕР, В частности отключить АЦП, по умолчанию порт а настроен как аналоговые входы. Некоторые выводы портов накже совмещены с периферией. Отключите все ненужные модули. Плюс ко всему вывод MCLR через резистор 1 ком необходимо подтянуть к + питания, иначе контроллер будет находится в состоянии сброса, что похоже у вас и происходит. К тому же выводы Vss нужно соединить вместе, как и Vdd у 877.

igor: Никаких вариантов, кроме правильного написания программы, и отсутствие ошибок в монтаже, быть не может. Если MPLAB, не ругается на вашу программу, то это не значит, что она будет обязательно работать. В выше приведённом Вами варианте, не работает. Надо искать. В неработоспособности устройства на 99% виноват программист. Правильно напишите инициализацию микроконтроллёра, с отключением всего ненужного и подключением необходимого и всё заработает.

Alberto: Михаил пишет: Чего я только не делал. сперва - наперво убедитесь что Вы действительно обращаетесь к банку 1, а не 3 к примеру. После сброса биты RP0 и RP1 устанавливаются в ноль, но... может у них неопределенное состояние, т.е сбросьте их (установите в "0"), хуже не будет: clrf Status т.е. Вы подаете команду bsf Status,RP0 и уверены что обращаетесь к банку 1, а на самом деле обращение может идти к банку 3, т.к. бит RP1 установлен (равен 1), или подайте две команды: bsf Status,RP0 ; bсf Status,RP1 ; Обращение к первому банку . . . . . bсf Status,RP0 ; Возврат в нулевой банк. Про регистр ADCON0 Игорь уже сказал. Можете еще отключить все неиспользуемые модули: [pre2]clrf T1CON ; Модуль TMR1 - выключен (бит 0 = "0"). clrf T2CON ; Модуль TMR2 - выключен (бит 2 = "0"). clrf CCP1CON ; Модуль ССР1 - выключен (биты 0-3 = 0000). clrf CCP2CON ; Модуль ССР2 - выключен (биты 0-3 = 0000). clrf SSPCON ; Модуль MSSP - выключен (бит 5 = "0"). clrf RCSTA ; Модуль USART - выключен (бит 7 = "0"). clrf AdCON0 ; Модуль АЦП - выключен (бит 0 = "0").[/pre2] и, как говорят, если детали исправны и нет ошибок в монтаже должно работать.

Михаил: Всё ожил контроллер. Зашил с помощью WinPic800. IC-PROG почемуто не хочет дружить с pic16f73. Хотя верификация (у ic-prog) проходит успешно. Может нужны другие настройки при прошивке этого контроллера? Никто с этим не сталкивался?

igor: Я программирую только IC-PROG. Сейчас работаю именно с 16F873, без проблем.

Alberto: Уже года два как IC-PROG'ом не пользуюсь. У WinPic800 возможностей больше и работает быстрее.

Dmitry Dubrovenko: Михаил пишет: IC-PROG почемуто не хочет дружить с pic16f73А что за "железо"? Хотя верификация (у ic-prog) проходит успешноА если потом произвести верификацию ВинПиком? Чудес не бывает. Где-то что-то отличается. Внимательно посмотрите на чекбоксы конфигурации в обоих программах. Alberto пишет: У WinPic800 возможностей большеУтверждение спорное. Где-то больше, где-то меньше.

Михаил: Железо взято с журнала "Радио". По моему на сайте КЕА схема того самого программатора. Шил им PIC16F84 PIC12F675 (даже с внутренним RC генератором) без проблем, а тут на тебе. Программу шил в pic16f73 одну и туже что через ic-prog и winpic800. Но результат был только при использовании последнего. А что за чекбоксы?

Пётр: Михаил пишет: А что за чекбоксы Галочки, изменяющие слово конфигурации.

Dmitry Dubrovenko: Михаил пишет: схема того самого программатораТак понимаю, речь о Пони-Проге. Тогда ничего удивительного. Это - всё-таки программатор "одного дня".



полная версия страницы