Nebukat2010
27.03.2011, 21:44
hi ich habe folgendes Problem und ich hoffe dass mir jemand helfen kann.
Ich habe mir vor kurzem bascom demo installiert.Wenn ich den compiler verwende bekomme ich keinen Error und Simulation läuft. Wenn ich es aber mit AVR Simulator IDE versuche die hex zu simulieren funktionieren die Ausgänge nicht.Folgendes Programm aus einem tuturial hab ich versucht.(auch andere Programme gleiches Problem.)
Bascom:
$regfile = "M8def.dat" 'es handelt sich um einen ATmega8
$crystal = 1000000 'der eingebauter RC-Oszillator läuft mit 1 Mhz
$hwstack = 100 'im Speicher werden für den Hardware-Stack 100 Byte reserviert
$swstack = 100 'im Speicher werden für den Software-Stack 100 Byte reserviert
$framesize = 100 'im Speicher werden für den Frame 100 Byte reserviert
Ddrb = &B00000010 'PB1 ist Ausgang. Die anderen Pins sind Eingänge
Portb.1 = 1 'Signal auf PB1 einschalten (HIGH)
End 'Ende des Programms
Wenn ich es durch einen deassembler laufen lasse bekomme ich:
000000 C012 RJMP L1
000001 9518 RETI
000002 9518 RETI
000003 9518 RETI
000004 9518 RETI
000005 9518 RETI
000006 9518 RETI
000007 9518 RETI
000008 9518 RETI
000009 9518 RETI
00000A 9518 RETI
00000B 9518 RETI
00000C 9518 RETI
00000D 9518 RETI
00000E 9518 RETI
00000F 9518 RETI
000010 9518 RETI
000011 9518 RETI
000012 9518 RETI
000013 E58F L1: LDI R24,$5F
000014 BF8D OUT SPL,R24
000015 EFCC LDI YL,$FC
000016 E4EC LDI ZL,$4C
000017 2E4E MOV R4,ZL
000018 E084 LDI R24,$04
000019 BF8E OUT SPH,R24
00001A E0D3 LDI YH,$03
00001B E0F3 LDI ZH,$03
00001C 2E5F MOV R5,ZH
00001D EFEE LDI ZL,$FE
00001E E0F3 LDI ZH,$03
00001F E6A0 LDI XL,$60
000020 E0B0 LDI XH,$00
000021 95A8 WDR
000022 B784 IN R24,MCUCSR
000023 2E08 MOV R0,R24
000024 7F87 ANDI R24,$F7
000025 BF84 OUT MCUCSR,R24
000026 E188 LDI R24,$18
000027 2799 CLR R25
000028 BD81 OUT WDTCR,R24
000029 BD91 OUT WDTCR,R25
00002A 2788 CLR R24
00002B 938D L2: ST X+,R24
00002C 9731 SBIW ZH:ZL,1
00002D F7E9 BRNE L2
00002E 2466 CLR R6
00002F E082 LDI R24,$02
000030 BB87 OUT DDRB,R24
000031 9AC1 SBI PORTB,PB1
000032 94F8 BCLR 7
000033 CFFF L3: RJMP L3
000034 9731 L4: SBIW ZH:ZL,1
000035 F7F1 BRNE L4
000036 9508 RET
000037 9468 BSET 6
000038 F862 BLD R6,2
000039 9508 RET
00003A 94E8 BCLR 6
00003B F862 BLD R6,2
00003C 9508 RET
soweit ich Assembler verstehe werden da keine PORTS oder DDRs gesetzt.
Wo liegt mein Fehler?
Vielen dank für eure Hilfe;
der Bascom Neuling
Ich habe mir vor kurzem bascom demo installiert.Wenn ich den compiler verwende bekomme ich keinen Error und Simulation läuft. Wenn ich es aber mit AVR Simulator IDE versuche die hex zu simulieren funktionieren die Ausgänge nicht.Folgendes Programm aus einem tuturial hab ich versucht.(auch andere Programme gleiches Problem.)
Bascom:
$regfile = "M8def.dat" 'es handelt sich um einen ATmega8
$crystal = 1000000 'der eingebauter RC-Oszillator läuft mit 1 Mhz
$hwstack = 100 'im Speicher werden für den Hardware-Stack 100 Byte reserviert
$swstack = 100 'im Speicher werden für den Software-Stack 100 Byte reserviert
$framesize = 100 'im Speicher werden für den Frame 100 Byte reserviert
Ddrb = &B00000010 'PB1 ist Ausgang. Die anderen Pins sind Eingänge
Portb.1 = 1 'Signal auf PB1 einschalten (HIGH)
End 'Ende des Programms
Wenn ich es durch einen deassembler laufen lasse bekomme ich:
000000 C012 RJMP L1
000001 9518 RETI
000002 9518 RETI
000003 9518 RETI
000004 9518 RETI
000005 9518 RETI
000006 9518 RETI
000007 9518 RETI
000008 9518 RETI
000009 9518 RETI
00000A 9518 RETI
00000B 9518 RETI
00000C 9518 RETI
00000D 9518 RETI
00000E 9518 RETI
00000F 9518 RETI
000010 9518 RETI
000011 9518 RETI
000012 9518 RETI
000013 E58F L1: LDI R24,$5F
000014 BF8D OUT SPL,R24
000015 EFCC LDI YL,$FC
000016 E4EC LDI ZL,$4C
000017 2E4E MOV R4,ZL
000018 E084 LDI R24,$04
000019 BF8E OUT SPH,R24
00001A E0D3 LDI YH,$03
00001B E0F3 LDI ZH,$03
00001C 2E5F MOV R5,ZH
00001D EFEE LDI ZL,$FE
00001E E0F3 LDI ZH,$03
00001F E6A0 LDI XL,$60
000020 E0B0 LDI XH,$00
000021 95A8 WDR
000022 B784 IN R24,MCUCSR
000023 2E08 MOV R0,R24
000024 7F87 ANDI R24,$F7
000025 BF84 OUT MCUCSR,R24
000026 E188 LDI R24,$18
000027 2799 CLR R25
000028 BD81 OUT WDTCR,R24
000029 BD91 OUT WDTCR,R25
00002A 2788 CLR R24
00002B 938D L2: ST X+,R24
00002C 9731 SBIW ZH:ZL,1
00002D F7E9 BRNE L2
00002E 2466 CLR R6
00002F E082 LDI R24,$02
000030 BB87 OUT DDRB,R24
000031 9AC1 SBI PORTB,PB1
000032 94F8 BCLR 7
000033 CFFF L3: RJMP L3
000034 9731 L4: SBIW ZH:ZL,1
000035 F7F1 BRNE L4
000036 9508 RET
000037 9468 BSET 6
000038 F862 BLD R6,2
000039 9508 RET
00003A 94E8 BCLR 6
00003B F862 BLD R6,2
00003C 9508 RET
soweit ich Assembler verstehe werden da keine PORTS oder DDRs gesetzt.
Wo liegt mein Fehler?
Vielen dank für eure Hilfe;
der Bascom Neuling