PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN Control mega32 - assembler programmierung



emma1976
29.03.2007, 20:18
Hallo,

habe mir ein RN Control Mega32 Board zugelegt, dazu habe ich ein ISP kabel.

mit Bascom komm ich auch auf das board, allerdings möchte ich in assembler

programmieren. ( vorkenntnisse mit mega8-myavr)

wie es es für mich anfänger am einfachsten (Software:AVR Studio?+ Pony Prog ?brauche ich dafür umbedingt die RS232 Schnittstelle)


habe bis jetzt keine Testprogramme in assembler gefunden, weiß jemand wo es welche für das board gibt?

:-? Gruß

robocat
29.03.2007, 21:17
ich verwende auch den parallel-isp zusammen mit AVRstudio und ponyprog2000. rs232 brauchst du nur, wenn du ausgaben an den rechner schicken willst (oder vom rechner ans board).

ich habe keine rn-control, aber hier ein asm-skelett für den a8, das aber mit deinem a32 auch klappen müsste (konkret blinkt das dann irgendwie an PB4, will meinen: PB4 wird als ausgang definiert und ein- und ausgeschalten).

.NOLIST
.INCLUDE <m32def.inc>
.LIST

; MCU Takt für diverse Berechnungen festlegen
.equ tosc = 1000000

.def temp = r20
.def count = r21
.def result = r22
.def pwmval = r23
.def delay = r25

.CSEG
.org 0

; Interupt Vektoren
rjmp init ; Reset Handler
reti ; IRQ0 Handler
reti ; IRQ1 Handler
reti ; Timer2 Compare Handler
reti ; Timer2 Overflow Handler
reti ; Timer1 Capture Handler
reti ; Timer1 CompareA Handler
reti ; Timer1 CompareB Handler
reti ; Timer1 Overflow Handler
reti ; Timer0 Overflow Handler
reti ; SPI Transfer Complete Handler
reti ; USART RX Complete Handler
reti ; UDR Empty Handler
reti ; USART TX Complete Handler
reti ; ADC Conversion Complete Handler
reti ; EEPROM Ready Handler
reti ; Analog Comparator Handler
reti ; Two-wire Serial Interface Handler
reti ; Store Program Memory Ready Handler

init:
;Stackpointer
ldi temp, LOW(RAMEND)
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPH, temp
;Aus/Eingänge

ldi temp, (16)
out DDRB, temp ; Ausgang: PB4

Main: ;----------------------------- Einsprungspunkt Main

ldi temp, (16)
out PORTB, temp

rcall wait

ldi temp, (0)
out PORTB, temp

rcall wait

rjmp Main

wait:
; delay
ldi R17, 32
WGLOOP0: ldi R18, 255
WGLOOP1: ldi R19, 255
WGLOOP2: dec R19
brne WGLOOP2
dec R18
brne WGLOOP1
dec R17
brne WGLOOP0
nop
ret


im avr-studio ein projekt mit new-project oder dem wizard erzeugen, dort den AVR-simulator und deinen mega32 wählen, code reinpasten und mit F7 kompilieren. das hexfile dann mit pony schreiben.

je nachdem was wo an deinem board angeschlossen ist, musst du die 16 und das PORTB/DDRB natürlich anpassen.

gruesse