Test-Bord til ATmega16

Hej

Er ved som nybegynder, at konstrurer et Test-Board for ATMEL ATmega16

40Pin's DIP

Micprocesser. Har lig købt Atmel AVR udviklingskit STK500

Se tegningen her:

formatting link

Hvil du værer behjælpelig med, at indtegne / beskrive pin-forbindelserne fra potentiometerne

til de 8 analog indgange. Også de 8 Led'erne samt andre forbindelser der er nødvendigt for fremstilling af et

test-board. Hvor en spænding på en anolog indgang, via programmeringe vil få led tændt.

Med venlig hilsen Monie

E-mail: mjs at nypost dot dk

Reply to
Monie Jacobsen
Loading thread data ...

fra

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.

Reply to
HKJ

Hej HKJ

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...

Reply to
Monie Jacobsen

Hej Igen

Du skulle vel ikke havde et meget simpel program med 1 eller 2 led som nybegyndder, jeg kan aflæse koderne og derfra prøve mig frem.

Mvh Monie

"HKJ" skrev i en meddelelse news:cv33qr$9k$ snipped-for-privacy@news.cybercity.dk...

Reply to
Monie Jacobsen

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.

-----------------------------------------------------------

.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

Reply to
HKJ

det

sikkert

Jeg kom til at klippe for meget, disse fire linier skal være lige efter "start:"

ldi r16,low(RAMEND) ;Init stackpointer out spl,r16 ldi r16,high(RAMEND) out sph,r16

Reply to
HKJ

Til HKJ

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...

Reply to
Monie Jacobsen

Nej, der er i hvert fald to ting:

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

Reply to
Nils Emil P. Larsen

Hej Niels

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...

Reply to
Monie Jacobsen

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.