Probléma 16F871 UART inicializálásakor?

Simon Dávid bowika at freemail.hu
Tue Aug 20 17:30:46 CEST 2002


Sziasztok!

Próbáltam irni egy 1xű kis progit PIC16F871- re, amivel 
össze tudnám kapcsolni a PIC-et egy PC-vel, de sajna 
valamiért nem működik.
Hogy miért nem tudom. Már elolvastam tüzetesen a PIC 
adatlapját a témával kapcsolatban többször is (már a 
sorrendet is betartom), de ennek ellenére sem jövök rá 
miért nem megy.
A progi a következő (tartalmaz 1 számlálót is a B porton 
csak azért, hogy szkóppal ellenőrizni lehessen, hogy a PIC-
ben fut-e a progi.

list		p=16f871	; list directive to define 
processor
	#include	<p16f871.inc>	; processor 
specific variable definitions

;***********************************************************
***********
	ORG     0x000             
  	goto    MAIN
	ORG     0x004             
  	goto    interrupt              
MAIN
	BSF	STATUS,RP0

	MOVLW	0X00		;ezt csak azért, hogy lássam
	MOVWF	TRISB		;müködik-e a PIC

	MOVLW	0XBF		;ezt nem tudom kell-e
	MOVWF	TRISC		;csak a biztonság kedvéért

	MOVLW	0X81		; 9600 bit/s
	MOVWF	SPBRG		;
	
	BSF	TXSTA,BRGH	;csak a kisebb hiba miatt 
egyébként azt
				;se tudom mi a BRGH=0 azt 
értelme ha
				;BRGH=1 esetén kisebb a hiba
	
	BCF	TXSTA,SYNC	;aszinkron módra állítás

	BCF	STATUS,RP0

	BSF	RCSTA,SPEN	; a soros port enedélyezés

	BSF	STATUS,RP0

	BSF	PIE1,TXIE	;megszakítás eng.

	BCF	TXSTA,TX9	;nem kell 9.bit

	BSF	TXSTA,TXEN	;TX engedélyezve

	BSF	INTCON,GIE	;ezt nem tudom, hogy kell-e
				; a adatlap nem irj, de nem 
árt

	BCF	STATUS,RP0	

	MOVLW	0X55		;csak hogy lgyen benne 
valami
	MOVWF	TXREG
KEZDET
	INCF	TRISB,F		; ez csak egy 8.bináris 
számláló
				; csak hogy lássam müxik-e 
a PIC
				; de megy a freki is OK
	GOTO	KEZDET

	
interrupt
	BCF	INTCON,GIE	;hogy ne szakítson félbe
	
	RRF	TXREG,F		;ezt meg azért, hogy ne 
mindig ugyanazt
	
	BSF 	INTCON,GIE	;mert csak

	RETFIE			;ki a soros vonalra
	END


Ha esetleg valakinek van 1 perce rá, nagyon megköszönöm a 
segítségét.
Vagy ha esetleg tud valaki küldeni egy UART inicializálás 
progit az lenne a legjobb (szétnéztem a neten, de ne igen 
találtam röved lényegretöröt).
Előre is köszi mindenkinek a segítséget.

Üdv.:
Bowie







More information about the Elektro mailing list