Propojení 89c2051

L

Livingston

Guest
Hai,
Navrhl jsem jednoduchou obvodu k zobrazení některých znaků v pc
Že obvod obsahuje jeden MAX232 obvod a základní pracovní okruh pro 89c2051 (obsahuje 11,0592 krystal se dvěma 33pf a 8,3 k ohmů a 10ľf pro reset pin).

Program je vykonávající dobře (testováno s 89c51 řadič), ale pokud jsem programoval stejný kód v 89c2051 neexistuje žádný výstup z UART

Baurd sazba je 9600bps

/*------------------------------------------------ ------------------------------
Serial.c
-------------------------------------------------- ----------------------------*/

# Include <REG52.H> / * speciální funkce rejstříku prohlášení * /
/ * Pro zamýšlené 8051 derivát * /

# Include <stdio.h> / prototyp prohlášení * pro I / O funkce * /# Ifdef MONITOR51 / * Ladění s-51 potřebuje Monitor * /
char kód rezervy [3] _at_ 0x23, / * prostor pro sériovou přerušení, pokud * /
# Endif / * Stop Exection s Řadový intr.* /
/ * Je povolen * /

/*------------------------------------------------
Funkce zpoždění
------------------------------------------------*/
neplatné Delay (const unsigned int zpoždění)
(
unsigned int x, y;
pro (x = 0; x <= zpoždění; x )
(
pro (y = 0, y <= 120, y );
)
)

/*------------------------------------------------
Hlavním C funkcí.Uskutečňování programu začíná
zde po inicializaci zásobníku.
------------------------------------------------*/
void main (void) (

/*------------------------------------------------
Nastavení sériového portu pro 9600 baudů na 11,0952 MHz.
------------------------------------------------*/
# Ifndef MONITOR51
SCON = 0x42; / * SCON: režim 1, 8-bit UART, aby rcvr * /
TMOD | = 0x20; / * TMOD: časovač 1, mód 2, 8-bit reload * /
TH1 = 0xFD; / * TH1: reload hodnotu 9600 baud@11.0592 * MHz /
TR1 = 1; / * TR1: timer 1 běh * /
TI = 1; / * TI: TI soubor poslat první char * na UART /
# Endif

/*------------------------------------------------
Všimněte si, že vložený program nikdy východy (protože
neexistuje žádný operační systém k návratu k).To
musí smyčky a popravit navždy.
------------------------------------------------*/
while (1)
(
P1 ^ = 0x01; / * Přepínání P1.0 pokaždé, když jsme tisk * /
Delay (1000);
printf ("Livingston \ n"); / * Tisk "Livingston" * /
)
)
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu

 
Kolik je váš kód velikosti
89c51 má 8 KB flash, zatímco 89c2051 má pouze 2 KB flash

Citace:Baurd sazba je 9600mhz

 
zvědavá, proč nepoužívat některé frekvence, jako jsou 8M, 12M, 16M nebo 20MHz?

 
89c51 regulátory rozdělit taktovací frekvenci o 12 interně.

Chcete-li dosáhnout minimální chyby vůbec (většina), přenosová rychlost 11,0592 MHz krystalu apartmánů nejlepší.

Můžete také použít jakýkoliv jiný oscilátor, ale s nějakou chybu v přenosové rychlosti.

Jde o
Nandhu

 
sashijoseph napsal:

Je Port1 připínání, jak je stanoveno v kódu?
 
Jen pro kontrolu, zda je nastavení v pořádku, zakomentujte printf a uvidíme, jestli P1.0 přepíná.

 
sashijoseph napsal:

Jen pro kontrolu, zda je nastavení v pořádku, zakomentujte printf a uvidíme, jestli P1.0 přepíná.
 

Welcome to EDABoard.com

Sponsor

Back
Top