-
        

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Umstieg von AT90S85 auf ATmega16 geht nicht, benötige Tipp

  1. #1
    Gast

    Umstieg von AT90S85 auf ATmega16 geht nicht, benötige Tipp

    Anzeige

    Hallo, vielleicht kann mir einer den Tipp geben, damit ich weiter komme.
    Ich habe ein Entwicklungsbord ( Funkamateur, Reihe Bascom von Roland Walter ) und dieses für einen AT90S8535 angepasst. Die Baugruppe läuft mit dem AT90S8535 ohne Probleme. Da mir aber der Programmspeicher zu eng wurde, wollte ich auf den ATmega16 umsteigen. Die Unterschiede ( Interner Oszillator 1MHz, TWI fest auf PortC0 und 1 ) habe ich beachtet. Ich kann den M16 auch programmieren. Ein zweiter M16 schweigt auch.
    Aber selbst ein 3-zeilen-Programm: nur die def-Instruktion, LCD-Konfigiration und eine Textausgabe auf das LCD-Display laufen nicht. Da ich den internen Oszillator benuze habe ich keine Instruktion zur Quarzfrequenz im Programm. Mit läuft es aber auch nicht.
    Wo habe ich was Kleines aber Prinzipelles übersehen?
    Im Moment weiss ich mir keinen Rat mehr.
    Tschüss
    Hannes

  2. #2
    Gast
    Ich, Hannes, bin es noch mal selbst.
    Die Hardware ist in Ordnung. Der M16 arbeitet ( eine LED blinkt ). Das LCD-Display 20*4 ist auch in Ordnung ( nochmals den 8535 reingesteckt ) und das alte Prg geladen. Das Display liegt auf PC2 bis PC7. Beim 8535 läuft das Display als 20*4. Beim M16 habe ich auch die Variante 20*4A probiert. Das Display zeigt keinen Text nur zwei Zeilen alle Pixel und zwei Zeilen nichts.
    Als Bascom habe ich 1.11.7.4.
    Hat jemand noch eine Idee?
    Tschüss
    Hannes

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    28
    Beiträge
    2.624
    Hi Hannes!
    Wenn auf dem Display 2 Linien und 2 mal nichts zu sehen sind, dann heißt das, dass das Display keine Signale bekommt!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    28
    Beiträge
    2.624
    Also, wenn ich das richtig sehe sind die beiden µC's Pinkompatibel!
    Hast Du vielleicht die interne Quarzfrequenz falsch eingestellt?

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    47
    Beiträge
    1.246
    Hallo Hannes,
    die 2 Zeilen alle Pixel zeigt das Display, weil es noch nicht initialisiert wurde.
    Hast du die Ports in Options->Compiler->LCD richtig angegeben?
    Die Taktfrequenz $crystal = 1000000 solltest du auch angeben. Sämtliche Zeiten hängen davon ab.
    Gruß, Michael

  6. #6
    Gast
    Hallo Florian und Michael,
    ist nett, dass Ihr mit überlegt. Es läuft noch nicht. Der M16 läuft noch mit seinem internen RC-Oszillator wie er ab Werk eingestellt ist. Ich habe auch nichts an den Fuse-Bits probiert und habe mehrer M16 vor Ort. Ich kann den 8535 ins Board stecken und im Programm die def-Zeile und die Quarzfrequenz anpassen. Dann läuft es: LED am Port PD6 blinkt und LCD ( PC2 bis PC7 ) zeigt den Text an. Für mich das sichere Zeichen, dass in der Hardware und im Syntax alles formal in Ordnung ist. Die LCD-Configurations-Zeile habe ich auch heraus genommen und nehme für beide Prozessorvarianten die Default-LCD-Konfiguration aus den Compiler-Optionen ( um Schreibfehler auszuschliessen ). Ich habe jetzt auch noch ein 16*1-Display geprobiert. Das gleiche Problem.
    Ich stosse in der BASCOM-Hilfe aber immer wieder auf die Stelle, dass es bei 20*4a und 16*1a nBesonderheiten gibt. Mit den AT90S2313 bis 8535 habe ich schon reichlich Baugruppen realisiert und keine Probleme. Da dies hier mein erster versuch mit dem M16 ist, vermute ich einen Denkfehler bei mir. Beim M16 kann I2C ja nur an PC0 und PC1 angeschlossen werden. Gibt es beim M16 unter Bascom eine ähnliche Einschränkung ?
    Muss ich den Befehle $LCD=&Hadress benutzen? Mir ist da aber die Zuordnung der Adressen ( &H8 ... &H60 ) unklar. Da wird dann auch der Anschluss am Port D gefordert. Dies werde ich jetzt probieren.
    Tschüss
    Hannes

  7. #7
    Gast
    Display reagiert !!!
    Ich ( Hannes ) habe jetzt die DB4 bis DB7 vom Display auf PD4 bis PD7 gelegt, wie es in der BASCOM-Hilfe unter dem Befehl $LCD angegeben ist. RS und E habe ich an PB0 und PB1 gelegt. Das Prg entsprechend angepasst und nun zeigt das 16*1-Diaplay den Text an.
    Wenn mir noch jemand den Tipp zu den Adressen &H8 ... &H60 geben kann, dann sehe ich keine Probleme mehr.
    Florian, Dein Hinweis, dass dann ( wenn nur alle Pixel ON bzw. OFF keine Daten zum LCD kommen ) keine Daten zum Display kommen, hat mir schon die richtige Richtung angedeutet, Danke.
    So jetzt erst Mal Luft holen.
    Tschüss
    Hannes

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    28
    Beiträge
    2.624
    Hi Hannes!
    Herzlichen Glückwunsch! :o)
    Dann kanns ja jetzt losgehen mit proggen, ne!? ;o)
    Viel Spass!

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    08.08.2004
    Ort
    durmersheim international
    Alter
    56
    Beiträge
    159
    hi,
    an sich kannste deine software vom 85er ohne probleme auf den mega16 rübernehmen, aber beachte, dass portc im auslieferungszustand das (enablede) JTAG-interface belegt, also das fusebit jtagen aufgehoben wird.
    dann funtzt's auch mit portc.
    gruss, harry

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    28
    Beiträge
    2.624
    Hi harry!
    Was bitte ist das JTAG-Interface?

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •