Ik zit al dagen te proberen maar r komt niets op het scherm :/

mijn .asm code staat hier : http://users.pandora.be/ehelp/co/

Zitten er fouten in of is mijn LCD scherm defect?
Ik heb al alles gedubbelchecked en kan geen fouten vinden.

Er zit een fout in je routine van het busy checken.

Je gooit de clk omhoog en wilt dus de busy flag testen. Zodra die nog niet is gecleared spring jij weer naar je bezig van de busycheckroutine, MAAR JE E LAAT JE HOOG. En dat klopt niet. Je moet je E weer omlaag gooien, en dan pas weer terugspringen. Nu lees je maar 1x, en daarna nooit meer.

En het display zet je niet aan met de E. De E is een clock. De data word in het lcd gelatched als je clocked. En andersom ook. Dus de overgang van laag -> hoog zal iets laten gebeuren. Aangezien dat maar 1x gebeurt bij jouw ....

Snap je?

Ah nu kan ik het begrijpen! in mijn boek van AVR µC staat het niet of amper uitgelegd.

Direct aanpassen nu :)

Bedankt Bastiaan.

Heb je ook een datasheet van een "lcd display + controller" erbij? Want daar staat ook genoeg uitgelegd over de signalen.

Ik heb me programma aangepast maar het werkt nog steeds niet, maar nu ga ik eens achter een LCD + controller datasheet zoeken.

kijk eens op www.avrfreaks.com .Daar zijn forums, voorbeelden, datasheets etc. Kijk ik altijd als ik problemen heb met de avr's

Ik heb nu bijna alles geprobeerd, ik begin te denken dat mijn LCD display gewoon stuk is. Heeft er iemand een werkend AVR progje voor een LCD aan te sturen? ( 8 bits )

mijn aangepaste/verbeterde .asm code staat HIER

alvast bedankt

misschien overbodig... maar heb je ook aan de contrast van je LCD gedacht? potmetertje erop om netjes af te regelen.... misschien staat die verkeerd ingesteld!

Ik had de potmeter vervangen door 2 weerstanden van 1K
heb er ook al verschillende waarden gebruikt.

Soms worden enkel de linkse helft zwarte blokken,maar ik zal eens achter een potmeter zoeken.

ik dacht het dus ook met vaste weerstanden op te lossen... helaas :D

toen een potmeter er tussen gezet en werkte ineens.

heb er nu een pot van 100k tussen gezet, maar helaas het display blijft leeg :(

Dus als iemand naar mijn (nieuwe) asm code wil kijken, dan weet ik toch ongeveer wat er verkeerd is.

huh, als je potmeter verdraaid zal je op een gegeven moment zien dat heel je LCD zwart word. het contrast is met andere woorden te hoog ingestelt.

Op 17 februari 2003 17:42:57 schreef Koen Van Vlaenderen:

Soms worden enkel de linkse helft zwarte blokken.

Het zal dus niet aan het contrast liggen, andres zouden die niet zwart worden, toch?

Op 17 februari 2003 17:08:01 schreef Koen Van Vlaenderen:
Ik heb nu bijna alles geprobeerd, ik begin te denken dat mijn LCD display gewoon stuk is. Heeft er iemand een werkend AVR progje voor een LCD aan te sturen? ( 8 bits )

mijn aangepaste/verbeterde .asm code staat HIER

alvast bedankt

Koen,

Ik heb de draagbare DMX512 tester van Elektuur gemaakt en dit maak gebruik van een 8515 en een 1x16 display.
Voor het aansturen van het display heeft de ontwikkelaar van dit project een .INC file gemaakt waar alle routines in zitten.

Ik heb deze files naar SWS gestuurd en die zou kijken of hij het frans talige commentaar wat er bij geschreven is kon laten vertalen.

in dit topic http://www.circuitsonline.net/forum/view.php?id=3358
Staat een link naar de Elektuur en daar kan je de files downloaden.

Ik denk dat je hier veel aan heb.

m.vr.gr. Antonie

Bedankt! ik ga meteen die .inc uitpluizen.

Koen

Het valt direct op dat hij veel 'nop's gebruikt om de timing te regelen. Ik ga dit zowat proberen over te nemen en dan hopelijk eens iets te lezen op dat schermpje ;-)

Op 17 februari 2003 19:54:55 schreef Koen Van Vlaenderen:
Het valt direct op dat hij veel 'nop's gebruikt om de timing te regelen. Ik ga dit zowat proberen over te nemen en dan hopelijk eens iets te lezen op dat schermpje ;-)

Dit is geschreven voor de HD44780 LCD contoller die in de 1x16 LCD zit. EN als je de datasheet leest (Die heb ik toevallig). Dan zie je dat timing echt van belang is....

Ik heb geprobeer die NOP's er uit te halen en dan kan het echt fout gaan.

Die datasheet heb ik gewoon van internet geplukt(ik weet alleen niet meer waar van daan.

veel succes

Antonie

Oke ik zal me een van de dagen verdiepen in de timings van die controller.

mvg
Koen

Bij 1x16 displays, is het display opgedeelt in 0x00 t/m 0x07 (linker acht karakters), en 0x40 t/m 0x47 (rechter acht)

Daarom zie je dus bij het opstarten alleen de linkse acht zwart, en de rechtse acht niet

Groeten
Antoine

Volgens mij is de timing nu in orde, maar er komt nog steeds niets op het display. Is er een mogelijkheid om die LCD te testen? Dus om te zien of het ding stuk is of niet :)

En als het niet stuk is gaat het waarschijnlijk snel stuk gaan door woede aanvallen ;) :p

Op 18 februari 2003 22:04:44 schreef Koen Van Vlaenderen:
Volgens mij is de timing nu in orde, maar er komt nog steeds niets op het display. Is er een mogelijkheid om die LCD te testen? Dus om te zien of het ding stuk is of niet :)

Je hebt toch een source code die werkt van een ander? Heb je die al geprobeerd?

van die DMX tester ja, maar dat is op een andere AVR en ik begrijp er niet veel van :)

is het niet mogelijk om een 'simpel' 1 char op de lcd te toveren door een opeenvolging van
ldi ,out en nop commands te geven. Dus zonder busy flag checks en heel de tam tam.

Maar allereerst ga ik mijn AVR nakijken, want ik heb een paar dagen geleden bijna de avr opgestookt (stond behoorlijk heet) misschien dat een pin niet meer werkt, en daarom dat ik nu zo aan het sukkelen ben :)

/edit:

nu ga ik even met dit alle poorten hoog maken en dan uitmeten of ze wel degelijk werken.


.include 	"2313def.inc"		;	include 2313 definities
.device		AT90S2313		; de chip die we gebruiken

			ldi		R16,RAMEND	; stackpointer 
			out		SPL,R16		; zetten.
			rjmp		main	


main:			ldi		R16,0xFF
			out 		DDRB,R16
			out		DDRD,R16
			nop
			out		PORTB,R16
			out		PORTD,R16
			nop
loop:			rjmp	loop
	

[Bericht gewijzigd door Koen Van Vlaenderen op ]

Voor welke AVR moet je het hebben en kun je nog de aansluitingen van je lcd wijzigen naar andere AVR pinnen?

Op 18 februari 2003 22:04:44 schreef Koen Van Vlaenderen:
Volgens mij is de timing nu in orde, maar er komt nog steeds niets op het display. Is er een mogelijkheid om die LCD te testen? Dus om te zien of het ding stuk is of niet :)

Je kan em ook ff aan je printerpoort hangen, dan weet je zeker of ie heel is (of niet :P)

De µC ( AT90S2313 ) Werkt nog, alle i/o pins werden hoog met het testprogramma.

Het enige dat nu nog fout kan zijn =
- LCD module stuk
- Ik ben dom en kan geen goede .asm schrijven

; printerkabel(om aan te knutselen) heb ik niet binnen handbereik.