/********************************************************************************
* DCC Wagen Decoder Software V1.0 *
* Copyright 2011 Toralf Wilhelm *
* *
* private Nutzung erwünscht, gewerbliche Nutzung erfordert zwingend meine Zustimmung! *
* Datei: analog.inc *
* Kontakt: toralfwilhelm@web.de *
* Webseite: www.toralfwilhelm.de *
* Version: 01/2011 Version 1 Start *
* Beschreibung: analog/digital Umschaltung zur DCC Wagen Decoder Software *
********************************************************************************/
#include "definitionen.h"
/********************************
* auf Analogbetrieb umschalten *
********************************/
ANALOG_FAHRT:
sbrs DCCreg,keinDCC // wenn kein DCC Signal 1x springen
ret
//SET_ANALOG:
lds w, analog_Ri_Zaehler // Entprellung ca. 3sek Verzögerung bei Richtungswechsel
tst w
brne 3f
inc w
;sts 3f, w // Huch, Codesegment?? Muss ein Bug sein.
sts 0x0558,w // Binärgleichheit herstellen
lds XL,analog_Richtung
lds XH,analog_Richtung+1
in w,DCCport
sbrc DCCreg,richtung_inv // wenn Fahrrichtung nicht reversiert 1x springen
com w
sbrs w,DCCpin // Richtung setzen
rjmp 1f
//loesche_Rich_bit:
subi XL,1
brcc 2f
cbr DCCreg,(1<<richtung)
rjmp 3f
1:
adiw XL,1
brcc 2f
sbr DCCreg,(1<<richtung)
rjmp 3f
//analog_Entprellung:
2: sts analog_Richtung, XL
sts analog_Richtung+1, XH
3:
sbrc DCCreg,analog_ein // wenn noch nicht umgeschaltet 1x springen
ret // sonst fertig
ldi w,EECV13 // Hole Analogmodus aktive Funktionen
sts EE_Adresse,w
rcall eepromlesen
mov w3,w
rcall F_NEU_EINLESEN
sbr DCCreg,(1<<analog_ein)
ret
Vorgefundene Kodierung: UTF-8 | 0
|