8051 zaporedno MODE

B

bill_test36

Guest
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Žalosten" border="0" />

I UPORABNIKA 8051 MODE zaporedna prenosa podatkov, vendar brez uspeha pri načinu 2 in način 3.
kako 8051 zaporedno MODE nadzor?

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ali Very sad" border="0" />
 
Hello there,

Preizkusite to povezavo:
http://www.8052.com/tutser.phtml

Imajo enostavno razumeti razlago na serijski način programiranja.I se uporablja za izvajanje te načine, brez kakršnih koli težav.
Vprašaj enkrat, če kakršnakoli vprašanja.

 
Živjo
,
Kar bo POŠLJI "OK" VIA serijskega vmesnika O 8051
SER_INIT: NOP; 9600 Q = 11,0592
MOV PCON, # 10000000B; 80H
MOV TMOD, # 00100010B; 22h
MOV TH1, # 0FAH
MOV TL1, # 0FAH
MOV SCON, # 52H
SETB TR1
RET
------------------------------------
MOV A, # 'O'
MOV R6, A
LCALL POŠLJI
MOV A, # 'K'
MOV R6, A
LCALL POŠLJI
SJMP $; LOOP FOREVER
POŠLJI: JNB SCON.1, POŠLJI
CLR SCON.1
MOV SBUF, R6
RET

 
bill_test36 wrote:

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Žalosten" border="0" /> I UPORABNIKA 8051 MODE zaporedna prenosa podatkov, vendar brez uspeha pri načinu 2 in način 3.

kako 8051 zaporedno MODE nadzor?
<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Crying ali Very sad" border="0" />
 
Kako ste preverite vaš program?
Če uporabljate terminala, da se spomniš
9 bit ni paritetni bit, se TB8
In ti naj bi določil, ali pa ročno ponastavite.
Trenutno uporabljate načinu 2 in so BAUDrate 1 / 64 FOSC ali 1 / 32 FOSC če SMOD = 1.
Če uporabljate simulatorje, ki jih pravilno simuliranimi ne vse.
Vaš program ni nujno pravilno napisana,
Ampak da si v bistvu lahko

Začeti od simplis odmev
аlso ne uporabi prekinitev
I rahlo spremenjen,
tako kot bi moral delovati.
Vendar se določbe o deveti bitna hitrost in ostane v veljavi.

WBR, Ilya# vključujejo "reg51.h"

char tabela [10] = (0x01, 0x4f, 0x12, 0x06, / * 0,1,2,3 * /
0x4c, 0x24, 0x60, 0x0f, / * 4,5,6,7 * /
0x00, 0x0c) / * 8,9 * /int KeyData = 0xff;
char InputBuffer = 0xff;
char OutputBuffer = 0xff;

Glavni ()
(
SP = 0x60;
IE = 0x92;
TMOD = 0x01;
TH0 = (65536-2000) / 256;
TL0 = (65536-2000)% 256;
TR0 = 1;
PCON & = 0x7f;
SCON = 0x90;
P1 = tabela [0];

/ / Ta del mods
ES = 0;
RI = 0;
medtem ko (1)
(

if (RI) (
RI = 0;
KeyData = SBUF;
SBUF = KeyData;
medtem ko je (! TI) ();
TI = 0;
)
)
)T0_int neveljaven (ničen) prekine 1 / * T0 = 2ms * /
(
TH0 = (65536-2000) / 256;
TL0 = (65536-2000)% 256;
)

 
Zdravo bill_test36

Če pogledamo kodo sem videl kot sledi:
Na P1 priložena 7 segment LED zaslona (char tabela [10])
Na P3 nekakšno tipkovnico

Kaj Verjetno imate v mislih je:
Ko pošljete 0x0b na P3 preko tipkovnice na P1 je prikazan zadnji bajt podatkov, poslanih iz računalnika do 8051 (se zaveda, da je treba natančno prikaže morate odštejemo 0x30, da se zaradi ASCII char; lahko tudi preverijo, če so podatki omejene med "0" in "9")
Ko pošljete 0x00 do 0x09, je prikazan na P1.Ko tip 0x0a, prejšnji števka je poslano iz 8051 na PC (enako kot zgoraj, vendar pa morate dodati 0x30, da se vidijo na računalniku in ne na število kontrolnih znakov iz 0x00 na 0x09)

Zato morate preveriti, če je obrestna mera za baudov PC ujema z enim naborom na 8051 v pripravljenosti 2 (FOSC / 32)
Lahko preprosto izračunati, ker veš da XTAL frekvenco.
Upoštevati 0x30 je navedeno zgoraj.

S spoštovanjem,
Silvio

 
hai,

Keil uporabe simulatorja.

u lahko enostavno najti napako.

 
Jaz sem nov tukaj in sem popolnoma ne razumejo pcon kot tudi scon Registrirajte se!
Otklonski nekdo me ven!

 
Mislim, da morate prebrati o osnovah mikrokrmilniška 8051 redisters, pojdite tukaj,
http://microcontroller51.blogspot.com/

 
Poskušal sem povezavo in mi tukaj, vendar ne more dostopati do it!
katere koli druge povezave, ki bo dala mi podrobno razlago
o SCON in PCON registrov!
hvala!

 

Welcome to EDABoard.com

Sponsor

Back
Top