Test-Bord til ATmega16

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
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: www.sunwind.dk/ATmega16.jpg

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



Re: Test-Bord til ATmega16

Quoted text here. Click to load it
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.


Quoted text here. Click to load it

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.



Re: Test-Bord til ATmega16
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

Quoted text here. Click to load it



Re: Test-Bord til ATmega16
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

Quoted text here. Click to load it



Re: Test-Bord til ATmega16

Quoted text here. Click to load it

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








Re: Test-Bord til ATmega16


Quoted text here. Click to load it
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






Re: Test-Bord til ATmega16
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


Quoted text here. Click to load it



Re: Test-Bord til ATmega16
Hej


Quoted text here. Click to load it

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<<<<<<<<<<<<
 Stackpointeren peger indledningsvis på det første adresse, der bl.a.
kan bruges til at gemme Program Counter-værdier i forbindelse med rjmp
(Program Counter skal forstås som linjenummer eller en
programadresse).

2) Du har glemt at rette include-filen til m16.def  (m163.def er vist
til en anden processor).  Markeret med >>>>>>> HER NR. 2 <<<<<<<<<


Hvis du bor i nærheden af Lyngby kan du møde op i Polyteknisk Radio
Gruppe, hvor vi bl.a. leger med Atmel-mikroprocessorer (vi har også
STK500).  PRG er en hobbyklub for alle elektronikinteresserede, men
især studerende på DTU. www.prg.dtu.dk

mvh
Nils Emil P. Larsen

Quoted text here. Click to load it



--
My reply-address is valid.           www.bios-flash.dk
Min svar-adresse er gyldig.      Redning af døde BIOS'er

Re: Test-Bord til ATmega16
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


Quoted text here. Click to load it



Site Timeline