Hvis du ser på STK500 er der et stik hvorpå der står PA0...PA7 det er port A og GND er gnd, VTG er +5V. Så det skulle være rimeligt let at forbinde.
Du trækker bare ledninger mellem LED0 og f.eks. PB0, så har du allerede den første lysdiode forbundet.
Det gode ved STK500 er at du ikke behøver masser af forbindelser før det virker, strøm på og MPU'en i, så er den kørende. Start med et program som blinker med LEDene, så du kan se at det virker. Husk delay loop, det er ret svær at se en forskel på en konstant lysende LED og en der blinker 1000000 gange i sekundet.
Mange tak for svaret. Jeg vil nemlig starte med et simple programmer til blinker med LEDene o.s.v For at få noget erfaring. Test-board er bare et lille simpel printplade, så jeg kan se det virke udenfor STK500.
Mvh Monie
"HKJ" skrev i en meddelelse news:cv33qr$9k$ snipped-for-privacy@news.cybercity.dk...
Ikke rigtig, mine programmer er væsentlig større end det.
Jeg har dog prøvet at tage et program og reducere til det du efterlyser, det har dog ikke været igennem assembleren eller en test, så det er ikke sikkert at det virker, men det viser ihvertfald den struktur jeg bruger.
Du skal lige huske at skifte .include "...." til den rigtige MPU type.
;r0 is used for LPM (Z) ;r1..r15 General purpose, but not for immidate values ;r16..r25 Genral purpose, with immidate values ;r26..r31 Double registers (X,Y,Z)
.dseg .org $60
.eseg
.cseg
rjmp Start ; Reset nop reti ; INT0 nop reti ; INT1 nop reti ; TIMER2 COMP nop reti ; TIMER2 OVF nop reti ; TIMER1 CAPT nop
Start: cli
;Program ports clr r16 ;Startup with everything off out portb,r16 ldi r16,$ff out ddrb,r16
Again: ldi r16,1 out portb,r16 rcall delay ldi r16,0 out portb,r16 rcall delay rjmp again
delay: ldi r16,0 ldi r17,0
delay1: dec r16 brne delay1 dec r17 brne delay1 ret
Mange tak for koderne. Nu kan jeg afprøve STK500 og ikke mindst prøve forskellige muligheder! Er det sådan, at hele koden skal se ud?
ldi r16,low(RAMEND) ;Init stackpointer out spl,r16 ldi r16,high(RAMEND) out sph,r16
.nolist .include "m163def.inc" .list
;PortB .equ bbitLed = 0 ;
;r0 is used for LPM (Z) ;r1..r15 General purpose, but not for immidate values ;r16..r25 Genral purpose, with immidate values ;r26..r31 Double registers (X,Y,Z)
.dseg .org $60
.eseg
.cseg
rjmp Start ; Reset nop reti ; INT0 nop reti ; INT1 nop reti ; TIMER2 COMP nop reti ; TIMER2 OVF nop reti ; TIMER1 CAPT nop
Start: cli
;Program ports clr r16 ;Startup with everything off out portb,r16 ldi r16,$ff out ddrb,r16
Again: ldi r16,1 out portb,r16 rcall delay ldi r16,0 out portb,r16 rcall delay rjmp again
delay: ldi r16,0 ldi r17,0
delay1: dec r16 brne delay1 dec r17 brne delay1 ret
Mvh Monie
"HKJ" skrev i en meddelelse news:cv5044$1p4s$ snipped-for-privacy@news.cybercity.dk...
1) De fire linjer til initialisering af stackpointer skal placeres efter din Start-label. Markeret med >>>>>>>>HER NR. 1>>>>>> HER NR. 2 ;r26..r31 Double registers (X,Y,Z)
-- My reply-address is valid.
formatting link
Min svar-adresse er gyldig. Redning af døde BIOS'er
Bor ikke i nærheden af Lyngby, kan derfor ikke møde op der. Det er erveligt! Men mange tak for dit indlæg m.v. Og det ville havde være rart, hvis man kunne lærer det sammen med andre!
Mvh Monie
"Nils Emil P. Larsen" skrev i en meddelelse news: snipped-for-privacy@4ax.com...
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.