Форум за електроника Форуми Форум за електроника
Български форум за електроника, ремонти, схеми, документация
 
 Въпроси/ОтговориВъпроси/Отговори   ТърсенеТърсене   ПотребителиПотребители   ГрупиГрупи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 

въпрос относно PORTA на PIC16F627A

 
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics



Предишната тема :: Следващата тема  
Автор Съобщение
slav4o.com
Опитен потребител
Опитен потребител


Регистриран на: 04 Юли 2004
Мнения: 2970
Местожителство: Велико Търново

МнениеПуснато на: Нед Яну 16, 2011 22:34    Заглавие: въпрос относно PORTA на PIC16F627A Отговорете с цитат

Тука правя една прогрма за тоя контролер
програмата е на асемблер, като използвам RA0 и RA4 портове. RA4 го използвам защото е open-drain.
Проблема е, че когато RA0 ми е във високо състояние когато сетна RA4 във високо RA0 отива в ниско не знам защо.
предварително съм задал като изходи всички RA без RA5 който е само вход

movlw b'00000000' ;
movwf PORTB ; всички изходи стават 0
bsf PORTB,0 ; RA0 става 1
bsf PORTB,4 ; RA4 става 1 , но не знайно защо връща RA0 в 0 ?!?!?

ако отново сетна RA0 :

bsf PORTB,0
то RA0 става 1, а RA4 не се влияе
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Cino
Нов потребител
Нов потребител


Регистриран на: 26 Мар 2006
Мнения: 12
Местожителство: София

МнениеПуснато на: Нед Яну 16, 2011 22:46    Заглавие: Отговорете с цитат

ти управляваш PORTB , пък говориш за RAx,
Виж и TRIS регистъра дали е правилно сетнат.

виж и дали си изключил аналоговите функции на порта,
комараторите за RA4, и ADC за RA0 .

И още нещо малките пикове си имат проблем с read-modify-write ,
примерно http://marcansoft.com/uploads/readmodifywrite.pdf
пробвай с по един Nop между побитовата промяна на порта


Последната промяна е направена от Cino на Нед Яну 16, 2011 23:15; мнението е било променяно общо 3 пъти
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
slav4o.com
Опитен потребител
Опитен потребител


Регистриран на: 04 Юли 2004
Мнения: 2970
Местожителство: Велико Търново

МнениеПуснато на: Нед Яну 16, 2011 22:56    Заглавие: Отговорете с цитат

опс объркал съм това което съм написал тук. На всяко едно място имам PORTA не PORTB. Да TRISA съм го сетнал правилно
bsf STATUS,5 ;отиваме в банка 1
movlw b'00100000'
movwf TRISA
bcf STATUS,5 ;обратно в банка 0
movlw b'00000000' ;
movwf PORTА ; всички изходи стават 0
bsf PORTА,0 ; RA0 става 1
bsf PORTА,4 ; RA4 става 1 , но не знайно защо връща RA0 в 0 ?!?!?

edit : току що оправих проблема трябва да се добави
movlw 0x07
movwf CMCON
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
ikarlo
Опитен потребител
Опитен потребител


Регистриран на: 12 Апр 2008
Мнения: 470
Местожителство: Sofia

МнениеПуснато на: Пон Яну 17, 2011 14:15    Заглавие: Отговорете с цитат

Не си дал схема - RA4 се отличава от другите по-това, че няма вътрешен резистор към "+". Внимателно прочети описанието на PORTA и забележката за RA4.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics Часовете са според зоната GMT + 2 Часа
Страница 1 от 1

 
Към:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети


Powered by phpBB © 2001, 2005 phpBB Group
Translation by: Boby Dimitrov
Where to Find Free Service Manuals