Македонски форум за електроника
Дигитална електроника => Микроконтролери => Topic started by: gladiator on 16.04.2010, Friday, 15:33:45
-
значи вака имам EasyPic5 а се учам да програмирам со програмскиот јазик асемблер а користам софтвер MPLAB IDE V 8.50 проблемот е во тоа што кога ке прогласам некоја порта за излезна а излезите уклучени секогаш ми фали по некој излез дали е проблемот во контабилноста на хардверот и софтверот или во мене е можеби ;D молам за помош.
Споено мислење: 16.04.2010, Friday, 19:31:09
зарем нема никој да ми одговори ::)
-
Не е компатибилност. Овој проблем не е толку едноставен. Значи вака: Микроконтролерите имаат повеќе „периферни уреди“ вградени во нив како A/D конвертори, Компаратори, тајмери, PWM, бројачи и друго. Тебе проблемот ти е што микроконтролерот пред да ја почнеш главната програма мораш да го КОНФИГУРИРАШ. Ова значи: ако не ти требаат: A/D конвертори, Компаратори, тајмери, PWM, бројачи и друго треба да ги исклучиш со соодветните битови на соодветните регистри. Зошто е тоа потребно? Па на пример ако ти е вклучен Timer0 тогаш пинот на кој што е овој тајмер е влез секогаш иако си го наместил преку TRIS да биде излез! Значи мора да го прочиташ datasheet ДЕТАЛНО и да ги наместиш сите периферии на микроконтролерот онака како што ти требаат или не ти требаат (off). Е тоа ти е проблемот, се надевам дека ме разбра.
-
ок Борче ке пробам фала за одговорот па ке видиме
Споено мислење: [time]16 Април 2010, 23:45:44[/time]
Борче во право беше се среди тоа но дали е исправен овој код кога ке стиснам RA0 би требало да се исклучат излезите но не се случува тоа
list p=16f887 ; procesor
#include <p16f887.inc> ; Definicija SFR registara
; mikrokontrolera PIC16F887
errorlevel -302 ; Zabranjuje se pojava poruke "Register
; in operand not in bank 0. Ensure that
; bank bits are correct."
;**********************************************************************
__CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOR_ON & _IESO_ON & _FCMEN_ON & _LVP_OFF & _DEBUG_OFF
__CONFIG _CONFIG2, _BOR40V & _WRT_OFF
;**********************************************************************
org 0x0000
banksel TRISB
clrf TRISB
banksel TRISA
movlw B'00000001'
movwf TRISA
banksel PORTB
movlw B'11111111'
movwf PORTB
pro
btfss PORTA,0
goto pro
pro1
clrf PORTB
goto pro1
end
Споено мислење: 17.04.2010, Saturday, 01:08:29
да во право си нешто со конфигурацијата грешам влезовите ги ставив на PORTD и така работи не било едноставно како што си мислев
-
дали може некој да ми одговори зошто кога ке го испрограмирам пикот си работи се како што е програмиран но кога ке му го исклучам напојувањето и ке го вклучам пак не работи според програмот односно не се исклучува и вклучува (не работат влезовите)
еве го и кодот
list p=16f887 ; procesor
#include <p16f887.inc> ; Definicija SFR registara
; mikrokontrolera PIC16F887
errorlevel -302 ; Zabranjuje se pojava poruke "Register
; in operand not in bank 0. Ensure that
; bank bits are correct."
;**********************************************************************
__CONFIG _CONFIG1, _HS_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOR_ON & _IESO_ON & _FCMEN_ON & _LVP_OFF & _DEBUG_OFF
__CONFIG _CONFIG2, _BOR40V & _WRT_OFF
;*****************************************************************
#DEFINE VKLUCI PORTA,1
#DEFINE ISKLUCI PORTA,0
org 0x0000
banksel ANSEL
clrf ANSEL
clrf ANSELH
proo
banksel TRISB
clrf TRISB
banksel TRISA
movlw B'00000001'
movwf TRISA
banksel PORTB
movlw B'11111111'
movwf PORTB
banksel PORTA
pro
btfss ISKLUCI
goto pro
clrf PORTB
pro2
btfss VKLUCI
goto pro2
goto proo
end
-
Види дали во конфигурацијата ти се вклучени (при програмирањето): Brown out reset enable и Power up timer enable. Друго и побитно! На напојувањето ако имаш кондензатор за филтрација (што е нормално) мораш паралелно со него да ставиш отпорник од 1К за да го допразнува кондензаторот на гасење на напојувањето иначе на рестарт не се до-рестартира PIC-от.
P.S. Е ова се веќе финти кои се дознаваат кога се почнува практично со работа со микроконтролери ;)
-
ама јас користам EasyPic5 развојна плоча валда немаат направено таков пропус за ресет а за подесувањето наместено е
Brown out reset- enable set to 4.0v и
Power up timer - enable
-
Дали може помош околу MPLAB IDE v7.60?? ::)
Имам проблем кога ќе ја отворам програмата и кога ќе ја претворам во хекс има некој ерор,помош дали може??
-
Па стави ги фајловите што се .ERR и напиши што Error ти дава ако дава.
-
еве овој ерор ми го кажува Error 173!Што значи овој ерор!?
-
Аха...Па таа грешка ја покажува ако програмот кој сакаш да го компајлираш се наоѓа во фолдер чија патека е многу долга. Пробај стави во фајлот (или фајловите) директно во Local Disk (C:) и пробај пак да го компајлираш директно од таму.
-
Аха...Па таа грешка ја покажува ако програмот кој сакаш да го компајлираш се наоѓа во фолдер чија патека е многу долга. Пробај стави во фајлот (или фајловите) директно во Local Disk (C:) и пробај пак да го компајлираш директно од таму.
Ок ќе направам како што ми кажуваш! ;D