Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Adressage indirect sur ATmega



  1. #1
    gcortex

    Adressage indirect sur ATmega


    ------

    Bonjour à tous,

    je me suis fait une petite carte avec 4 afficheurs 7 segments multiplexés
    MIC5891-afficheurs cathode commune-ULN2003

    tout fonctionnait bien en adressage direct,
    mais en adressage indirect j'ai que des 8...

    Code:
       	.include "m8def.inc"
    reset:
    	LDI	R16,low(RAMEND)
    	OUT	spl,R16 
    	LDI	R16,high(RAMEND)
    	OUT	sph,R16
    	LDI	R16,0x2C
    	OUT	ddrb,R16	;CLK,MOSI,SS en sortie
    	LDI	R16,0x1F
    	OUT	ddrc,R16	;C0-4 en sortie
    	LDI	R16,0x7C
    	OUT SPCR,R16	;SPI en maitre
    	LDI R31,0x02
     aff:
    	LDI	R16,0x08	;milliers
    	LDI	R30,0x04	;chiffre 4
    	RCALL	tempo
    	LDI	R16,0x04	;centaines
    	LDI	R30,0x06	;chiffre 6
    	RCALL	tempo
    	LDI	R16,0x02	;dizaines
    	LDI	R30,0x08	;chiffre 8
    	RCALL	tempo
    	LDI	R16,0x01	;unités
    	LDI	R30,0x02	;chiffre 2
    	RCALL	tempo
    	RJMP	aff
    tempo:
    	OUT	portc,R16 ;selection aff
    	LPM
    	OUT SPDR,R0	;envoyer chiffre
    	SER	R16
    loop:
    	DEC	R16
    	NOP
    	BRNE LOOP
    	SBI portb,2
    	CBI portb,2	;pulse sur strobe
    	RET
    	;
    	.cseg
    	.org	0x0200
    	.db	0xFC,0x60,0xDA,0xF2,0x26,0xBE,0xE0,0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0xDE,0x8E

    -----

  2. Publicité
  3. #2
    gcortex

    Re : Adressage indirect sur ATmega

    'up

    voici le code qui marche (sans indirection):

    Code:
      	.include "m8def.inc"
    reset:
    	LDI	R16,low(RAMEND)
    	OUT	spl,R16 
    	LDI	R16,high(RAMEND)
    	OUT	sph,R16
    	LDI	R16,0x2C
    	OUT	ddrb,R16	;CLK,MOSI,SS en sortie
    	LDI	R16,0x1F
    	OUT	ddrc,R16	;C0-4 en sortie
    	LDI	R16,0x7C
    	OUT SPCR,R16	;SPI en maitre
     aff:
    	LDI	R16,0x08
    	LDI	R17,0xDA	;envoyer 2
    	RCALL	tempo
    	LDI	R16,0x04
    	LDI	R17,0xF2	;envoyer 3
    	RCALL	tempo
    	LDI	R16,0x02
    	LDI	R17,0x26	;envoyer 4
    	RCALL	tempo
    	LDI	R16,0x01
    	LDI	R17,0x60	;envoyer 1
    	RCALL	tempo
    	RJMP	aff
    tempo:
    	OUT	portc,R16
    	OUT SPDR,R17
    	SER	R16
    loop:
    	DEC	R16
    	BRNE LOOP
    	SBI portb,2
    	CBI portb,2
    	RET

  4. #3
    ftorama

    Re : Adressage indirect sur ATmega

    Salut,

    déjà, j'aurais mis les données en .dseg plutôt qu'en .cseg. LPM devient alors inutile

  5. #4
    gcortex

    Re : Adressage indirect sur ATmega

    déjà, j'aurais mis les données en .dseg plutôt qu'en .cseg
    j'ai mis dseg et c'est pareil

    LPM devient alors inutile
    ?
    Dernière modification par gcortex ; 27/09/2011 à 18h13.

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    ftorama

    Re : Adressage indirect sur ATmega

    Tu as lu cette doc?

    http://www.atmel.com/dyn/resources/p...ts/doc1233.pdf

    Normalement, l'adresse à laquelle tu lis est déterminée par Z, or je ne te vois pas l'initialiser

  9. #6
    gcortex

    Re : Adressage indirect sur ATmega

    merci pour ta réponse
    Z est formé par R31 et R30
    j'ai mis les valeurs dedans (02xx)

  10. Publicité
  11. #7
    gcortex

    Re : Adressage indirect sur ATmega

    Un grand merci

    j'ai mis org 0x0100

    problème résolu

Sur le même sujet


Discussions similaires

  1. LCD graphique sur ATMEGA
    Par joey57 dans le forum Électronique
    Réponses: 6
    Dernier message: 07/12/2010, 07h55
  2. spi sur ATmega
    Par joey57 dans le forum Électronique
    Réponses: 34
    Dernier message: 16/08/2010, 21h15
  3. adressage modbus sur liaison serie
    Par eurasmus11 dans le forum Électronique
    Réponses: 3
    Dernier message: 20/10/2009, 19h27
  4. MLI sur Atmega !
    Par lami_dta_femme dans le forum Électronique
    Réponses: 1
    Dernier message: 19/12/2008, 10h06
  5. adressage indirect SETP 7 siemens
    Par jérome stas dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 19/10/2008, 16h14
Découvrez nos comparatifs produits sur l'informatique et les technologies.