EA DOG M162W-A
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Programmiersprache Assembler  |  EA DOG M162W-A « vorheriges nächstes »
Seiten: 1 [2] Nach unten Drucken
Autor Thema: EA DOG M162W-A  (Gelesen 5070 mal)
 
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #15 am: Februar 17, 2011, 20:37:38 »

Mach mal in Zeile 5 hinten ne 1 draus. Da wird in ein anderes Instruction Set gewechselt.
Und zwischen 9 und 10 noch ein Function Set um wieder zur normalen Instruction Set zurück zukommen

 1. 00110000 Function Set
 2. 00110000 Function Set
 3. 00110000 Function Set
 4. 00100000 Function Set
 5. 00100001 Function Set
 6. 00011101 Internal OSC
 7. 01111100 Contrast
 8. 01010000 Power
 9. 00111100 Follower
    00101000 Function Set
10.00001100 Display on

Gespeichert
mario2104
Newbie
*
Offline Offline

Beiträge: 14


Profil anzeigen
« Antworten #16 am: Februar 18, 2011, 11:12:38 »

ok habe das jz. auch schon probiert

ich glaube es liegt an diesen Unterprogrammen

Code:
LcdBusy
        bsf     STATUS, RP0 ; make Port B4..7 input
movlw B'11110000'
iorwf   TRISB, f
        bcf     STATUS, RP0
BusyLoop
bcf LcdRs ; Steuerregister
bsf LcdRw ; Lesen
bsf LcdE
nop
movf LcdPort, w ; 4 obere Bits lesen (D7..D4)
movwf LcdStatus ; und in LcdStatus speichern
bcf LcdE
nop
bsf LcdE
nop ; 4 untere Bits lesen (D3..D0) und ignorieren
bcf LcdE
btfsc LcdStatus, 7 ; teste bit 7
goto BusyLoop
bcf LcdRw
    bsf     STATUS, RP0 ; make Port B4..7 output
movlw B'00001111'
andwf   TRISB, f    
    bcf     STATUS, RP0
return

;*****************************************************
; aus W ein Byte mit Steuerdaten zum Display ?bertragen
OutLcdControl
movwf LcdDaten ; Byte in LcdDaten zwischenspeichern
call LcdBusy ; warten bis Display bereit ist
movf LcdDaten, w ; Byte zur?ck nach W holen
andlw H'F0' ; low-Teil l?schen
movwf LcdPort ; Hi-teil Daten schreiben
bsf LcdE
nop
bcf LcdE ; Disable LcdBus
swapf LcdDaten, w ; Byte verdreht nach W holen
andlw H'F0' ; High Teil l?schen
movwf LcdPort ; Low-teil Daten schreiben
bsf LcdE
nop
bcf LcdE ; Disable LcdBus
return
aber ja ich kenne mich zwar mit den alten Display Typ aus
aber dieses EADOGM kriege ich einfach nicht hin.

weist du vl. an was das noch liegen könnte??

was ich gerade nebenbei gemerkt habe ist
das du mir ja geschrieben hast:
Code:
movlw   B'00110000'   ; Function set 1
   call   Control8Bit    ; <- Achtung, keine Busyabfrage möglich
movlw   B'00110000'   ; Function set 2
   call   Control8Bit    ; <- Achtung, keine Busyabfrage möglich
   movlw   B'00110000'   ; Function set 3
   call   Control8Bit    ; <- Achtung, keine Busyabfrage möglich
   movlw   B'00100000'   ; Function set 4

da heist es ja keine Busyabfrage möglich nur dannach im Code will er ja das Busy ja abfragen
Code:
LcdBusy
        bsf     STATUS, RP0 ; make Port B4..7 input
movlw B'11110000'
iorwf   TRISB, f
        bcf     STATUS, RP0
BusyLoop
bcf LcdRs ; Steuerregister
bsf LcdRw ; Lesen
bsf LcdE
nop
movf LcdPort, w ; 4 obere Bits lesen (D7..D4)
movwf LcdStatus ; und in LcdStatus speichern
bcf LcdE
nop
bsf LcdE
nop ; 4 untere Bits lesen (D3..D0) und ignorieren
bcf LcdE
btfsc LcdStatus, 7 ; teste bit 7
goto BusyLoop
bcf LcdRw
    bsf     STATUS, RP0 ; make Port B4..7 output
movlw B'00001111'
andwf   TRISB, f    
    bcf     STATUS, RP0
return

du kennst dich da besser aus als ich.
« Letzte Änderung: Februar 18, 2011, 11:18:28 von mario2104 » Gespeichert
oerni
Full Member
***
Offline Offline

Beiträge: 196



Profil anzeigen WWW
« Antworten #17 am: Februar 18, 2011, 12:21:39 »

Nein, ich weis es momentan nicht.
Vielleicht weiss es ja einer auf Mirokontroller.net. Hast ja genug Versuche gestartet.
Ich möchte auch nicht mehr deine Hausaufgaben machen.
Lies nochmal was ich geschrieben habe. Deine UP sind prinzipiell richtig.
Ich sags noch mal: DATENBLATT lesen .
Dort steht doch eindeutig, ab wann das Busy abfragbar ist!
Und vor allem welches Bit für was zuständig ist.
Ich kann dir nur raten, dich auch mit dem Simulator in MPLAB auseinanderzusetzen.
Gehe dein Programm Schritt für Schritt durch.
Und lies das scheiss Datenblatt!

Tschau Oerni
Gespeichert
Seiten: 1 [2] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.035 Sekunden mit 17 Zugriffen.
 
Top! Top!