Anfänger braucht Ideen

Gast #59289
Lesenswert?

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
Gast #59291
Lesenswert?

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
Gast #59292
Lesenswert?

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
Gast #59296
Lesenswert?

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
Gast #59297
Lesenswert?

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.
Gast #59299
Lesenswert?

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
Gast #59300
Lesenswert?

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
Gast #59302
Lesenswert?

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
Gast #59304
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren