- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 21 bis 30 von 48

Thema: Tips & Tricks

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #19
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Ich habe erfolglos ein Display mit größeren Zeichen für ein Messgerät gesucht und mir selber gewünschte mit 8 selbstdefinierten Zeichen auf einem 2x16 Zeichen erstellt und ausprobiert. Man könnte sich natürlich andere Zeichen selber definieren und der Code sollte nur als Beispiel dienen. Solche Zeichen lassen sich auch bei anderen µC anwenden.

    MfG
    Code:
    ;	Display Test im 4-bit Modus mit selbstdefinierten Zeichen (doppelte Zifferhöhe)
    	LIST      P=16F84a
    	include "P16F84a.inc"   		; 4.000 MHz
    	__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
    ;		DB4	PORTB,0 		; Display Data-Bits
    ;		DB5	PORTB,1
    ;		DB6	PORTB,2
    ;		DB7	PORTB,3
    #define 	_RS	PORTB,4        		; Display RS
    #define 	_E	PORTB,5        		; Display Enable
    #define 	_Frs	Flags,0        		; RS Flag
    Tmp		equ	20	
    Flags		equ	21
    		org	0
    		call	Init
    Main		call	Fst
    		movlw	0
    		call	Char
    		movlw	1
    		call	Char
    		movlw	3
    		call	Char
    		movlw	6
    		call	Char
    		movlw	4
    		call	Char
    		movlw	4
    		call	Char
    		movlw	1
    		call	Char
    		movlw	7
    		call	Char
    		movlw	5
    		call	Char
    		movlw	5
    		call	Char
    		movlw	1
    		call	Char
    		movlw	6
    		call	Char
    		movlw	4
    		call	Char
    		movlw	7
    		call	Char
    		movlw	5
    		call	Char
    		movlw	0
    		call	Char
    		call	Snd
    		movlw	0
    		call	Char
    		movlw	4
    		call	Char
    		movlw	2
    		call	Char
    		movlw	0
    		call	Char
    		movlw	2
    		call	Char
    		movlw	6
    		call	Char
    		movlw	0
    		call	Char
    		movlw	6
    		call	Char
    		movlw	3
    		call	Char
    		movlw	6
    		call	Char
    		movlw	4
    		call	Char
    		movlw	0
    		call	Char
    		movlw	6
    		call	Char
    		movlw	6
    		call	Char
    		movlw	6
    		call	Char
    		movlw	0
    		call	Char
    		sleep
    Fst		movlw	80			; Anfangsadresse der ersten Zeile
    		goto	Cmd			
    Snd		movlw	0xC0			; Anfangsadresse der zweiten Zeile
    Cmd		movwf	Tmp			; Befehl ins Tmp laden
    		bcf	_Frs			; RS=0
    		goto	Send
    Char		movwf	Tmp			; Zeichen ins Tmp laden
    		bsf	_Frs			; RS=1
    Send		swapf	Tmp,0			; zuerst High Nibble (ab jetzt Low Nibble)
    		andlw	0F			; (aktuelles Low Nibble ausblenden)
    		movwf	PORTB			; an Port (Display) schicken
    		btfsc	_Frs			; RS Flag ans Port kopieren
    		bsf	_RS
    		bsf	_E			; Enable erzeugen
    		bcf	_E
    		movf	Tmp,0			; Low Nibble
    		andlw	0x0F                    ; (High Nibble ausblenden) 
    		movwf	PORTB			; an Port (Display) schicken
    Enab            btfsc	_Frs			; RS Flag ans Port kopieren
    		bsf	_RS
    		bsf	_E			; Enable erzeugen
    		bcf	_E
    Del		movlw	10			; Verzögerung ca. 50µs
    		movwf	Tmp
    		decfsz	Tmp,1
    		goto	$-1
    		return
    Init		clrf	PORTB			; PortB initialisieren
    		bsf	STATUS,RP0              ; Bank 1 
    		clrf	TRISB                   ; alle Pins als Ausgänge
    		bcf	STATUS,RP0              ; Bank 0
    		bcf	_Frs
     		movlw	2			; Display auf 4-bit umschalten und initialisieren
    		movwf	PORTB
    		call	Enab
    		movlw	28			; 4 bit, 2 Zeilen, 5x7 Punkten
    		call	Cmd
    		movlw	0C			; display an, cursor aus, nicht blinken
    		call	Cmd
    		movlw	6			; incrementieren, nicht schieben
    		call	Cmd
    		movlw	40			; Zeichen selber definieren
    		call	Cmd
    		movlw	3			; 0.
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	1F			; 1.
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call 	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3			; 2.
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F			; 3.
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call	Char
    		movlw	3
    		call 	Char
    		movlw	1F
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F			; 4. 
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	18
    		call	Char
    		movlw	18
    		call	Char
    		movlw	18
    		call	Char
    		movlw	18
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F			; 5.
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call 	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B			; 6.
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1F			; 7.
    		call	Char
    		movlw	1F
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call	Char
    		movlw	1B
    		call 	Char
    		movlw	1F
    		call	Char
    		movlw	1F
    		call	Char
    		return
    		end
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken selbstdefiniert.jpg  

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests