www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik synchr. 2-Drat schnittstelle


Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich wollte eine FIP Anzeige durch ein LCD ersetzen. Habe nun meine 
Schaltung an das STK500 angesteckt und nur ein Teilerfolg erziehlt. 
Meine Schaltung sollte die ser. 8-Bit Parallel wandeln, da ich so einen 
modus nicht für den Usart im 8515 gefunden habe. Nach dem Teilerfolg 
habe ich das serielle Signal noch mals mit dem LA angesehen und 
festgestellt, das weitere pulse von 1-3 µs (Pulse habe keine Bedeutung 
hinsichtlich stop, parity usw.) meine Schaltung irretieren. Somit ist 
meine Schaltung nicht Brauchbar. Da serielle Data und Clk werden von 
einem anderen mc zur anzeige gesendet. Da aber der mc und der controller 
der Anzeige nur mit 600kHz getaktet werden, gehe ich davon aus, das 
dieser die Pulse gar nicht gemerkt hat.
Ich bitte euch nun mir mit etwas Code zu helfen, da ich noch Anfänger 
bin.
Signal:
1. Sequenz ca. 120µs da werden 8 Bit übertragen,
2. Sequenz ca. 220µs pause
3. Sequenz ca. 120µs ebenfalls 8 Bit
4. Sequenz ca. 220µs Pause
5. usw.
Die Zeit swischen 2 clk ist größer gleich 7µs
Der Clk Puls ist min. 5µs wenn kleiner = Störung Ich habe dies 
beobachtet, bei einem clk der 12µs lang war aber mitten drinne zwei 
kleine 1µs unterbrechungen aufwies, die meine Schaltung leider als 
zusätzliche clk sieht. Nach dem letzten Bit zwingend eine Pause da auch 
hier mist kommt.
Ich denke man kann die mit interupt machen, wo der clock anliegt, und 
einen anderen PIN an Port B oder auch D wo man das Bit zu diesen 
Zeitpunkt erfasst. Dies muss das bis 8 in ein reg rein und bis 8 rotiert 
werden, danach uss der Wert irgendwo abgelegt werden.
Wie gesagt, ich bin Anfänger und brauche euere Hilfe, ich abe noch 8 
Tage Urlaub und würde mein Gerät gerne wieder ablesen können..... Ich 
spendiere auch gerne ein six pack :)
ps. Die 8 Bit Daten sind abwechselnd Zeichenpositiion und Zeichenwert 
(ascii)

Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe hier mal meinen geistigen Bluterguss angehängt. loop220_1 soll ein 
delay von 220µs machen. 1. Versuch, passiert nichts.
noch zu rerklärung, mein LCD bekommt seine Zeichen, indem permanent ein 
speicherbereich ausgelesen wird. dieser Programmteil soll nicht anderes 
machen, indem es 8-bit enliest, überprüft ob bit 7 gesetzt ist (pos data 
= Speicheradresse) wenn nicht dann ist es das ASCII Zeichen, was an die 
POS geschrieben werden soll.


int0_1:
      ldi temp1, 0x00
      in temp1, portb
      andi temp1, 0x01
      or data, temp1
      lsl data
      brcs achtbit
      rcall delay4us
      reti

achtbit:
      cli
      sbrs data, 7
      rcall datenda
      mov pos, data
      ldi temp1, 0x01
      sts $0170, temp1
      ldi data, 0x02
      ldi temp1, 0x34
      rcall loop220_1
      sei
      reti
datenda:
      mov yl, pos
      st y, data
      ldi data, 0x02
      ldi temp1, 0x34
      rcall loop220_1
      sei
      ret

Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, einer da der mir helfen kann??????? vielleicht sogar aus raum ac

Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verzweifele, geht nicht zu datenda, ist die Verzweigung falsch?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein "achtbit" scheint mir ein Interrupthandler zu sein. Ist es 
sinnvoll, den mit brcs anzuspringen?

Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weis nicht ob es sinnvoll ist, da fehlt mir die erfahrung, diese 
verzweigung scheint zu funktionieren. die achtbt werden erst beim 8. 
interrupt angesprungen (theoretisch) nach dem data solange nach lings 
geshihtet wird bis das carry flag gesetzt wird.habe vergessen, initial 
is data 0b00000010. ich habe bei delay4us ein zeichen auf dem display 
ausgegeben und bei achtbit. diese kommen auch, aber bei datenda, kommt 
nichts.

Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
passier nix, hat jemand eine adndere Idee???

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Wahrscheinlich kommt niemand so richtig mit deiner 
Schnittstellen-beschreibung klar (ich auch nicht). Kannst du mal dein LA 
Ergebnisse posten.

>da ich so einen modus nicht für den Usart im 8515 gefunden habe.

Passt irgendwie mehr zu SPI.

MfG Spess

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FIP, das waren doch diese Alkohol-Kekse.

Wenn Du Hilfe willst, dann solltest Du schon irgendwelche Links zu den 
Sachen posten, die Du meinst.
Im Fach Hellsehen hatte ich immer ne 6.


Peter

Autor: Claus S. (mks-70)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
die datei wurde mit dem la Zeroplus aufgezeichnet, die software dazu 
gibt es als demo zum download, da kann man dann diese datei öffnen . LA 
ist ein 16032.
SPI dachte ich auch zuerst, aber ich kenne mich da nicht so aus, ich 
weis halt nur, das der sender über zwei normale ports (ohne 
sonderfunktion) mit einem usart im 4 Bit MC 7538A redet.
Die probleme sind halt die pulse (einzelne) zwischen durch.

danke

claus

Autor: Claus S. (mks-70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
FIP sind ne art VFD (Vacuum Fluressenz Display) ohne Controller. Dieses 
FIP was ich ersetzen muss hat 32 Zeichen a 14 Seqmente. Der Controller, 
der diese Anzeige steuert ist defekt.

Ich habe einen ausschnitt aus meinem Code hier eingestellt. kann auch 
gerne den rest posten, ist nix geheimes, und sollte dieses projekt 
funktionieren, freuen sich sicher auch andere.

gruß

claus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.