Deutsch
Mondauto

Mondfahrzeug stellt sich vor... - zweite Schritte

2.) Stammtisch rund ums Mondauto

 
- Seite 1 -



GDL
Hier kann einfach rund ums Mondauto geplaudert werden.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
22.01.2012  
 



 
- Seite 1 -



GDL
Hallo,

ich habe mal begonnen mir meine Entwicklungsumgebung aufzubauen.
Bitte noch nichts posten da noch nicht fertig.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
22.01.2012  
 




GDL
Hallo David,

supi es scheint zu funzen mit der Sortierung.

Hab mit Karola gesprochen, wir können bei Ihr uns zusammensetzen.Müssen noch genauen Termin in der 2ten Osterferienwoche ausmachen.

Die Pc-Anschaltplatine iss bereits geätzt und von Matthias gebohrt. Schauen nächste Tage durch, welche Teile mir noch abgehen, da einiges bereits vorhanden.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
25.01.2012  
 



 
25.01.2012  
 




GDL
Hi,

komme mit der PC-Anbindung gut voran.
Bräuchte von dir die nächste Zeit ein
USB nach Seriell Converterkabel.

USB ist computerseitiger Anschluss.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
01.04.2012  
 



Ist bereits auf dem Weg zu Dir!
 
01.04.2012  
 




GDL
PC-Anbindung fertig und getestet mit Standardschnittstelle.
Bin schon gespannt wie es mit dem Converterkabel aussieht.

Bin wieder länger Off, da ich mich mit der Übergabeplatine für die Schrittmotoransteuerung beschäftige.
Sobald fertig melde ich mich wida.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
07.04.2012  
 




GDL
Ähh, Converterkabel noch nicht bei mir eingetroffen.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
14.04.2012  
 



Uhm, ich schaue was da los ist!
 
15.04.2012  
 




GDL
Hi David,

hier wurstle ich gerade rum.
Aus diesem einfachen Basiccode macht meine Entwicklungsumgebung mit RVK-Basic sauberen Atmel Assemblercode.
Und die neue USB Brennumgebung für Flash und EEprom funzt einwandfrei.
Segor hat leider nicht alle Bauteile für H-Bridge. Ich suche nach anderen IC.

Um den Mikofurz zu schonen, sind einige Befehle in der Testphase deaktiviert.
KompilierenMarkierenSeparieren
device 2313
mhz 8
' Baustein hat feste Adresse = 1 !!!!!
' wenn alles geht wird neuer Baustein mit Programmiertaste gebaut
ehadr = 0
lang = 0
eladr =1
kurz =1
'pause 500
' eedata madr:,60,61
' gosub eeprom
'**************** MAG4   12.2.7 *******************
dim byte@,6
' 0 RXD 1 TXD 4
dirport d,in
' Pin d,5 = Digitaleingang
' Pin b,1 = Enableausgang
' Pin b,2 = Anzahl Schritte
' Pin b,3 = Richtung
dirport b,out
'**************************** INIT PORTS ****************
outport b,0'alle Ausgänge null
XMIT INIT 9600'INIT UART
schalten=255'Damit Ausgang 0 am Anfang schaltet
'######################################################
'####################  Hauptprogramm  ##################
'######################################################
'******************************************************************
'*************************** Programmschleife *********************
'******************************************************************
'timer0 on 64
' Led prüfen
setbit b,1
pause 500
clrbit b,1
pause 500
setbit b,2
pause 500
clrbit b,2
pause 500
setbit b,3
pause 500
clrbit b,3
do
edge down d,4
timer0 on 64
'null:
'inbit flanke,d,2
'if flanke = 0
'	timer0 read wert
'	goto null
'endif
edge up d,4
timer0 read wert

if wert > 3

    if wert < 10

        gosub eins

    endif

endif

if wert > 10

    if wert <  25

        gosub nill

    endif

endif

if bytenr = 4'nur iF und Lokdecodereigenentwicklung

    bytenr = 0
    hilfe =0
    nullbit = 0
    preambel = 0
    bitnr = 0
    gosub auswerten

