- LiFePO4 Speicher Test         
Ergebnis 1 bis 4 von 4

Thema: binär zu bcd wandler

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.05.2007
    Beiträge
    5

    binär zu bcd wandler

    Anzeige

    Powerstation Test
    ja moin leute
    hab mal wieder ein problem... will mir einen binär zu bcd Wandler programieren. und jedes mal wenn ich jezz zb von einer 255 eine hundert abziehe wir das Carry- bzw Digit-carry- Flag gestetzt. kann mir jemand sagen wieso?

    hier noch mein code...

    Code:
    main
    		clrf	BCD_100er
    		clrf	BCD_10er
    		clrf	BCD_1er
    		clrdc	
    		clrc
    		btfss	PORTA,0
    		goto	main
    
    ;Lade variable die in BCD zu Wandeln ist.
    		movlw	D'255'
    		movwf	ZU_WANDELN
    
    ;Subtrahiere den wert mit 100 solange bis Ergebnis 0
    ;wenn ja dann springe zu "weiter" sonst wiederhole
    ;bis ergebniss 0
    	Hunderter
    		movlw	D'100'
    		subwf	ZU_WANDELN,1
    		incf	BCD_100er,1
    		bdc		weiter
    		goto	Hunderter
    
    ;addiere den Wert 100 zur speicherzelle 
    ;um wieder einen genauen wert zu habe
    	weiter
    		clrdc
    		decf	BCD_100er,1
    		movlw	D'100'
    		addwf	ZU_WANDELN,1
    		clrc
    
    ;Subtrahiere den wert mit 10 solange bis Ergebnis 0
    ;wenn ja dann springe zu "Zehner" sonst wiederhole
    ;bis ergebniss 0
    	Zehner
    		clrdc
    		movlw	D'10'
    		subwf	ZU_WANDELN,1
    		incf	BCD_10er,1
    		bdc		go_on
    		goto	Zehner
    
    ;addiere den Wert 100 zur speicherzelle 
    ;um wieder einen genauen wert zu habe
    	go_on
    		clrdc
    		decf	BCD_100er,1
    		movlw	D'10'
    		addwf	ZU_WANDELN,1
    
    ;Subtrahiere den wert mit 1 solange bis Ergebnis 0
    ;wenn ja dann springe zu "Zehner" sonst wiederhole
    ;bis ergebniss 0
    	Einer
    		movlw	D'1'
    		subwf	ZU_WANDELN,1
    		incf	BCD_1er,1
    		bdc		Ausgeben
    		goto	Einer
    wäre über jede antwort erfreut...

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    beim Subtrahieren verhält sich das Carry Flag andersherum als beim Addieren.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.05.2007
    Beiträge
    5
    also wird bei jedem subtrahieren Carry gesetzt und erst wenn der übertrag von "0" auf "255" wieder gelöscht oda wie?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Steht im Datenblatt.
    Pobier es einfach aus.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

Berechtigungen

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

LiTime Speicher und Akkus