20 mhz 16f877a da seri haberleşme sorunu

Başlatan veli dayı, 09 Nisan 2015, 22:07:27

veli dayı

@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_on
@ DEVICE pic16F877A, PWRT_ON
@ DEVICE pic16F877A, PROTECT_OFF
@ DEVICE pic16F877A, HS_OSC
DEFINE OSC 20


ADCON1=7'ÇIKIŞLARIN HEPSİ DİJİTAL
'PORT TANIMLAMALARI

TRISC=%10000000
TRISD=0
TRISE=0
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0




'DEFINE OSC 8 'for 8 Mhz

DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_BAUD 2400 'for 2400 Baud rate
'DEFINE HSER_BAUD 4800 'for 4800 Baud rate
'DEFINE HSER_BAUD 9600 'for 9600 Baud rate

DEFINE HSER_SPBRG 129 '25 'for 4Mhz/2400 & 8Mhz/4800 with an error %0.16
'DEFINE HSER_SPBRG 12 'for 4Mhz/4800 & 8Mhz/9600 with an error %0.16

DEFINE HSER_CLROERR 1 'same for all

' Initialization & Declaration
i var byte

PORTB=%11111111
TRISD=%00001111
PORTD=%00000000
SAYAC VAR byte
sayac=0
nane var byte
nane=0

' CHECK
pause 500
LABEL:


sayac=105
'SAYAC=PORTB&& %00011111

HSEROUT [  sayac ]

PAUSE 1000









GOTO LABEL
END


Başka yerlerden bulduğum kodu değiştirerek 20mhz lik osc frekansına uydurmaya çalıştım.16f877a nın katologunda BRGH = 0 ise  20mhz de 2400 baund hızında SPBRG 129  yazıyordu ayarlamalrı yukarıdaki şekilde yaptım.fakat gönderdiğim 105 verisini bilgisayarda göremiyorum.saçma sapan veriler gidiyor. Bir ara bir yerde okumuştum yüksek kristal frekanslarında yavaşlatma komutu mu vardı neydi tam hatırlamıyorum acaba öyle bir eksik mi var yoksa katoloğu okuyamadık mı acaba

ete

Değerler doğru. Programda tam tamına 105 yolluyor. Hyper terminalde 105 rakamının HEX karşılığı olan 69 görmen gerekir.

Ben denedim 69 olarak sürekli yolluyor.

Ete

veli dayı

Verdiğiniz bilgi için teşekkür ederim.Max232 yerine transistörle bir devre yapmıştım.Hata orada demek ki donanımı bir daha inceleyeyim.pc de veri alışını c# dili ile  yazdığım exeyle yapmıştım.Hiperterminali pek bilmiyorum kullanmasını büyük ihtimal 5 voltluk seviyeyi ttl seviyesine çekme de yaptım herhalde akşam tekrar bir inceleyeceğim.Tekrar tekrar teşekkürler

Powered by EzPortal