endif

loop
'********************************************************************
'********************************************************************
'=======================================================
'============= Unterprogramme ==========================
'=======================================================
eins:

if preambel < 10

    incr preambel

endif

if nullbit > 0

    begin case bitnr
    case 0
    set hilfe,7
    case 1
    set hilfe,6
    case 2
    set hilfe,5
    case 3
    set hilfe,4
    case 4
    set hilfe,3
    case 5
    set hilfe,2
    case 6
    set hilfe,1
    case 7
    set hilfe,0
    endcase
    incr bitnr

    if bitnr = 8

        store byte@,bytenr,hilfe

        if bytenr=0'IDLE abfangen

            if hilfe=255

                preambel=0
                bytenr=0
                hilfe=0
                nullbit=0
                bitnr = 0
                schalten=255'Ausgang wieder freigeben

            endif

        endif

        hilfe = 0
        bitnr = 0
        incr bytenr
        nullbit = 0

    endif

endif

return
'=======================================================
nill:

if preambel < 10'1. Nullbit nach Präambel

    preambel = 0
    bytenr = 0
    hilfe = 0
    nullbit = 0
    bitnr = 0
    goto nilend

endif

'Trennbit von Nullbit unterscheiden

if nullbit = 0

    if preambel > 9

        nullbit = 1
        goto nilend

    endif

endif

'==========================

if nullbit > 0

    incr bitnr

    if bitnr = 8

        bitnr = 0
        store byte@,bytenr,hilfe
        hilfe = 0
        incr bytenr
        nullbit = 0

    endif

endif

nilend:
return
'###############################################
auswerten:
read kurz,byte@,0
read lang,byte@,1
read daten,byte@,2
read fehler,byte@,3
hilfe = kurz xor lang
hilfe = hilfe xor daten' hier könnte Fehler liegen

if hilfe = fehler

    hilfe = 0
    inbit taste2,d,5
    'if taste2 = 0
    ' hier Programmier LED später
    'store madr:,60,kurz
    'store madr:,61,lang
    'pause 1000
    'hier Programmier LED später
    'read eladr,madr:,60 	'Decoderadresse lesen
    'read ehadr,madr:,61
    'pause 50
    'else
    'read eladr,madr:,60   'Decoderadresse lesen Wert 60
    'read ehadr,madr:,61   'Decoderadresse lesen Wert 61
    'endif
    gosub waehlen

endif

schluss:
hilfe=0
return
'======================================================
waehlen:

if ehadr | lang

    goto ende

endif

if eladr | kurz

    goto ende

endif

setbit b,2
pause 200
clrbit b,2
' Programmierled an
'Schrittmotorausgabe
begincase daten
case 64'Vorwärtslauf
setbit b,1
'Bit setzen
goto ende
case 65'Rückwärtslauf
clrbit b,1
'Bit Rücksetzen
goto ende
endcase

if daten  > 191'Frequenzvorgabe

    frequenz = daten
    goto ende

endif

if frequenz = 0

    frequenz = 200

endif

'Schrittausgabe
daten=daten-128
for hilfe = 0 to daten
toggle b,2
pause frequenz
toggle b,2
pause frequenz
next hilfe
ende:
'Empfangsbestätigung
'hier hernach Programmier Led aus
return
'========================================================================
eeprom:
'for j=1 to 50
' read eladr,madr:,60
' read ehadr,madr:,61
'next j
return

Und Assembler:
KompilierenMarkierenSeparieren
;..compiled by RVK Basic, revision 060521.0-rvk 0000
.include "2313def.inc"
.def EHADR_        =r0	;..byte variable..EHADR
.def LANG_         =r1	;..byte variable..LANG
.def ELADR_        =r2	;..byte variable..ELADR
.def KURZ_         =r3	;..byte variable..KURZ
.def SCHALTEN_     =r4	;..byte variable..SCHALTEN
.def DUM_VAR_      =r5	;..byte variable..DUM_VAR
.def WERT_         =r6	;..byte variable..WERT
.def BYTENR_       =r7	;..byte variable..BYTENR
.def HILFE_        =r8	;..byte variable..HILFE
.def NULLBIT_      =r9	;..byte variable..NULLBIT
.def PREAMBEL_     =r10	;..byte variable..PREAMBEL
.def BITNR_        =r11	;..byte variable..BITNR
.def DATEN_        =r12	;..byte variable..DATEN
.def FEHLER_       =r13	;..byte variable..FEHLER
.def TASTE2_       =r14	;..byte variable..TASTE2
.def FREQUENZ_     =r15	;..byte variable..FREQUENZ
RJMP    RST_00  ;..reset location
RJMP    INT_00  ;..ext interrupt0
RJMP    INT_01  ;..ext interrupt1
RETI            ;..timer1 capture
RJMP    INT_T1C ;..timer1 compare
RJMP    INT_T1  ;..timer1 overflow
RJMP    INT_T0  ;..timer0 interrupt
RJMP    RXC_00  ;...UART RX complete..
RJMP    XMT_00  ;...UART empty..
RETI            ;...UART TX complete..
RETI            ;...analog comp.
;***END OF VECTOR TABLE********************
PSE_00:	OUT	TCCR0,r31;..pause subrtn
OUT	TCNT0,r30
PSE_01:	IN	r31,TCNT0
CP	r31,r30
MOV	r30,r31
BRCC	PSE_01
RET
INT_T0:	RETI
INT_T1:	RETI
INT_T1C:	RETI
INT_T0C:	RETI
INT_T2C:	RETI
INT_00:	RETI
INT_01:	RETI
ADC_00: RETI                    ;ignore A/D interrupts
RXC_00: RETI                    ;ignore UART RECV interrupts
XMT_00: RETI                    ;ignore UART EMPTY interrupts
;.......................................
RST_00: CLR     r31     ;...main program begins here..
OUT     ACSR,r31;..power up anlg comp...
LDI     yl,LOW(RAMEND)
OUT     SPL,yl  ;..init stack ptr..
;mhz 8
;ehadr = 0
LDI	r31,$0
MOV	EHADR_,r31
;lang = 0
LDI	r31,$0
MOV	LANG_,r31
;eladr =1
LDI	r31,$1
MOV	ELADR_,r31
;kurz =1
LDI	r31,$1
MOV	KURZ_,r31
;dim byte@,6
LDI	r31,$0	;dirport d,in
OUT	DDRD,r31
LDI	r31,$FF	;dirport b,out
OUT	DDRB,r31
LDI	r31,$0	;outport b,0'alle Ausgänge null
OUT	PORTB,r31
IN	r31,UCR	;XMIT INIT 9600'INIT UART
ORI	r31,$08
OUT	UCR,r31
XM001:	IN	r31,USR
ANDI	r31,$20
BREQ	XM001
LDI	r31,$33
OUT	UBRR,r31
;schalten=255'Damit Ausgang 0 am Anfang schaltet
LDI	r31,$FF
MOV	SCHALTEN_,r31
SBI	PORTB,$1	;setbit b,1
;pause 500
LDI	r31,$0	;pause 500
MOV	DUM_VAR_,r31
FL001B:	INC	DUM_VAR_
LDI	r31,$5
LDI	r30,$C
RCALL	PSE_00
SEI
FL001N:	LDI	r31,$10
CPSE	DUM_VAR_,r31
RJMP	FL001B
FL001E:	CBI	PORTB,$1	;clrbit b,1
LDI	r31,$0	;pause 500
MOV	DUM_VAR_,r31
FL002B:	INC	DUM_VAR_
LDI	r31,$5
LDI	r30,$C
RCALL	PSE_00
SEI
FL002N:	LDI	r31,$10
CPSE	DUM_VAR_,r31
RJMP	FL002B
FL002E:	SBI	PORTB,$2	;setbit b,2
LDI	r31,$0	;pause 500
MOV	DUM_VAR_,r31
FL003B:	INC	DUM_VAR_
LDI	r31,$5
LDI	r30,$C
RCALL	PSE_00
SEI
FL003N:	LDI	r31,$10
CPSE	DUM_VAR_,r31
RJMP	FL003B
FL003E:	CBI	PORTB,$2	;clrbit b,2
LDI	r31,$0	;pause 500
MOV	DUM_VAR_,r31
FL004B:	INC	DUM_VAR_
LDI	r31,$5
LDI	r30,$C
RCALL	PSE_00
SEI
FL004N:	LDI	r31,$10
CPSE	DUM_VAR_,r31
RJMP	FL004B
FL004E:	SBI	PORTB,$3	;setbit b,3
LDI	r31,$0	;pause 500
MOV	DUM_VAR_,r31
FL005B:	INC	DUM_VAR_
LDI	r31,$5
LDI	r30,$C
RCALL	PSE_00
SEI
FL005N:	LDI	r31,$10
CPSE	DUM_VAR_,r31
RJMP	FL005B
FL005E:	CBI	PORTB,$3	;clrbit b,3
DL001B:	;do
ED002:	IN	r31,PIND	;edge down d,4
ANDI	r31,$10
CPI	r31,$10
BRNE	ED002
ED001:	IN	r31,PIND
ANDI	r31,$10
CPI	r31,$0
BRNE	ED001
CLR	r31	;timer0 on 64
OUT	TCNT0,r31
LDI	r31,$3
OUT	TCCR0,r31
ED003:	IN	r31,PIND	;edge up d,4
ANDI	r31,$10
CPI	r31,$0
BRNE	ED003
ED004:	IN	r31,PIND
ANDI	r31,$10
CPI	r31,$10
BRNE	ED004
IN	WERT_,TCNT0	;timer0 read wert
LDI	r29,$3	;        if wert > 3
CP	r29,WERT_
BRLO	IF002
RJMP	IF001E
IF002:	LDI	r29,$A	;	if wert < 10
CP	WERT_,r29
BRCS	IF005
RJMP	IF004E
IF005:	;	gosubeins
RCALL	eins
;	endif
IF004E:	;	endif
IF001E:	LDI	r29,$A	;if wert > 10
CP	r29,WERT_
BRLO	IF008
RJMP	IF007E
IF008:	LDI	r29,$19	;	if wert <  25
CP	WERT_,r29
BRCS	IF011
RJMP	IF010E
IF011:	;	gosubnill
RCALL	nill
;	endif
IF010E:	;endif
IF007E:	LDI	r29,$4	;if bytenr = 4'nur iF und Lokdecodereigenentwicklung
CPSE	BYTENR_,r29
RJMP	DL001L
;	bytenr = 0
LDI	r31,$0
MOV	BYTENR_,r31
;	hilfe =0
LDI	r31,$0
MOV	HILFE_,r31
;	nullbit = 0
LDI	r31,$0
MOV	NULLBIT_,r31
;        preambel = 0
LDI	r31,$0
MOV	PREAMBEL_,r31
;        bitnr = 0
LDI	r31,$0
MOV	BITNR_,r31
;	gosub auswerten
RCALL	auswerten
;endif
DL001L:	RJMP	DL001B	;loop
EINS:	LDI	r29,$A	;if preambel < 10
CP	PREAMBEL_,r29
BRCS	IF017
RJMP	IF016E
IF017:	INC	PREAMBEL_	;        incr preambel
;endif
IF016E:	LDI	r29,$0	;if nullbit > 0
CP	r29,NULLBIT_
BRLO	IF020
RJMP	IF019E
IF020:	;	begin casebitnr
CA0010:	LDI	r31,$0	;		case 0
CP	BITNR_,r31
BREQ	CN0001
CT0001:
RJMP	CA0011
CN0001:	LDI	r31,$80	;			set hilfe,7
OR	HILFE_,r31
RJMP	CA001X
CA0011:	LDI	r31,$1	;		case 1
CP	BITNR_,r31
BREQ	CN0002
CT0002:
RJMP	CA0012
CN0002:	LDI	r31,$40	;			set hilfe,6
OR	HILFE_,r31
RJMP	CA001X
CA0012:	LDI	r31,$2	;		case 2
CP	BITNR_,r31
BREQ	CN0003
CT0003:
RJMP	CA0013
CN0003:	LDI	r31,$20	;			set hilfe,5
OR	HILFE_,r31
RJMP	CA001X
CA0013:	LDI	r31,$3	;		case 3
CP	BITNR_,r31
BREQ	CN0004
CT0004:
RJMP	CA0014
CN0004:	LDI	r31,$10	;			set hilfe,4
OR	HILFE_,r31
RJMP	CA001X
CA0014:	LDI	r31,$4	;		case 4
CP	BITNR_,r31
BREQ	CN0005
CT0005:
RJMP	CA0015
CN0005:	LDI	r31,$8	;			set hilfe,3
OR	HILFE_,r31
RJMP	CA001X
CA0015:	LDI	r31,$5	;		case 5
CP	BITNR_,r31
BREQ	CN0006
CT0006:
RJMP	CA0016
CN0006:	LDI	r31,$4	;			set hilfe,2
OR	HILFE_,r31
RJMP	CA001X
CA0016:	LDI	r31,$6	;		case 6
CP	BITNR_,r31
BREQ	CN0007
CT0007:
RJMP	CA0017
CN0007:	LDI	r31,$2	;			set hilfe,1
OR	HILFE_,r31
RJMP	CA001X
CA0017:	LDI	r31,$7	;		case 7
CP	BITNR_,r31
BREQ	CN0008
CT0008:
RJMP	CA001X
CN0008:	LDI	r31,$1	;			set hilfe,0
OR	HILFE_,r31
;	endcase
CA001X:	INC	BITNR_	;	incr bitnr
LDI	r29,$8	;	if bitnr = 8
CPSE	BITNR_,r29
RJMP	IF022E
LDI	r30,$60	;		 store byte@,bytenr,hilfe
ADD	r30,BYTENR_
CLR	r31
ST	Z,HILFE_
LDI	r29,$0	;                if bytenr=0'IDLE abfangen
CPSE	BYTENR_,r29
RJMP	IF025E
LDI	r29,$FF	;                        if hilfe=255
CPSE	HILFE_,r29
RJMP	IF028E
;                                preambel=0
LDI	r31,$0
MOV	PREAMBEL_,r31
;                                bytenr=0
LDI	r31,$0
MOV	BYTENR_,r31
;                                hilfe=0
LDI	r31,$0
MOV	HILFE_,r31
;                                nullbit=0
LDI	r31,$0
MOV	NULLBIT_,r31
;                                bitnr = 0
LDI	r31,$0
MOV	BITNR_,r31
;                                schalten=255'Ausgang wieder freigeben
LDI	r31,$FF
MOV	SCHALTEN_,r31
;                        endif
IF028E:	;	endif
IF025E:	;	hilfe =0
LDI	r31,$0
MOV	HILFE_,r31
;		bitnr = 0
LDI	r31,$0
MOV	BITNR_,r31
INC	BYTENR_	;		incr bytenr
;		nullbit = 0
LDI	r31,$0
MOV	NULLBIT_,r31
;	endif
IF022E:	;endif
IF019E:	RET		;return
NILL:	LDI	r29,$A	;if preambel < 10'1. Nullbit nach Präambel
CP	PREAMBEL_,r29
BRCS	IF032
RJMP	IF031E
IF032:	;	preambel =0
LDI	r31,$0
MOV	PREAMBEL_,r31
;        bytenr = 0
LDI	r31,$0
MOV	BYTENR_,r31
;        hilfe = 0
LDI	r31,$0
MOV	HILFE_,r31
;        nullbit = 0
LDI	r31,$0
MOV	NULLBIT_,r31
;        bitnr = 0
LDI	r31,$0
MOV	BITNR_,r31
RJMP	nilend	;        goto nilend
;endif
IF031E:	LDI	r29,$0	;if nullbit = 0
CPSE	NULLBIT_,r29
RJMP	IF034E
LDI	r29,$9	;        if preambel > 9
CP	r29,PREAMBEL_
BRLO	IF038
RJMP	IF037E
IF038:	;	nullbit =1
LDI	r31,$1
MOV	NULLBIT_,r31
RJMP	nilend	;                goto nilend
;        endif
IF037E:	;endif
IF034E:	LDI	r29,$0	;if nullbit > 0
CP	r29,NULLBIT_
BRLO	IF041
RJMP	NILEND
IF041:	INC	BITNR_	;	incr bitnr
LDI	r29,$8	;	if bitnr = 8
CPSE	BITNR_,r29
RJMP	IF043E
;		bitnr = 0
LDI	r31,$0
MOV	BITNR_,r31
LDI	r30,$60	;		 store byte@,bytenr,hilfe
ADD	r30,BYTENR_
CLR	r31
ST	Z,HILFE_
;		hilfe = 0
LDI	r31,$0
MOV	HILFE_,r31
INC	BYTENR_	;		incr bytenr
;		nullbit = 0
LDI	r31,$0
MOV	NULLBIT_,r31
;	endif
IF043E:	;endif
NILEND:	RET		;return
AUSWERTEN:	SBI	PORTB,$2	;setbit b,2
LDI	r31,$0	;pause 200
MOV	DUM_VAR_,r31
FL006B:	INC	DUM_VAR_
LDI	r31,$5
LDI	r30,$21
RCALL	PSE_00
SEI
FL006N:	LDI	r31,$7
CPSE	DUM_VAR_,r31
RJMP	FL006B
FL006E:	CBI	PORTB,$2	;clrbit b,2
LDI	r30,$60	; read kurz,byte@,0
LDI	r31,$0
ADD	r30,r31
CLR	r31
LD	KURZ_,Z
LDI	r30,$60	; read lang,byte@,1
LDI	r31,$1
ADD	r30,r31
CLR	r31
LD	LANG_,Z
LDI	r30,$60	; read daten,byte@,2
LDI	r31,$2
ADD	r30,r31
CLR	r31
LD	DATEN_,Z
LDI	r30,$60	; read fehler,byte@,3
LDI	r31,$3
ADD	r30,r31
CLR	r31
LD	FEHLER_,Z
;hilfe = kurz xor lang
MOV	r31,KURZ_
MOV	r29,LANG_
EOR	r31,r29
MOV	HILFE_,r31
;hilfe = hilfe xor daten' hier könnte Fehler liegen
MOV	r31,HILFE_
MOV	r29,DATEN_
EOR	r31,r29
MOV	HILFE_,r31
CPSE	HILFE_,FEHLER_	;if hilfe = fehler
RJMP	SCHLUSS
;	hilfe = 0
LDI	r31,$0
MOV	HILFE_,r31
IN	r31,PIND	;	inbit taste2,d,5
ANDI	r31,$20
MOV	TASTE2_,r31
;	gosub waehlen
RCALL	waehlen
;endif
SCHLUSS:	;hilfe=0
LDI	r31,$0
MOV	HILFE_,r31
RET		;return
WAEHLEN:	CP	EHADR_,LANG_	;if ehadr | lang
BRNE	IF050
RJMP	IF049E
IF050:	RJMP	ende	;	goto ende
;endif
IF049E:	CP	ELADR_,KURZ_	;if eladr | kurz
BRNE	IF053
RJMP	IF052E
IF053:	RJMP	ende	;	goto ende
;endif
IF052E:	;begincase	daten
CA0020:	LDI	r31,$40	;	case 64'Vorwärtslauf
CP	DATEN_,r31
BREQ	CN0009
CT0009:
RJMP	CA0021
CN0009:	SBI	PORTB,$1	;                setbit b,1
RJMP	ende	;                goto ende
RJMP	CA002X
CA0021:	LDI	r31,$41	;        case 65'Rückwärtslauf
CP	DATEN_,r31
BREQ	CN0010
CT0010:
RJMP	CA002X
CN0010:	CBI	PORTB,$1	;                clrbit b,1
RJMP	ende	;                goto ende
;endcase
CA002X:	LDI	r29,$BF	;if daten  > 191'Frequenzvorgabe
CP	r29,DATEN_
BRLO	IF056
RJMP	IF055E
IF056:	;	frequenz =daten
MOV	r31,DATEN_
MOV	FREQUENZ_,r31
RJMP	ende	;        goto ende
;endif
IF055E:	LDI	r29,$0	;if frequenz = 0
CPSE	FREQUENZ_,r29
RJMP	IF058E
;        frequenz = 200
LDI	r31,$C8
MOV	FREQUENZ_,r31
;endif
IF058E:	;daten=daten-128
MOV	r31,DATEN_
LDI	r29,$80
SUB	r31,r29
MOV	DATEN_,r31
LDI	r31,$FF	;for hilfe = 0 to daten
MOV	HILFE_,r31
FL007B:	INC	HILFE_
LDI	r31,$4	;        toggle b,2
IN	r30,PORTB
EOR	r30,r31
OUT	PORTB,r30
LDI	r31,$1	;        pause frequenz
LDI	r30,$FD
RCALL	PSE_00
SEI
LDI	r31,$4	;        toggle b,2
IN	r30,PORTB
EOR	r30,r31
OUT	PORTB,r30
LDI	r31,$1	;        pause frequenz
LDI	r30,$FD
RCALL	PSE_00
SEI
FL007N:	CPSE	HILFE_,DATEN_	;next hilfe
RJMP	FL007B
ENDE:	RET		;return
EEPROM:	RET		;return
.dseg
BYTE:              .BYTE $6	;..array space..BYTE@[]
.eseg
.exit

