Stránka 1 z 1

AT89C51 a vse okolo něj

Napsal: 14 led 2007, 13:43
od ladadada
Dobrý den, mám na Vás troch více otázek.
1) když mám prázdný miroprocesor 89C51 a přivedu na něj napájení(klasicky pin 40 +5V pin 20 0V) co by se mělo stát? ve škole nám říkaly že by se na vsech bránách mela nastavit +5V ale není tomu tak. nekde se nastavilo 0.5V a nekde 2.5V uplně náhodně.
2) mikroprocesor 89C51 popřípadě 89C2051 se musí "zapínat"? slysel jsem neco o tom že se na Reset privede +5V ale jenom ne chvíly, je to pravda?
3) V čem se liší 89C51 od 89C2051? liší se jenom v počtu pinů a velikosti pameti nebo i v něčem jiným?
4) naprogramoval jsem ve škole 89C51 timto programem:

mov R0,#0
mov R1,#0
mov R2,#6
clr P0.0
setb P0.1
clr P0.2
mov P1,#170
smycka:
cpl P0.0
cpl P0.1
cpl P0.2
mov A,P1
cpl A
mov P1,A
pozastav:
djnz R0,pozastav
mov R0,#0
djnz R1,pozastav
mov R1,#0
djnz R2,pozastav
mov R2,#6


mov A,P2
cjne A,#170,smycka
mov A,P2
cjne A,#170,smycka
end;

LED na pinu P0.0-2 a P1 by mely zhruba po vteřině blikat. ale když pripojím napájení a kristal -mám 9.2MHZ a k němu pripojený kondenzátory 33pF na zem. led blikají asi rychlostí 8kHz velice náhodně. Po ipulzu za reset led zmateně blikají 0.5-2sekundy potom se ustálý ve velice náhodném sledu s náhodnými stavy 0-5V. K čemu tam jsou ty kondenzátory? když je vyndám tak to bliká stejně zmateně jako předtím. Má tam být 33pF?
5) jde na mikroprocesor přivádět pulzy treba po vteřine a tak lépe kontrolovat co dělá?
6) Jakým způsobem se maže 89C51?
7) Jakým způsobem se programuje 89C51? na piny P2.6, P2.7, P3.6, 3.7 se privede 1. Bajt a zároveň se nastaví adresa na kterou se chce zapsat(ale to nevím kde) a jeste se nastaví nejakej pin pro zápis a to se zapíše do pameti? sebo se to děje jinak? a k čemu je tam pri programování krystal?
8) existuje něco jako echo mikroprocesoru? privedeme pulz a on se ozve co je to za typ?
9) lze mikroprocesor naprogramovat "ručně-manuálně"?
10) lze zapsat 5 bajtů a po chvíly daších 5? popřípadě po odpojení napájení?

Napsal: 14 led 2007, 18:45
od MiLe
co tak pozriet sa najskvor do datasheetov a potom sa opytat nato comu si neporozumel?

Napsal: 14 led 2007, 21:15
od nekmil
Kup si nějakou knížku. Je vidět že jsi zcela zmaten a máš v tom guláš.

Napsal: 14 led 2007, 21:35
od meno
Ja robím síce s PICkami. Takže podrobnosti o ATMELkách ti nepoviem Ale tu máš odkaz na nejakú literatúru:

http://www.ebastlirna.cz/modules.php?na ... 2&start=15

Bolo to pred časom tu na fóre. Je tam odkaz na knižku o 8051 v pdf. Tá 89C51 má myslím jadro 8051.

Odlišnosti procesorov si pozri na www.atmel.com sú tam k stiahnutiu katalógy a všetko čo potrebuješ !

A ešte k tomu programovaniu: Jednočipy sa ručne neprogramujú. Potrebuješ k tomu program a PC.

No v každom prípade si problematiku najprv podrobne naštuduj ! Nedá sa hneď začať programovať bez základov ! Postav alebo zožeň si programátor (na inete je spústa konštrukcií aj zo softwarom)

Napsal: 15 led 2007, 15:55
od tominekk
Bordel v tom máš teda pořádnej!!
Ale na něco odpovím.
AT89C51 a AT89C2051 se liší počtem portů a velikostí paměti programu (+možná o nějakou drobnost). Je třeba je restartovat aby začli pracovat - na dobu minimálně dvou strojových cyklů přivést log1 na pin RST. Pak se porty nastavují do FFH.
"Prázdný" procesor neexistuje! Vždycky nějakou informaci obsahuje (u AT89C2051 když smažeš paměť programu, zapíšeš do ní vlastně FFH!).
Na AT89C51 jde pouštět f=1Hz, ale je ti to na pytel - k odladění slouží SW.
Další odpovědi na programování máš v datasheetu krásně popsané.
Jenom by mě zajímalo, co si představuješ pod pojmem naprogramovat procesor "ručně - manuálně"?