[ Milanche85 @ 18.02.2010. 00:41 ] @
Od skora radim sa mikrokontrolerima te sam se odlucio poceti sa PIC16F627A. Koristim AllPic programator i ICPROG 1.06b. Napravio sam mali programcic cisto da se upoznam kako sve to radi. Ideja programa je da kada stisnem taster ULAZ1 (+5V na pin RA0) na izlazu IZLAZ1 (pin RA3) na koji sam povezao led diodu i otpornik treba da dobijem +5V i da dioda zasvetli. Kada pritisnem taster ULAZ2 (+5V na pin RA1) treba da na pinu RA3 bude 0V i da dioda prestane da svetli. Sve je to radilo dok nisam pokusao da postavim pin RB2 kao USART transmit pin (ideja je bila da kada mi u gornjem primeru programa zasvetli dioda tj bude +5V na RA3 pinu preko USART transmit pina RB2 posaljem 8bitova). Kada sam tako isprogramirani kontroler stavio u kolo sa kojim sam probavao prvobitni program nista vise nije radilo kako sam zamislio (pritiskom na taster ULAZ1 nije dolazilo do +5V na pinu RA3). Uporedjivao sam prvobitni program (samo sa 2 tastera) sa drugim (2 tastera i TX) i uocio da mi se gore navedeni problem javlja kad pokusam da upisem nesto u SPBRG. Koristim kristal na 20MHz i kondenzatore od 25pF (10pF paralelno sa 15pF) u oscilatoru. Pokusavao sam vise vrednosti iz tabela datasheet-a za SPBRG i kada je BRGH=0 i kada je BRGH=1 kod asinhronog moda i uvek mi se isto desava. Ispod se nalazi kod koji prestaje da radi kako ubacim neku vrednost u SPBRG. Code: PROCESSOR P=16F627A #INCLUDE <p16f627A.inc> __CONFIG _CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _HS_OSC & _PWRTE_OFF & _WDT_ON ORG 0x00 goto Main ORG 0x04 goto Main Main #DEFINE ulaz1 PORTA,0 #DEFINE ulaz2 PORTA,1 #DEFINE izlaz1 PORTA,3 banksel OPTION_REG movlw B'01011000' movwf OPTION_REG banksel INTCON clrf INTCON banksel PIE1 clrf PIE1 banksel PIR1 movlw B'00010000' movwf PIR1 banksel CMCON movlw B'00000111' movwf CMCON banksel TRISA movlw B'10100011' movwf TRISA banksel TRISB movlw B'00000010' movwf TRISB banksel PORTA clrf PORTA clrf PORTB banksel VRCON clrf VRCON banksel TXSTA movlw B'00000010' movwf TXSTA banksel RCSTA movlw B'00000000' movwf RCSTA ;SPBRG REGISTER - BAUD RATE GENERATOR REGISTER ****** banksel SPBRG movlw B'00100000' movwf SPBRG provera1 clrwdt btfsc ulaz1 goto obradaON goto provera1 provera2 clrwdt btfsc ulaz2 goto obradaOFF goto provera2 obradaON bsf izlaz1 goto provera2 obradaOFF bcf izlaz1 goto provera1 END Da li mi neko moze pomoci i ukazati gde gresim? Unapred Hvala |