PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RNFunk mit Philips 89c51rd2hbp



MSSauer
15.06.2005, 11:24
Hallo,

ich habe immer noch Probleme mit meiner Schaltung und wollte fragen ob mir jemand helfen kann. Also ich möchte über die serielle Schnittstelle am PC eine Zahl zwischen 1-10 abschicken über rn Funkmodul. dafür verwende ich die 3 Polige RS232 Pins. Dann möchte ich diese Zahl am anderen RNFunkmodul empfangen und greife das ankommende Signal am RS232 TTL Pegel (4 Polig) ab (habe IC wie in Beschreibung verlangt abgemacht). dieses Signal lege ich auf die RxD des µC und möchte mit einem Programm die Zahl die angekommen ist an P2 ausgeben.



µC Programm


#include <reg51.h>
#include <stdio.h>





void main()
{
char COMein[8];

//Deklariert einen Pin als Ausgang


SCON=0x50;
PCON= PCON | 0x80;

TMOD=0x21;
TL1=249;
TH1=249;
TR1=1;
TI=1;



while (1)
{

if (TF1==1)
{
gets(COMein);

P2=COMein;

TF0=0;
}



}

}

Schaltungsskizze:


danke mfg MSSauer[/img]

Sandro
15.06.2005, 14:58
Jetzt versteh ich endlich warum du unbeding die 9600Baud brauchst.
Wie ich schon gesagt hatte ist das mit dem von dir verwendeten Quarz sehr schlecht möglich.
Die geringstmögliche Abweichung von der gewünschten Baudrate beträgt ca.7%!!
Es gibt jetzt zwei Lösungen für dein Problem:
Du schreibst dir einen Softwareuart. Das ist nicht ganz einfach. Also rate ich dir davon ab.
Oder du tauschst einfach den ungeeignetetn 12MHz-Quraz gegen einen 11.0592MHz oder 22.1184MHz-Quarz aus. Damit sind praktisch alle Baudraten möglich.

MSSauer
22.06.2005, 10:56
Hallo,
erstmal danke für deine Antwort, aber ich hätte da noch eine Frage:

Kann ich mit einer 12 MHz Quarz nicht auch die gleiche Boudrate einstellen?

Was für eine Boudrate wäre mit diesem Prozessor und dieser Quarz möglich?

danke MSSauer

Sandro
22.06.2005, 13:45
Da die Baudrate durch zählen der Maschinentackte erzeugt wird ist sie immer von der Quarzfrequenz abhängig. Mit 12MHz sind keine 9600Buad möglich!!
Eine Baudrate die bei dieser Frequenz recht gut funktioniert ist 4800Baud. Aber was spricht dagegen den Quarz auszutauschen?
Bei einem Wechsel auf 22,1184MHz hättest du sogar beinahe die doppelte Prozessorleistung.