Hallo,
nun, ich hab das Projekt in zwei c Files aufgeteilt, um die Übersicht zu bewahren, und quasi die "unwichtigeren" Funktionen in ein separates File verlagert. Das Projekt besteht quasi aus allen beiden, oder besser aus allen drei Files (Grafik LCD Libery) zusammen.![]()
Das gewünschte hex File kannst du unter folgendem Link downloaden: Hexfile ("Speichern unter" wählen)
Tja, der Schaltplan, das ist eben so eine Sache, da ich, wie gesagt, mir jenen lediglich im Kopf überlegt, und auf einem Lochraster aufgelötet habe. Im Prinzip steckt aber nicht viel dahinter, lediglich die Mega8 Standardbeschaltung (LC – Analogversorgungsfilter, Quarz, RST - Schaltung), ein Transistor mit welchen man die 15V fürs LCD schaten kann, und drei Taster.
Hier die Pinbelegung wie man das LCD anschließt:
#define D0_out DDRB |=(1<<1), PORTB&=~(1<<1)
#define D1_out DDRD |=(1<<6), PORTD&=~(1<<6)
#define D2_out DDRD |=(1<<7), PORTD&=~(1<<7)
#define D3_out DDRD |=(1<<5), PORTD&=~(1<<5)
#define D4_out DDRB |=(1<<2), PORTB&=~(1<<2)
#define D5_out DDRD |=(1<<4), PORTD&=~(1<<4)
#define D6_out DDRD |=(1<<3), PORTD&=~(1<<3)
#define D7_out DDRD |=(1<<2), PORTD&=~(1<<2)
#define RES_out DDRC |=(1<<2), PORTC|=(1<<2)
#define RS_out DDRB |=(1<<0), PORTB|=(1<<0)
#define WR_out DDRC |=(1<<5), PORTC|=(1<<5)
#define RE_out DDRC |=(1<<4), PORTC|=(1<<4)
#define CS_out DDRC |=(1<<3), PORTC|=(1<<3)
#define HV_out DDRC |=(1<<1), PORTC&=~(1<<1)
Wobei “HV” der Pin für den Transistor ist, welcher die LCD Treiberspannung schaltet.
Aber wie gesagt, erwarte dir bitte kein echtes Oszilloskop, lediglich einen Aufbau, mit welchem du Spannungsverläufe rudimentär visualisieren kannst, da weder Spannungs- noch Zeitachse 100% stimmen. Zum betrachten niederfrequenter Spannungsverläufe sollte es jedoch ausreichen.
mfg
Lesezeichen