PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AT89C2051 zu AT89C52 - Differenz???



Import-Script
04.12.2003, 23:30
Hallo Freunde der Sonne, <BR> <BR>kann mir einer oder alle von euch mal eine Erklärung f&uuml;r folgendes geben? <BR> <BR>Mit einem AT89C2051 kann ich eine Menge ansteuern, unter anderem auch ein 4-stelliges LC-Display welches &uuml;ber einen PCF-8577 seriell angesteuert wird: Wenn ich nicht alles vertauscht habe sollte genau selbiges Programm auch auf dem AT89C52 laufen, was es aber nicht tut. Frage nun, warum will der nicht wie ich will. Ich benutze die beiden Port-Ausgänge P3.6 und P3.7 des AT89C52. Alle Ports sind als Ein/Ausgang geschaltet und keiner wird f&uuml;r externen Datenzugriff oder sonst was benutzt. Den Eingang EA/Vpp habe ich auch auf &#43;U<sub>B</sub> gelegt. Irgendwie habe ich ein Loch im Kopf und bin auf eine Antwort, bzw. einen Denkanstoss angewiesen, bzw. w&uuml;rde mich &uuml;ber eben einen solchen freuen. <BR> <BR>Das Timing sollte doch bei diesen Bausteinen gleich sein?! <BR> <BR>Na ja, wie auch immer lasse ich nun die Spekulationen und hoffe auf den Publikumsjoker a la Jauch<sub>en</sub> Heinrich<img src="http://progshop.com/elektronik/diskussion/clipart/wink.gif" border=0>. <BR> <BR>Dank schon mal im voraus, auch wenn ihr davon schon einen Schrank voll habt<img src="http://progshop.com/elektronik/diskussion/clipart/blush.gif" border=0>. <BR> <BR>Gruß Winnie

Import-Script
05.12.2003, 09:32
Hoi, <BR> <BR>du fragst nach einem Unterschied? <BR> <BR>Hier ist EINER: <BR> <BR>P3.6 gibt es bei C2051 nicht...als Pin. <BR> <BR>ciao <BR>ed.<img src="http://progshop.com/elektronik/diskussion/clipart/wink.gif" border=0>

Import-Script
05.12.2003, 11:48
Ja, dass weiss ich auch dass es beim AT89C2051 der &#40;interne&#41; Ausgang vom Komparator ist. Ich habe aber am Anfang des Programms SCL und SDA jeweils mit dem BIT-Befehl von Batronix die Portausgänge P3.6 und P3.7 zugewiesen. Der Rest des Programms ist aber gleich. <BR> <BR>Hast Du sonst noch eine Idee? <BR> <BR>Gruß Winnie <BR> <BR>PS. Wenn es sich einrichten lässt erzähl mir jetzt aber nichts von Deinen Kondenswasser-Tomaten<img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0>.

Import-Script
05.12.2003, 18:53
Hi Winnie . <BR> <BR>Dein Problem sind wohl die alternativen Funktionen von P3.6 und P3.7 ... <BR> <BR>P3.6 WR &#40;external data memory write strobe&#41; <BR>P3.7 RD &#40;external data memory read strobe&#41; <BR> <BR>Dein Prog will externes RAM benutzen ??? <BR>

Import-Script
05.12.2003, 21:04
hoi Winnie, <BR> <BR>meine kondenswassertomaten lassen fragen ob dein <BR>programmiergeraet korrekt funktioniert.....ob dein quarz auf der richtigen frequenz schwingt... <BR>ob dein C52er ueberhaupt so was kann wie ein led blinken. <BR>mehr wagen sie nicht zu fragen...sie sind sogar schon rot geworden.... <BR> <BR>na? <BR>ed.<img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0>

Import-Script
05.12.2003, 22:23
@icke <BR> <BR>&#62;&#62;Dein Prog will externes RAM benutzen ??? <BR> <BR>Ich dachte wenn EA/Vpp auf &#43;U<sub>B</sub> liegt wäre das abgestellt und man könnte alle vier Ports als Ein/Ausgänge benutzen? Habe ich noch was &uuml;bersehen? <BR> <BR>@ed <BR> <BR>&#62;&#62;ob dein <BR>programmiergeraet korrekt funktioniert..... <BR> <BR>Jau, dat tut wohl tuten. <BR> <BR>&#62;&#62;ob dein quarz auf der richtigen frequenz schwingt... <BR> <BR>Eigentlich schon. <BR> <BR>&#62;&#62;ob dein C52er ueberhaupt so was kann wie ein led blinken <BR> <BR>Ja, und zwar eine selbstgebaute große 2-stellige 7-Segment-Anzeige aus 56 LED&#39;s. <BR> <BR>Also wie auch immer, es sollte also im allgemeinen tatsächlich auch im 52er laufen. Sehe ich das richtig? Dann gibt es nur noch die Möglichkeit dass ich den falschen Teil aus meinem anderen Programm kopiert habe und damit selbst den Fehler mit eingebaut habe. <BR> <BR>Gruß Winnie

Import-Script
05.12.2003, 22:38
<i>Ich dachte wenn EA/Vpp auf &#43;UB liegt wäre das abgestellt und man könnte alle vier Ports als Ein/Ausgänge benutzen? Habe ich noch was &uuml;bersehen? <BR></i> <BR> <BR>Hmm , mit EA /Vpp auf &#43;Ub legt man fest , <BR>ob interner oder externer Prog.Speicher . <BR>Mit dem befehl z.B. &#39; movx speicheradr,A &#39; wird WR , DR aktiv . <BR>Stimmt&#39;s ? <BR>

Import-Script
06.12.2003, 08:01
tutn&#39; tuts&#39; <BR> <BR>der &#39;52 hat einen timer mehr ! <BR>...aber das sollte dich ja nicht stoeren, <BR>weil dein &#39;2051 programm diesen ja nicht hatte. <BR>wenn du programme kopierst,dann genuegt 1 bit <BR>an der falschen stelle..endstation. <BR> <BR>hast du keinen simulator? <BR>teste die einzelnen teile deines programms... <BR>hast du auch keine fehlermeldung vom assembler? <BR>hast du ein maechtiges bierfass? <BR> <BR>ed.<img src="http://progshop.com/elektronik/diskussion/clipart/kiss.gif" border=0> <BR> <BR> <BR>

Import-Script
06.12.2003, 14:46
@icke <BR> <BR>&#62;&#62;mit EA /Vpp auf &#43;Ub legt man fest , <BR>ob interner oder externer Prog.Speicher . <BR> <BR>Ja, das meine ich ja damit wenn ich sage ich kann &uuml;ber alle 4 Ports frei verf&uuml;gen. Damit stehen dann doch auch P1 und P2 zur Verf&uuml;gung, wobei dann aber P1 Open Drain Ausgänge benutzt. Solange kein MOVX auftaucht sollte das doch gehen?! <BR> <BR>@ed <BR> <BR>&#62;&#62;Simulator? Fehlermeldung? Bierfass? <BR> <BR>Nein. <BR>Nein. <BR>Nein. <BR> <BR>Und zu letztem nein hole ich mir gleich ne billige Flasche Wein aus dem Schrank, dann sieht die Welt bestimmt gleich wieder viel bunter aus. Mit dem Programm mache ich dann besser nächste Woche weiter. <BR> <BR>Und mir ist ein ganz blöder Verdacht in die &#40;noch&#41; trockenen grauen Zellen gerauscht. Ich habe nur einmal f&uuml;r ein Karten-Schloss einen 4MHz Quarz benutzt und zum Anzeigen der internen Vorgänge provisorisch das LCD angeklemmt. Kann durchaus sein dass ich genau diesen Ausschnitt kopiert habe?! Damit wären die Daten dann wohl etwas zu hastig unterwegs, weil ich sonst immer &#40;wie auch hier&#41; 12MHz nehme. <BR> <BR>Tja und was lernen wir daraus? Besser funktionierende Programmteile als Include-Dateien ablegen und man weiss worum es geht. Obwohl es immer heisst ein Genie findet sich auch im Chaos zurecht. Na dann bin ich wohl doch nicht so gut, oder mein Chaos ist zu gross.<img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/rofl.gif" border=0> <BR> <BR>Gruß Winnie

Import-Script
06.12.2003, 15:05
Hi Winnie , <BR>wenn Du nur mit den Port-Ausgängen P3.6 und P3.7 probs hast , <BR>dann wird wohl dein prog den &#40; nicht vorhandenen &#41; externen Speicher ansprechen wollen ... ? <BR> <BR>Da fällt mir gerade ein , der AT89C2051 hat ja 2k Flash , und der AT89C52 8k Flash . <BR>Vielleicht gibt&#39;s deshalb ein prob mit&#39;m Asembler ? <BR>

Import-Script
07.12.2003, 15:22
Hallo Icke, <BR> <BR>ich habe nun noch zusätzlich im Programm und auf der Platine die Port-Pins P1.5 und P1.6 angeschlossen bzw. programmiert. Nun funktionierts, aber eben nur mit dem Port 1. <BR> <BR>Im Programm liegen jetzt die Port-Pins P1.5/P1.6 und P3.6/P3.7 absolut parallel. Dies in folgender Form: <BR> <BR>SDA BIT P3.7 <BR>SCL BIT P3.6 <BR>SDA_1 BIT P1.5 <BR>SCL_1 BIT P1.6 <BR> <BR>Und wie gesagt Pin EA /Vpp auf &#43;Ub. Ich benutze Timer 0. <BR> <BR>Wo liegt der Fehler dass das Mistteil nicht auf Port 3 funktioniert. Das interessiert mich jetzt schon vom Prinzip her, soweit kommt&#39;s noch das mich so&#39;n blöder Chip auf die Rolle nimmt. Obwohl bis jetzt hat er&#39;s ja geschafft<img src="http://progshop.com/elektronik/diskussion/clipart/uhoh.gif" border=0><img src="http://progshop.com/elektronik/diskussion/clipart/angry.gif" border=0>. Auch wenn es die W/R-Leitungen sind, so sollten die sich doch ganz normal benutzen lassen, wenn o. g. Pin EA auf High liegt. <BR> <BR><font color="0000ff">Hat noch irgend jemand eine Idee, oder noch besser weiss ganz genau warum das so ist?</font> <BR> <BR>Gruß Winnie

Import-Script
07.12.2003, 15:58
P3.7 bzw. P3.7 werden geändert, sobald Du irgendwo ein MOVX drin hast. <BR> <BR>Disable doch mal das ALE. Wenn Du dann irgendeinen Code drin hast, der unbeabsichtigt MOVX macht oder in den Bereich oberhalb des Internen Flash zugreift, dann wird auch das ALE geschaltet. <BR> <BR>Ist Dein Programm o.k. muß also an PSEN und ALE absolute Totenstille herrschen, ansonsten ist der Wurm drin. <BR> <BR> <BR>Peter <BR>

Import-Script
07.12.2003, 21:14
Hallo Peter, <BR> <BR>ich habe keinen MOVX im Programm, weil es ja ausschliesslich den internen Flash nutzt und &uuml;berdies auch <BR>&#40;noch&#41; sehr klein ist. <BR> <BR>Ich benutze aber einen MOVC um die Daten-Tabelle f&uuml;r das 4-stellige LCD und auch das zusätzliche <BR>2-stellige LED &#40;56LED&#39;s als 2x7-Segment&#41; Display auszulesen. <BR> <BR>Gerade habe ich noch mal mit dem Oszi nachgesehen. PSEN gibt ein fröhliches ca. 2MHz Rechteck, ALE ist <BR>ebenso High wie der fest verdrahtete EA-Pin und ich es gerne wäre<img src="http://progshop.com/elektronik/diskussion/clipart/wink.gif" border=0>. <BR> <BR>Nach dem Datenblatt kann man ALE abschalten indem man Bit 0 des SFR 8Eh einschaltet. Mmmhhh, bei 8Eh steht <BR>in meinem Datenblatt nichts. Wenn ich also nur dieses Bit dort setzen will könnte ich doch z. B. <BR>ORL 8Eh,#01 benutzen um eben das erste Bit zu setzen?! <BR> <BR>Also wie auch immer, habe ich in dieser Beziehung total den Plan verloren. Aber dennoch funktioniert <BR>alles, aber eben nur &uuml;ber o. g. andere Pins &#40;Ports&#41;. Ich <b>will</b> &#40;nicht möchte&#41; wirklich wissen wie, bzw. <BR>woran das liegt. Eine Sache die zwar funktioniert, aber deren ganaue Ursache bzw. <font color="0000ff">Rekonstruktion</font> nicht zu <BR>ergr&uuml;nden ist erfordert bei mir sonst eine <font color="0000ff">Reanimation</font>. <BR> <BR>In kurzer Zeit brauche ich den externen Speicher, dann sollte obiges wohl wieder anders aussehen. <BR> <BR>Wie auch immer wäre ich wirklich f&uuml;r eine ganz konkrete Aussage dankbar. Es muss doch einen trifftigen Grund geben warum alles so funktioniert, wie es eben funktioniert. <BR> <BR>Das sind echt Sachen die mich in den Wahnsinn treiben können, aber soweit ist es aj da auch nicht mehr hin...<img src="http://progshop.com/elektronik/diskussion/clipart/blush.gif" border=0> <BR>Gruß Winnie <BR>

Import-Script
07.12.2003, 21:43
Winnie, <BR> <BR>elektrisch verhalten sich P1 und P3 laut datenblatt genau gleich. ich kann mir nur vorstellen, dass die ports bzw pins verschieden initialisiert werden....bevor in eine I2C routine <BR>gesprungen wird. <BR> <BR>melde dich von der reanimation... <BR>ed.<img src="http://progshop.com/elektronik/diskussion/clipart/lol.gif" border=0> <BR>

Import-Script
07.12.2003, 21:54
Hi Winnie! <BR> <BR>Hast Du schonmal versucht, Dein Programm mal testweise zur&uuml;ckzukopieren, um zu testen, ob es in dem 2051er noch läuft? <BR> <BR>Einen Versuch wärs wert, denke ich... <BR> <BR>Ehm, hast Du die richtige Prozessordatei eingebunden, also die 89C52 anstatt der 89C2051? Blöde Frage, weiß ich, ist mir aber auch schon mal so gegangen... Nach einigen Stunden hab ichs dann gesehen... ;-&#41; <BR> <BR>Viel Erfolg weiterhin... <BR> <BR>Gr&uuml;ße <BR>Andy

Import-Script
07.12.2003, 21:56
Ich meine im 2051er dann auch am Port 3. z.B. am Pin P3.5 und P3.7

Import-Script
07.12.2003, 21:57
&#34;PSEN gibt ein fröhliches ca. 2MHz Rechteck, ALE ist <BR>ebenso High wie der fest verdrahtete EA-Pin&#34; <BR> <BR>Dann hast Du Dich in den Pins verzählt. Das Rechteck ist an ALE, solange Du nicht &#34;ORL 8Eh,#01&#34; gemacht hast. <BR> <BR>PSEN zappelt und ALE ist ruhig, geht aber in keinem Fall. <BR> <BR> <BR>Peter

Import-Script
07.12.2003, 22:38
Andy, <BR> <BR>&#62;Ehm, hast Du die richtige Prozessordatei &#62;eingebunden, also die 89C52 anstatt der 89C2051? <BR> <BR>Winniewachaufistesdas? <BR>Einverzaehleristauchleichtdrinzwischeneinemfluchun ddemnaechsten lol <BR> <BR>..<img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0>..

Import-Script
07.12.2003, 23:05
@Andy <BR> <BR>&#62;&#62;Hast Du schonmal versucht, Dein Programm mal testweise zur&uuml;ckzukopieren, um zu testen, ob es in dem 2051er noch läuft? <BR> <BR>Ja habe ich, mehrmals. <BR> <BR>&#62;&#62;Ehm, hast Du die richtige Prozessordatei eingebunden, also die 89C52 anstatt der 89C2051? <BR> <BR>&#62;&#62;Blöde Frage... <BR> <BR>Nein, keine blöde Frage, kann durchaus passieren. Leider in diesem Fall nicht. <BR> <BR>@Peter <BR> <BR>&#62;&#62;Dann hast Du Dich in den Pins verzählt. Das Rechteck ist an ALE, solange Du nicht &#34;ORL 8Eh,#01&#34; gemacht hast. <BR> <BR>Jawohl, Du hast recht. Ich habe es gerade nochmal am Oszi kontrolliert: <BR> <BR>ALE Pin 30 --&#62; toggle &#40;Rechteck&#41; <BR>PSEN Pin 29 --&#62; High <BR> <BR>&#62;&#62;Dann hast Du Dich in den Pins verzählt. Das Rechteck ist an ALE, solange Du nicht &#34;ORL 8Eh,#01&#34; gemacht hast. <BR> <BR>Also wäre diese Zeile korrekt? Ich habe sie noch <b>nicht</b> eingebaut. <BR> <BR>@ed <BR> <BR>&#62;&#62;Winniewachaufistesdas? <BR>Einverzaehleristauchleichtdrinzwischeneinemfluchun ddemnaechsten <BR> <BR>Donnerwetter, der Satz viel aber schwer, gelle?! <BR> <BR>Gruß Winnie

Import-Script
07.12.2003, 23:10
Hm, P3 liegt aber bei beiden auf der gleichen Adresse.

Import-Script
07.12.2003, 23:37
Ja, ist soweit richtig, bis auf den kleinen Unterschied dass P3.6 beim AT89C2051 der interne Ausgang P3.6 des Komparators P1.0 und P1.1 ist. Selbiger ist aber <b>nicht</b> nach aussen gef&uuml;hrt und beim AT89C52 gar nicht vorhanden. <BR> <BR>Gruss Winnie

Import-Script
08.12.2003, 10:17
hmm_____pin16=====SCL?????leichtzulesen.ed.<img src="http://progshop.com/elektronik/diskussion/clipart/happy.gif" border=0>

W.W.
12.07.2004, 12:40
Das beste ist dein Programm zu nehmen, in den Kopf
die "Include" Anweisung von Include 89C251 (oder so) auf den 89C52 zu ändern.
Dann das Proggi neu kompilieren und dann sollte es gehen.
Was auf dem kelinen 89C2051 läuft MUß erst recht auf dem großen Bruder 89C52 (oder 89S8252) laufen !!!

So was ähnliches hatte ich auch mal als Problem.
Nachdem ich die Include Anweisung geändert und neu kopiliert hatte war wieder alles im Lot :-)

by W.