Autor Tema: programacion en asembler atmega16  (Leído 3425 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado angel777

  • PIC10
  • *
  • Mensajes: 2
programacion en asembler atmega16
« en: 10 de Abril de 2011, 18:14:55 »
hola a todos soy nueva en el foro y tengo una duda en un programa que estoy realizando
ya que tengo un error en la simulacion y no he netendido cual es  si alguien me puede ayudar gracias

programa que tome dos datos de 4 bits (ambos del puerto A), si en pin 7 del
puerto B hay un cero se muestra la suma de los datos en el puerto C (5 bits); si hay un 1 se
muestra la resta en los últimos 5 bits del puerto C y el signo de la resta en el pin 7 del mismo
puerto. (0 positivo, 1 negativo).

este es mi codigo:
;DIRECTIVAS EN ENSAMBLADOR
.include "m16def.inc"
.device ATMEGA16

;RESET_VECTOR ADDRESS $0000
.org $00

jmp inicio


; PROGRAMA PRINCIPAL


inicio:

ldi r16, high(ramend)
out sph, r16
ldi r16, low(ramend)
out spl, r16
ser r16


;configuracion de puertos


ldi r17,$00 ; entradas de porta
out ddra, r17



ldi r18,$7F ;seleccionPINA 0 25
out ddrb, r18

ldi r19, $1F ;salida con signo
out ddrc, r19
clr r19


ciclo:

in r17,pina
in r18,pinb

mov r20,r17
andi r20,$F0
swap r20

andi r17,$0F

cpi r18,$00
breq suma


resta:

   sub r20, r17
   brmi signo
   out portc,r20
   jmp ciclo


suma:
   add r20, r17
   out portc, r20
   jmp ciclo

signo:
   neg r17
   ldi r23,$08
   add r20,r23
   out portc, r20
   jmp ciclo

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 453
Re: programacion en asembler atmega16
« Respuesta #1 en: 11 de Abril de 2011, 20:57:05 »
Como cual es el error el código compila funciona la suma la resta lo que no estoy muy seguro es el resultado de la resta con signo.
Pero el programa corre normal.
El problema es el pinc7 no sale por que no esta como salida aparte de la salida de pinc0...pinc4.

Desconectado angel777

  • PIC10
  • *
  • Mensajes: 2
Re: programacion en asembler atmega16
« Respuesta #2 en: 13 de Abril de 2011, 17:57:20 »
gracias.... :) si es verdad tengo problemas con la salida, ademas de que en proteus no simula muy bien. pero revisare lo ke me dices


 

anything