Import-Script
20.01.2002, 12:24
Hallo <BR> <BR>Kann mir jemand vonn Euch sagen wie ich herausfinden kann, wie ich am 89C52 die RS323 <BR>Schnittstelle benutzen kann? <BR>Han jemand ne Homepage wos erklärt ist oder schonmal ein programm geschrieben <BR>Ich wär dankbar für jede Hilfe;-)
Import-Script
20.01.2002, 14:05
Unter www.8052.com hab ich viele Informationen zu Controllern bekommen, auch für für die serielle Schnittstelle. Die Sache hat nur einen Haken: Die Seite ist angelsächsisch, sprich englisch! Zum 89C52 kann ich dir nix sagen, hab mit dem noch nie gearbeitet, aber mit dem 80C32. Soweit ich weiss, sind die ja identisch, bis auf das Gehäuse und den internen PROM.
Import-Script
22.01.2002, 14:56
Hi Creek, <BR>nach Deiner Frage nehme ich an, dass Du noch ziemlich am Anfang mit den MCUs stehst. <BR>Ich gehe mal davon aus, dass Du einen Assembler und die Möglichkeit hast, Deinen 89c52 zu brennen sowie einen Experimentieraufbau um den Controller laufen zu lassen. <BR>Du solltest möglichst die PROG-Studio Software von Batronix benutzen, weil die ganzen Definitionen in den u.a. Rutinen den dort für den 89C52 definierten entsprechen. <BR>Du musst für Deinen Controller dann noch ein RS232-Interface haben, da ja die MCUs nur 5V Pegel liefern und akzeptieren, während RS232 mit +-10V (etwa) arbeitet. Das geht ausgehend von 5V gut mit dem MAX232-IC und ein paar Kondensatoren (oder mit dem RS232-Modul von Batronix). <BR>Dann ist das mit der RS233 eigentlich sehr einfach. <BR> <BR>Nachfolgend die notwendige ASM-Routinen zur Einrichtung der seriellen Schnittstelle unter Verwendung von Timer 2 und die elementaren Zeichen-Eingabe-Asugabe Routinen. Sie stammen aus einem Monitorprogramm, das ich für 80c51-kompatible geschrieben habe (ein reines Entwicklungsprogramm, also nicht auf Eleganz geschrieben und nur teilweise auf meinem eigenen Mist gewachsen!). <BR> <BR> <BR>Include 89C52.mc <BR> <BR>;Belegte Speicheradressen: <BR>Position EQU 0h <BR>Inchar EQU 3Fh <BR>hexhi EQU 3eh <BR>hexlo EQU 3dh <BR>tem1 EQU 3ch <BR>tem2 EQU 3bh <BR>tema1 EQU 3ah <BR>tema2 EQU 39h <BR>sw1 EQU 38h <BR>sw2 EQU 37h <BR>Sendebusy BIT 0h <BR>Charrec BIT 1h <BR> <BR>;Überspringe Interruptvektoren: <BR>LJMP Initialisierung <BR> <BR>;************************************************* ************************ <BR>;Serieller Interrupt <BR>(0023h): <BR> IF BIT TI THEN ;Byte gesendet: <BR> CLR TI ; Löschen des Transmit Interrupt (TI) Bits <BR> CLR Sendebusy ; Löschen des Sendebusy Bits <BR> ELSE ;Byte empfangen: <BR> CLR RI ; Löschen des Receive Interrupt (RI) Bits <BR> MOV Inchar,SBUF ; Anzeigen des empfangenen Wertes <BR> SETB Charrec <BR> END IF <BR>RETI ;Rückkehr aus der Interruptroutine <BR> <BR>;************************************************* ************************ <BR>(0100h): <BR>Initialisierung: <BR> MOV SP, #81h <BR> MOV SCON,#01010000b ;Modus 1, 8bit UART, REN = 1 <BR> ORL PCON,#80h ;Bit SMOD setzen <BR> MOV TMOD,#00100000b ;Timermodus 2, Autoreload <BR> MOV TH1,#F3h ;Baudrate ist 9614 (~ = 9600 Baud) <BR> MOV tl1,#f3h <BR> SETB TR1 ;Timer 1 starten <BR> SETB ES ;serielle Interruptfreigabe <BR> SETB EA ;globale Interruptfreigabe <BR> SJMP Hauptprogramm <BR>;************************************************* *** <BR>WRT: ;Write Character in A <BR> MOV SBUF, A <BR> SETB Sendebusy <BR> _waits: <BR> JB Sendebusy, _waits ;Wait until sent <BR> RET <BR>RDT: ; Read 1 Character from Terminal <BR> JNB Charrec, RDT <BR> MOV A,Inchar ; truncate to upper case alphanumeric <BR> CLR charrec <BR> ANL A,#7fh <BR> IF A > #60h THEN <BR> CLR C <BR> SUBB A,#20h <BR> END IF <BR> LJMP wrt ; and Echo <BR> <BR> <BR>Das Programm (mon_001.asm) macht natürlich noch mehr. Es ist ein vollständiges Monitorprogramm für 80c51-kompatible. <BR>Das ganze Programm kannst Du mit FTP von dem Public-Bereich auf meinem Rechner ziehen. Log Dich mal mit Benutzername "anonymous" und Deiner e-mail Adresse als Password auf "lumb.ifm.uni-kiel.de" ein. <BR>Da findest Du auch ein Applikationsblatt von Phillips (c51_baud.pdf) für Quarz und Baudratenauswahl. <BR> <BR> <BR>Weitere Hilfe entweder hier im Forum oder über meine e-mail (<A HREF="mailto:hphansen@ifm.uni-kiel.de">hphansen@ifm.uni-kiel.de</A>). <BR>HPH
Powered by vBulletin® Version 4.1.7 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.