Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с подключением МК PIC16F873
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
DrDen
Прошу помощи у знающих людей. Пытался шуршать документацией, но ничего внятного не нашел.
Программа должна выполнять простую функцию - АЦП. Задание - сделать АЦП ИМЕННО на этом пике.
Вот листинг программы:

LIST p=16f873
include p16f873.inc

org 0x00
goto start

org 0x04
call settmr

bsf ADCON0,GO

WAIT btfss PIR1,ADIF
goto WAIT

movf ADRESH,0
movwf PORTC

bsf STATUS,RP0
movf ADRESL,0
bcf STATUS,RP0
movwf PORTB

bcf PIR1,ADIF
return

settmr
movlw .61
movwf TMR0
bcf INTCON,T0IF
retfie

start
clrf PORTB
clrf PORTC

movlw b'10100000'
movwf INTCON

movlw b'11000001' ;вкл АЦП
movwf ADCON0

bsf STATUS,RP0
movlw b'10000110'
movwf OPTION_REG

clrf TRISC
clrf TRISB

movlw b'10001110'
movwf ADCON1
bcf STATUS,RP0

loop goto loop
end

Прога самописная(моя). Пыталя найти ошибки - безрезультатно)) Эмуляция в MPLABе проходит на ура. Скорее всего проблемы в аппаратной части. Использую кварц на 200кГц с 15пФ конденсаторами. MCLR напрямую соединен с питанием, идущим от сабилизатора на 5В с 100мкФ электролитическим конденсатором на выходе. Тестовое напряжение на AN0 подавалось с настраиваемого резисторного делителя (между шиной питания и землей ставил последовательно постоянный и переменный резистор, межу ними подключал AN0). К портам пробовал подключать светодиоды и 1к резисторами, просто измерять напряжение тестером. Постоянный 0.
Програмирование произвожу из PonyProg2000. Какая-то заморочка с конфигурационными битами. Какие там биты с инверсией, какие нет? (защита памяти - точно с инверсией) Помогите, кто знает, пожалуста. Конфиг. слово 001111001000.
Убедительно прошу ответить на вопросы.
ЗЫ. ПИК используется потому что позднее на нем будет построен модуль статистической обработки данных от АЦП. Пока надо реализовать только АЦП.
Заранее спасибо)
upc2
В конфигурационном слове режим LP задан правильно, но дело в том , что низкочастотные кварцы
очень плохо возбуждаются.Необходимо осциллографом посмотреть запускается генератор или нет и
на какой чатоте. Такике кварцы иногда возбуждаются на высоких гармониках.
Проверьте свою программу RC цепочкой 10 К + 10 пФ -около 4 МГц.
dac
1. MCLR очень нежелательно напрямую на питание, надо через резистор 1кОм
2. на асме давно не писал, но есть сомнения на тему:
кусок кода между call settmr и settmr - на этот код вы никогда не попадете: по запуску мк уходит на метку старт, а при возникновении прерывания после обработки функции settmr вы выходите из обработчика прерывания функцией retfie. можно попробовать поставить btfsc xxx, T1IF перед call settmr, это возможно поможет
3. программатор возмите отсюда: www.ic-prog.com и не мучайтесь с непонятками, там же два десятка схем и сама программа.
4. а конфигурационное слово лучше сразу прописывать в исходнике, типа такого (пример для pic16f84) для своего читайте документацию. Насчет лошади не знаю, но icprog принимает:

__CONFIG _RC_OSC & _PWRTE_ON & _CP_OFF &_WDT_ON
DrDen
Огромное спасибо за помощь. Проблема решена)))
Отдельное спасибо dac за
Цитата
4. а конфигурационное слово лучше сразу прописывать в исходнике, типа такого (пример для pic16f84) для своего читайте документацию. Насчет лошади не знаю, но icprog принимает:

__CONFIG _RC_OSC & _PWRTE_ON & _CP_OFF &_WDT_ON

Понька тоже поняла запись.
Остальные пункты приму к сведению. Начинающему трудно найти простейшие вещи, которые хоть более-менее знакомым с PICами людям кажутся очевидными.
Не могли бы вы подкинуть какую-нибудь ссылку на инструкции для чайников/начинающих/вообщеничегонезнающих людей, решивших заняться МК? Чисто в аппаратной части. Програмную можно и по книгам освоить, а вот про схемы подключения, правила я ничего до сих пор не нашел((

2upc2
Генерация изначально была. Как раз на частоте 200кГц.... Проверял. Только WatchDog был включен, из-за чего постоянно сбрасывал МК. Тоже спасибо)
dac
Цитата(DrDen @ Oct 1 2007, 20:12) *
Огромное спасибо за помощь. Проблема решена)))
Отдельное спасибо dac за


пожалуйста, обращайтесь smile.gif

Цитата(DrDen @ Oct 1 2007, 20:12) *
Не могли бы вы подкинуть какую-нибудь ссылку на инструкции для чайников/начинающих/


www.lord-n.narod.ru
там есть книга Ульриха, я с нее начинал smile.gif и много других хороших

а там очень много, на любой вкус : ihtik.lib.ru/dreamhost_electrotehn_4janv2007.html
upc2
Относительно свежее издание:
"Умный дом" своими руками. Голобов В.Н.
Электронный вариант спокойно можно скачать из интернета.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.