Und so sieht die automatisch erzeugte HEX Datei zum Brennen aus:
KompilierenMarkierenSeparieren
:020000020000FC
:100000001BC015C015C018950FC00DC00BC012C085
:1000100012C018951895F3BFE2BFF2B7FE17EF2F85
:10002000E0F708951895189518951895189518954E
:100030001895189518951895FF27F8B9CFEDCDBFED
:10004000F0E00F2EF0E01F2EF1E02F2EF1E03F2E1A
:10005000F0E0F1BBFFEFF7BBF0E0F8BBFAB1F860FE
:10006000FAB9FBB1F072E9F3F3E3F9B9FFEF4F2E00
:10007000C19AF0E05F2E5394F5E0ECE0CCDF789489
:10008000F0E15F12F8CFC198F0E05F2E5394F5E0F5
:10009000ECE0C1DF7894F0E15F12F8CFC29AF0E0B3
:1000A0005F2E5394F5E0ECE0B6DF7894F0E15F1258
:1000B000F8CFC298F0E05F2E5394F5E0ECE0ABDFB0
:1000C0007894F0E15F12F8CFC39AF0E05F2E53947A
:1000D000F5E0ECE0A0DF7894F0E15F12F8CFC39890
:1000E000F0B3F071F031E1F7F0B3F071F030E1F717
:1000F000FF27F2BFF3E0F3BFF0B3F071F030E1F7A8
:10010000F0B3F071F031E1F762B6D3E0D61508F044
:1001100005C0DAE06D1608F001C018D0DAE0D61597
:1001200008F005C0D9E16D1608F001C071D0D4E027
:100130007D120BC0F0E07F2EF0E08F2EF0E09F2EBE
:10014000F0E0AF2EF0E0BF2E90D0CACFDAE0AD16CF
:1001500008F001C0A394D0E0D91508F058C0F0E031
:10016000BF1609F003C0F0E88F2A30C0F1E0BF16D7
:1001700009F003C0F0E48F2A29C0F2E0BF1609F0AD
:1001800003C0F0E28F2A22C0F3E0BF1609F003C0DB
:10019000F0E18F2A1BC0F4E0BF1609F003C0F8E0BD
:1001A0008F2A14C0F5E0BF1609F003C0F4E08F2ACF
:1001B0000DC0F6E0BF1609F003C0F2E08F2A06C0BA
:1001C000F7E0BF1609F002C0F1E08F2AB394D8E03F
:1001D000BD121DC0E0E6E70DFF278082D0E07D1252
:1001E0000FC0DFEF8D120CC0F0E0AF2EF0E07F2EDD
:1001F000F0E08F2EF0E09F2EF0E0BF2EFFEF4F2EAD
:10020000F0E08F2EF0E0BF2E7394F0E09F2E089563
:10021000DAE0AD1608F00BC0F0E0AF2EF0E07F2E74
:10022000F0E08F2EF0E09F2EF0E0BF2E1DC0D0E05A
:100230009D1207C0D9E0DA1508F003C0F1E09F2E47
:1002400013C0D0E0D91508F00FC0B394D8E0BD12A8
:100250000BC0F0E0BF2EE0E6E70DFF278082F0E064
:100260008F2E7394F0E09F2E0895C29AF0E05F2ED7
:100270005394F5E0E1E2CFDE7894F7E05F12F8CF37
:10028000C298E0E6F0E0EF0FFF273080E0E6F1E013
:10029000EF0FFF271080E0E6F2E0EF0FFF27C080AE
:1002A000E0E6F3E0EF0FFF27D080F32DD12DFD27FF
:1002B0008F2EF82DDC2DFD278F2E8D1006C0F0E03F
:1002C0008F2EF0B3F072EF2E03D0F0E08F2E089552
:1002D000011409F401C036C0231409F401C032C06E
:1002E000F0E4CF1609F003C0C19A2CC006C0F1E4B7
:1002F000CF1609F002C0C19825C0DFEBDC1508F06D
:1003000003C0FC2DFF2E1EC0D0E0FD1202C0F8EC91
:10031000FF2EFC2DD0E8FD1BCF2EFFEF8F2E8394F8
:10032000F4E0E8B3EF27E8BBF1E0EDEF74DE78949A
:10033000F4E0E8B3EF27E8BBF1E0EDEF6CDE789492
:080340008C10EDCF0895089523
:00000001FF

Leichter kann man Atmel Microcontoler nicht brennen.

Grüßle
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.03.2013  
 



Also ich finde dieses Prinzip super optimal!
 
03.03.2013  
 




GDL
Hallöle,

hier mal kurz ein Einblick in mein Hobby.

Mondautoprojekt : Entwicklung Schrittmotoransteuerung mit genormten DCC-Format



Beschreibung zum Bild :

1 = Schrittmotor 12Volt 1Ampere

2 = Wandlerplatine. Diese wandelt die PC RS232 Befehle in DCC Befehle um. Ebenso verstärkt sie die DCC Befehle, da aus den DCC Befehlen die Versorgungsspannung erzeugt wird. Ohne Sensorbussystem also ein 2 Leitungsbus für alle Module ohne Rückmeldung. In der Vollversion kommt ein 5Leitungsbus zum Einsatz.

3 = USB Mikrokontrollerbrenner. Atmel sind auch in der Schaltung programmierbar.

4 = Standardmodul für alle Anwendungen. Hier als Schrittmotordecoder programmiert. Was das Modul ansteuern soll, wird mittels Software geregelt. Auf dieser Platine fehlt noch der Schaltverstärker für den Motor. Da bin ich gerade drann.

=================================

Ein kleiner Einblick was GDL gerade so macht.

Grüßle
Georg

60 kB
Hochgeladen:06.03.2013
Ladeanzahl87
Herunterladen
 
Windows7 Xprofan 8,9,10 [...]  [...] 
06.03.2013  
 



 
- Seite 2 -



GDL
Hallöle,

ich habe mich jetzt für diesen Schrittmotor entschieden.

[...] 

 
Windows7 Xprofan 8,9,10 [...]  [...] 
13.06.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.870 Betrachtungen

Unbenanntvor 0 min.
Heiko Dix29.10.2023
p.specht01.06.2021
Michael Klumb19.02.2016
iF03.01.2016
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

GDL (9x)
iF (4x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie