hallo, ich saß heute vor meinem at90s8535 und habe mir überlegt, was ich denn nun bauen/löten soll. ich kann ihn schon programmieren und habe 2 LED's und einen Taster dran. :-) bin schon ganz schön weit!!! :-) also zu meiner frage: was soll ich denn nun noch für eine schaltung dranlöten? ich brauche ideen!!!! irgendetwas leichtes zum anfang. was aber auch lehrt und spaß macht. habt ihr vorschläge? mfg raoul4
Hmm, ich würd mit einem LCD Display weitermachen, das kann man vielfältig nutzen. Und dann evtl. noch einen Temperatursensor odersowas... MfG Torsten
ganau! so einen temperatursensor habe ich mir gestern bei reichelt bestellt. und wie kann ich den dann abfragen? das war so ein billiger für 77 cent. ich muss wohl den wiederstand messen. also sagen wir mal glatte 5 volt durch den sensor und dann zu so einem AD wandler und messen, oder? ich hatte auch schon mal ein LCD dran und es mit bascom angesteuert. is ja der hammer wie groß der code für eine zeile text auf dem display wird. ich lerne jetzt C, aber weiß noch nicht wie ich da im 4 bit modus ein LCD ansteuere. mfg raoul4
Hi, Du mußt zum Widerstand-Messen noch einen Widerstand neben Deinen NTC (Temperaturabhängiger Widerstand, Dein Temperatursensor) einbauen, also so: VCC---NTC---Widerstand---GND | | Messen Sebastian
Lasst ihn mal lieber mit LED (Siebensegmentanzeigen) anfangen, LCD ist schon ein bisschen komplexer.
mhmm hattest du nichma irgendwo erwähnt das du auch codevision benutzt? der hat lcd-rouinen.
danke für die antworten. aber, in der lcd routine steht: BEFORE #include -ING THIS FILE YOU MUST DECLARE THE I/O ADDRESS OF THE DATA REGISTER OF THE PORT AT WHICH THE LCD IS CONNECTED! EXAMPLE FOR PORTB: #asm .equ __lcd_port=0x18 #endasm #include <lcd.h> ............. wenn ich jetzt __lcd_port nu mit 0x18 deklariere, dann weiß doch das programm nicht, an welchen pinns die (ich glaube es waren 5) kabel angeschlossen sind, oder? ich verstehe das nicht!! helft mir bitte. mfg raoul4
da gibs doch sonen wunderschönen code wizzard da gehste einfach nur auf LCD stellst in nem Pulldownmenü ein an welchem Port das hängen soll und dann zeigt er dir darunter an welchen LCD Pin du an welchen Pin vom Prozessor hängen sollst.
wenn du dann unter File (im Fenster vom Code Wizzard) auf Generate Save and Exit drückst generiert er dir auch den Sourcecode wo alles definiert ist und so.
hallo, hab jetzt ein lcd drangelötet und kann es auch (fast) ansteuern. ich hab zwar ein einzeiliges display mit 16 zeichen (von reichelt, war ziemlich billig), aber es besteht irgendwie aus 2 displays mit jeweils 8 zeichen. (hab ich mal erfahren, mit bascom konnte ich es vollständig ansteuern) mit der lcd routine von codevision (lcd.h) geht es nicht mein display anzusteuern. ich schaffe immer nur die ersten 8 zeichen. was soll ich jetzt machen??? mfg raoul4
Dann schreibst du das Ram des LCD mal voll mit Zahlen, oder besser mit einer fortlaufenden Reihe, also auf speichertelle 0 eine 1 auf speicher stelle 15 eine 16 etc, dann sollte auf dem ganzen LCD zumindest komische Zeichen zu sehen sein. Dann nimmst du das 8. Zeichen (das erste der zweiten Hälfte) und schaust auf der ASCII Tabelle nach, was das für eine Zahl ist und Schwups, hat man die Speicherstelle wo für dieses Zeichen verantwortlich ist, das 9. 10. etc sollte gleich danach kommen... Sollte eigentlich funktionieren oder? Grüsse
ja und wie kann ich das ram vollschreiben? im anahng das datneblatt. mfg raoul4
Hi, wenn du codevision nimmst gibts den befehl gotoxy(x,y); da tuste einfach bei y 1 rein und schon bist du in der zweiten zeile, also bei deinem display in den hinteren 8 zeichen. hab ich auch so gemacht... bsp: gotoxy(0,1); //zweite zeile lcd_put bla bla bla.... mfG, thomas
bei mir geht lcd put nicht. hier mal die include datei: /* LCD driver routines CodeVisionAVR C Compiler (C) 1998-2003 Pavel Haiduc, HP InfoTech S.R.L. BEFORE #include -ING THIS FILE YOU MUST DECLARE THE I/O ADDRESS OF THE DATA REGISTER OF THE PORT AT WHICH THE LCD IS CONNECTED! EXAMPLE FOR PORTB: #asm .equ __lcd_port=0x18 #endasm #include <lcd.h> */ #ifndef LCD_INCLUDED #define LCD_INCLUDED #pragma used+ void _lcd_ready(void); void _lcd_write_data(unsigned char data); // write a byte to the LCD character generator or display RAM void lcd_write_byte(unsigned char addr, unsigned char data); // read a byte from the LCD character generator or display RAM unsigned char lcd_read_byte(unsigned char addr); // set the LCD display position x=0..39 y=0..3 void lcd_gotoxy(unsigned char x, unsigned char y); // clear the LCD void lcd_clear(void); void lcd_putchar(char c); // write the string str located in SRAM to the LCD void lcd_puts(char *str); // write the string str located in FLASH to the LCD void lcd_putsf(char flash *str); // initialize the LCD controller unsigned char lcd_init(unsigned char lcd_columns); #pragma used- #pragma library lcd.lib #endif ich weiß nicht wie ich lcd_puts(char *str) benutzen soll. kann mir wer ein beispiel schreiben? (nur diese eine zeile!) mfg raoul4
Hi, das "put" stand nur ls platzhalter für einen von den ganzen putbefehlen! versuchs ma mit putsf... einfach: lcd_putsf("Hallo"); bei mir gehts zumindest! mfG, schatta
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.