Autor Tema: soy novato en esto nesecito AYUDAAAA  (Leído 1766 veces)

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

Desconectado hicho333666

  • PIC10
  • *
  • Mensajes: 5
soy novato en esto nesecito AYUDAAAA
« en: 21 de Diciembre de 2004, 14:57:00 »

Hola mi nombre es Mauricio y estoy haciendo un programita en el pic 16f628A

lo que me hace es que no me utiliz bien el comando movwf generandome un loop diferente al que quiero generar.

pulse y paux son dos variables que las defini anteriormente de la siguiente forma

pulse          EQU     0x72    ; registro utilizado para almacenar el ancho del pulso
paux          EQU     0x73    ; registro auxiliar

pulse_default     EQU   D"02" ; ancho del pulso de inicialización

ahora "pulse" al inicio del programa la inicializo como

movlw   pulse_default ; Cargo ancho de pulso por defecto
movwf   pulse

luego cuando hago la siguiente instruccion el paux se me va al carajo
me queda valores de 114 por ej
 
movlw   pulse
movwf   paux   

ademas al simular en el mplab el valor del pulse esta bien antes de mover pulse a W.


Por Favor necesito ayudaaaaaaaaaaaa   

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: soy novato en esto nesecito AYUDAAAA
« Respuesta #1 en: 21 de Diciembre de 2004, 15:05:00 »
Creo que deberías hacerlo asi:

movf pulse,w
movwf paux

La instrucción movlw es para cargar valores literales en el acumulador,por ej:

movlw 0x5F


Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
RE: soy novato en esto nesecito AYUDAAAA
« Respuesta #2 en: 21 de Diciembre de 2004, 21:19:00 »
si si, es como dice Modulay...  
ademas, no se como empieza el programa, pero en algun lado tienes que definir la posicion del registro pulse... porque sino te lo toma como un literal

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado carlyvalente

  • PIC16
  • ***
  • Mensajes: 108
RE: soy novato en esto nesecito AYUDAAAA
« Respuesta #3 en: 22 de Diciembre de 2004, 05:21:00 »
Satamente:

0x72 lo has puesto como dirección de memoria (esa es tu intención)  para usarlo como variable, pero si le pones : movlw 0x72 te moverá al acumulador W el valor 0x72, no lo que hay contenido dentro de la posicion 0x72.
Por cierto, en la pagina de memoria del 628 veo la posicion 0x72 bastante alta... no vaya a ser cosa que ... mejor usa 20h o algo mas cercano (figura 3-2 datasheet del 628)


 

anything