Ver Mensaje Individual
Antiguo 05/04/2005, 00:07   #1
sswap
Usuario Activo
 
Fecha de ingreso: 21/jul/2003
Mensajes: 24
sswap está en el buen camino
¿Configuracion de puertos con at90s8515?

Estoy intentando hacer un trabajo con el at90s8515 y no consigo que me mande nada por los puertos no se si es por que tengo algo mal en la placa o por que tengo mal configurados los puertos el codigo que tengo puesto es:


.include "8515def.inc"


; ************************************
; * Variable Definitions
; ************************************
.def cambios =R15
.def temp =R16
.def temp2 =R17
.def temp3 =R18
; Z contiene la orden actual
; Y la orden anterior para comparar con Z
; X tiene el dato actual XL e XH deberan ser iguales
.def dato =R19 ;Contiene el valor del dato anterior


; ************************************
; * Inicio Codigo
; ************************************
.cseg
.org 0
rjmp start ; $000 HW reset or watchdog
reti ; $001 External IRQ 0
reti ; $002 External IRQ 1
reti ; $003 Timer/Counter1 capture event
reti ; $004 Timer/Counter1 compare match A
reti ; $005 Timer/Counter1 compare match B
rjmp cambioLED ; $006 Timer/Counter1 overflow
reti ; $007 Timer/Counter0 overflow
reti ; $008 SPI/SCT serial transfer complete
reti ; $009 UART Rx complete
reti ; $00A UART data register empty
reti ; $00B UART Tx complete
reti ; $00C Analog comparator


start:
;*************************************
;Configuracion Puntero Pila
;*************************************
ldi temp,low(RAMEND)
out SPL,temp ; Puntero pila al final de la SRAM
ldi temp,high(RAMEND)
out SPH,temp

;*************************************
;Configuracion Puertos
;*************************************
ldi temp,0x00
out PINA,temp ;Valor inicial de los registros
out PINB,temp ;igual a 0
out PINC,temp
out PIND,temp

ldi temp,0b01001111 ;Direccion de los pines puerto A
out DDRA,temp ;A7 in, A6 out, A5, A4, A3 out, A2 out A1 out y A0 out

ldi temp,0b00001011 ;Direccion de los pines puerto B
out DDRB,temp ;B7,B6,B5,B4 in, B3 out, B2 in, B1 out y B0 out

ldi temp,0b00000000 ;Direccion de los pines puerto C
out DDRC,temp ;C7 in, C6 in, C5 in, C4 in, C3 in, C2 in, C1 in y C0 in

ldi temp,0b11111111 ;Direccion de los pines puerto D
out DDRD,temp ;D7 out, D6 out, D5 out, D4 out, D3 out, D2 out, D1 out y D0 out.


;**************************************
;Configuracion temposrizador 1 16 bits
;**************************************

ldi temp,0
out TCCR1A,temp Mode y PWM
ldi temp,0x0D
out TCCR1B,temp
ldi temp,0b11000000
out TIMSK,temp
ldi temp,61
out OCR1AH,temp
ldi temp,9
out OCR1AL,temp


sei ; habilitar interrupciones

;******************************************
;Codigo de lectura de peticiones y ordenes
;******************************************
loop0A:

ldi temp,0xff
out PORTA,temp
out PORTD,temp
rjmp loop0A


.
.
.
.
Pero esto no envia nada, le he cambiado el cuarzo por si acaso era eso pero nada, he probado con varios micros y tampoco, poniendo reset y sin reset, no tengo ni idea de que puede ser si alguno sabe si tengo algo mal el el codigo se lo agradecería . el cuarzo se lo tenog puesto como viene en el manual de atmel con un cristal de 8Mhz y dos condensadores de 33pF.
sswap está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir