/********************************************************************************
* DCC Wagen Decoder Software V1.0 *
* Copyright (c) 2011 Toralf Wilhelm *
* *
* private Nutzung erwünscht, gewerbliche Nutzung erfordert zwingend meine Zustimmung! *
* Datei: init.inc *
* Kontakt: toralfwilhelm@web.de *
* Webseite: www.toralfwilhelm.de *
* Version: 01/2011 Version 1 Start *
* Beschreibung: Initialisiert die Hardware und Register der DCC Lichtdecoder Software *
********************************************************************************/
/************************
* Ports Initialisieren *
************************/
ldi w,m8DDRB // Portb Richtungen setzen
out DDRB,w
ldi w,m8DDRC // Portc Richtungen setzen
out DDRC,w
ldi w,m8DDRD // Portd Richtungen setzen
out DDRD,w
clr w // alle Ports ausschalten
out PORTB,w
out PORTD,w
out PORTC,w
//#ifdef EEARH
// out EEARH,w
//#endif
/***************************
* Register Initialisieren *
***************************/
ldi w,128 // Entprellung auf Mitte
sts analog_Richtung,w
clr w //
sts Funktionen,w // Funktionen abschalten
sts analog_sw,w
ldi ZL,lo8(AUX_Status)
ldi ZH,hi8(AUX_Status)
clr w2
AUX_clr:
st z+,w
inc w2
cpi w2,(ANZAHL_AUX)
brne AUX_clr
sts EE_Adresse,w
sts (EE_Adresse+1),w
clr DCCreg
clr Lowpegel
clr Highpegel
clr Zaehler_10us
rcall EEpromDatenlesen // DekoderDaten aus EEProm einlesen
/*****************
* Hardware_init *
*****************/
rcall init_adc_m8 // ADC init
rcall init_timer1_m8 // Timer1 init -> StepDown Wandler
rcall init_timer2_m8 // Timer2 init -> 10us CTC interrupt zum DCC Signal einlesen
#if debug
rcall init_debug
#endif
sei // interrups einschalten
Detected encoding: UTF-8 | 0
|