реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Помогите разобраться с PIC'ами!
Sly
сообщение May 1 2007, 14:57
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 1-05-07
Пользователь №: 27 441



Есть Pic16f877a. Под него написана простейшая программа, которая просто выдает меандр на RB0 выход:

#include "P16F84.INC"

count1 EQU 20h
count2 EQU 21h
count3 EQU 22h

ORG 0

START:
BSF STATUS, RP0
CLRF TRISB
BCF STATUS, RP0
RUN: BCF PORTB, 0
CALL DELAY
BSF PORTB, 0
CALL DELAY
GOTO RUN

DELAY: movlw .50
movwf count1
_sw1 movlw .255
movwf count2
_sw3 movlw .255
movwf count3
_sw4 decfsz count3,f
goto _sw4

decfsz count2,f
goto _sw3
clrwdt
decfsz count1,f
goto _sw1
return

END

В эмуляторе пика все работает, каждые 3 секунды меняются логический ноль и логическая единица. Но вот с реальным пиком беда: молчит. Шил его, читал - все верно. Подключаю к нему кварц на 12 мегагерц с конденсаторами в 15pF (из документации) или 32 килогерца (с изменением задержки в коде), подаю питание на обе Vss и обе Vdd 5 вольт... А результатов - никаких!

Кто работал с этими зверями? Хелп help.gif !!!
Go to the top of the page
 
+Quote Post
LordN
сообщение May 1 2007, 15:05
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686



биты конфигурации прописаны правильно? MCLR подцеплен? пин сконфигурирован на выход?


--------------------
C уважением, LordN.
Go to the top of the page
 
+Quote Post
Sly
сообщение May 1 2007, 16:40
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 1-05-07
Пользователь №: 27 441



Цитата(LordN @ May 1 2007, 16:05) *
биты конфигурации прописаны правильно? MCLR подцеплен? пин сконфигурирован на выход?

__CONFIG 03FF2H биты конфигурации больше ничего не указывал!
MCLR вообще не задействован! Пин на выход работает! Причем в протеусе и в mplab все работает и что надо делает, но когда зашиваешь прошивку в пик, то он молчит.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
DL36
сообщение May 1 2007, 18:53
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006



Цитата(Sly @ May 1 2007, 16:40) *
__CONFIG 03FF2H биты конфигурации больше ничего не указывал!
MCLR вообще не задействован! Пин на выход работает! Причем в протеусе и в mplab все работает и что надо делает, но когда зашиваешь прошивку в пик, то он молчит.

Пик не стартует, для начала надо попробовать кварц поменьше от 4 М.
Да и конденсаторы 15 не ставил никогда обычно 22 или 33pf.
Go to the top of the page
 
+Quote Post
LordN
сообщение May 1 2007, 19:03
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 704
Регистрация: 15-10-05
Из: г.Томск
Пользователь №: 9 686



а кварц запускается? попробуйте в конфиг прописать 3ffa и с кварцем 12МГц поставить 20..22пФ


--------------------
C уважением, LordN.
Go to the top of the page
 
+Quote Post
xemul
сообщение May 1 2007, 22:36
Сообщение #6



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



А на
Цитата
#include "P16F84.INC"

компилятор ничего вроде "Processor-header file mismatch. Verify selected processor." не говорит?
Если все-таки подключается P16F877A.INC, то, как уже сказал LordN, нужно проверить наличие генережки на OSC2.
Обратите внимание на примечание 2 к картинке 14-1 в даташите:
Цитата
2: A series resistor (Rs) may be required for AT strip cut crystals.

Для 32 кГц кварцев я вешал 3-5 кОм (стояла задача экономии электроэнергии), для 12 МГц кварца будет достаточно 30-50 Ом.
Ну и самый быстрый способ проверки - подать на OSC1 тактуху с какого-нибудь более другого генератора (на логике/транзисторах/тактовой кнопкеsmile.gif. См. картинку 14-2.), убедиться в работоспособности программы и сосредоточиться на борьбе с генератором.

ЗЫЖ без бациллоскопа борьба с такими непонятками затруднительна - желательно проконтролировать форму сигнала на OSC2.
Go to the top of the page
 
+Quote Post
VDLab
сообщение May 1 2007, 22:42
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 30-04-07
Из: DP.UA
Пользователь №: 27 419



Цитата(Sly @ May 1 2007, 16:40) *
__CONFIG 03FF2H биты конфигурации больше ничего не указывал!
MCLR вообще не задействован! Пин на выход работает! Причем в протеусе и в mplab все работает и что надо делает, но когда зашиваешь прошивку в пик, то он молчит.

судя по конфигу, у вас включен режим низковольтного программирования, соотв. PORTB.3 нужно "занулять", и еще, что означает MCLR не задействован? Он что висит в воздухе? Если да, то это грубейшая ошибка вход сброса никогда оставлять без подтяжки нельзя.
А протеус довольно часто не замечает не подключенный пин сброса, особенно на маловыводных контроллерах

Сообщение отредактировал VDLab - May 1 2007, 22:43
Go to the top of the page
 
+Quote Post
medved
сообщение May 2 2007, 15:35
Сообщение #8





Группа: Новичок
Сообщений: 5
Регистрация: 4-02-06
Пользователь №: 13 986



Цитата(VDLab @ May 1 2007, 22:42) *
судя по конфигу, у вас включен режим низковольтного программирования, соотв. PORTB.3 нужно "занулять", и еще, что означает MCLR не задействован? Он что висит в воздухе? Если да, то это грубейшая ошибка вход сброса никогда оставлять без подтяжки нельзя.
А протеус довольно часто не замечает не подключенный пин сброса, особенно на маловыводных контроллерах
А еще обратите внимание на включение в конфигурации сторожевого таймера. Если включен, то эта "гадина" будет сбрасывать вывод порта довольно часто.
Go to the top of the page
 
+Quote Post
Sly
сообщение May 2 2007, 21:38
Сообщение #9





Группа: Новичок
Сообщений: 3
Регистрация: 1-05-07
Пользователь №: 27 441



ВСЕМ отозвавшимся и откликнувшимся ОГРОМНОЕ СПАСИБО буду пробовать, чуть позже скажу результаты ввиду отсудствия опред. оборудования! a14.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th June 2025 - 06:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01439 секунд с 7
ELECTRONIX ©2004-2016