Autor Tema: Ayuda con Lenguaje de Programacion para PICs  (Leído 4474 veces)

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

Desconectado renegomez28

  • PIC10
  • *
  • Mensajes: 4
Ayuda con Lenguaje de Programacion para PICs
« en: 17 de Enero de 2009, 07:09:49 »
Buen día a todos, y saludos desde el  Guatemala, Soy estudiante de electrónica tengo 16 años y tengo un proyecto que entregar y me intereso bastante este proyecto  que se encuentra en esta dirección:
http://www.josepino.com/pic_projects/air_display/airdisplay_code.html

pero el problema que no se como convertir este  Algoritmo a un archivo .asm para luego convertirlo en un archivo HEX, para luego grabarlo en un PIC 12F629, es cierto que en la pagina se puede descargar el archivo HEX, pero yo quiero modificar los mensajes, ya hice el circuito y baje el archivo HEX de la pagina y me funciona de maravilla, pero como les repito quiero cambiar los mensajes y no se como hacer para que este Algoritmo lo pueda pasar a asm ó HEX, les agradecería toda ayuda Saludos, Mi Email:  renegomez28@hotmail.com

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda con Lenguaje de Programacion para PICs
« Respuesta #1 en: 17 de Enero de 2009, 23:27:27 »
Pasarlo a ASM es muy trabajoso, te conviene modificarlo en C, usando el compilador CCS PCWH por ejemplo hay que modificar muy pocas cosas.-
No contesto mensajes privados, las consultas en el foro

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda con Lenguaje de Programacion para PICs
« Respuesta #2 en: 18 de Enero de 2009, 03:30:40 »
Jeje al final no era tan largo   :lol: , igual aca te doy una idea, podes completarlo con el algoritmo original y la estructura que te doy aca. Yo no lo probe porque no dispongo de este PIC, pero la idea esta!  :mrgreen:

A! y toda la info la presentamos aca, naaa de mails... Es para compartir con todos, como dijo algun forista, "todos para uno, uno para todos!!!"  :-)

;  Compilado con MPLAB IDE v7.42.-

   list      p=12f629   ; list directive to define processor
   #include   <p12f629.inc>   ; processor specific variable definitions
   __CONFIG _CP_ON & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF &_INTRC_OSC_NOCLKOUT & _MCLRE_ON & _CPD_OFF



;*********************************************
; Declaracion de variables

LEDS      equ      0x05   ; Puerto de visualizacion de Leds
TRIS_LEDS   equ      0x85   ; configuracion del puerto

PDel0      equ      0x1A   ; para demoras
PDel1      equ      0x1B   ; para demoras

;**********************************************
; Programa Principal


      org         0x00
inicio
      banksel      TRIS_LEDS   ; Seleccionno Bank de TRIS
      clrf      TRIS_LEDS   ; Todos como salida
      banksel      LEDS      ; Selecciono Bank de LEDS


bucle
      call      carac_T
      call      carac_O
      call      carac_D
      call      carac_O
      call      carac_SPACE
      call      carac_P
      call      carac_I
      call      carac_C
      goto      bucle
      



;**********************************************
; Funciones.-

;----------------------------------------------
; Envio al puerto
salida
      movwf      LEDS
      call      demora_500us
      clrf      LEDS
      call      demora_200us
      return
;-----------------------------------------------         
; Caracteres a enviar
;...............................................
carac_A
      movlw      b'00110110'
      call      salida
      movlw      b'00000101'
      call      salida
      movlw      b'00000101'
      call      salida
      movlw      b'00110110'
      call      salida   
      call      demora_1ms
      return
;................................................
carac_T
      movlw      b'00000001'
      call      salida
      movlw      b'00110111'
      call      salida
      movlw      b'00000001'
      call      salida
      call      demora_1ms
      return   
;................................................
carac_O
      movlw      b'00010110'
      call      salida
      movlw      b'00100001'
      call      salida
      movlw      b'00100001'
      call      salida
      movlw      b'00010110'
      call      salida   
      call      demora_1ms
      return   
;................................................
carac_D
      movlw      b'00110111'
      call      salida
      movlw      b'00100001'
      call      salida
      movlw      b'00100001'
      call      salida
      movlw      b'00010110'
      call      salida   
      call      demora_1ms
      return   
;................................................
carac_P
      movlw      b'00110111'
      call      salida
      movlw      b'00000101'
      call      salida
      movlw      b'00000101'
      call      salida
      movlw      b'00000010'
      call      salida
      call      demora_1ms   
      return      
;..................................................
carac_I
      movlw      b'00100001'
      call      salida
      movlw      b'00110111'
      call      salida
      movlw      b'00100001'
      call      salida
      call      demora_1ms
      return   
;...................................................
carac_C
      movlw      b'00010110'
      call      salida
      movlw      b'00100001'
      call      salida
      movlw      b'00100001'
      call      salida
      movlw      b'00100001'
      call      salida   
      call      demora_1ms
      return      
;....................................................
carac_SPACE
      call      demora_4ms
      return
;....................................................

; Las demas letras tienen el mismo formato, solo copiar los valores del Algoritmo
; original.-

;*******************************************************
; Demoras

;-------------------------------------------------------------

demora_500us
      movlw        .123      ; 1 set number of repetitions
        movwf        PDel0     ; 1 |
PLoop00
      nop             
        decfsz       PDel0, 1  ; 1 + (1) is the time over?
        goto         PLoop00    ; 2 no, loop
PDelL10
      goto       PDelL20         ; 2 cycles delay
PDelL20
      nop              ; 1 cycle delay
        return              ; 2+2 Done
;-------------------------------------------------------------

;-------------------------------------------------------------
demora_200us
      movlw        .48       ; 1 set number of repetitions
        movwf        PDel0     ; 1 |
PLoop01 
      nop
        decfsz       PDel0, 1  ; 1 + (1) is the time over?
        goto         PLoop01    ; 2 no, loop
PDelL11 
      goto       PDelL21         ; 2 cycles delay
PDelL21 
      nop              ; 1 cycle delay
        return              ; 2+2 Done
;-------------------------------------------------------------

;-------------------------------------------------------------
demora_1ms
      movlw        .248      ; 1 set number of repetitions
        movwf        PDel0     ; 1 |
PLoop02 
      nop
        decfsz       PDel0, 1  ; 1 + (1) is the time over?
        goto         PLoop02    ; 2 no, loop
PDelL12 
      goto       PDelL22         ; 2 cycles delay
PDelL22 
      nop              ; 1 cycle delay
        return              ; 2+2 Done
;-------------------------------------------------------------

;-------------------------------------------------------------
demora_4ms 
      movlw        .5        ; 1 set number of repetitions (B)
        movwf        PDel0     ; 1 |
PLoop13
      movlw        .159      ; 1 set number of repetitions (A)
        movwf        PDel1     ; 1 |
PLoop23 
      nop
        nop              ; 1 cycle delay
        decfsz       PDel1, 1  ; 1 + (1) is the time over? (A)
        goto         PLoop23    ; 2 no, loop
        decfsz       PDel0,  1 ; 1 + (1) is the time over? (B)
        goto         PLoop13    ; 2 no, loop
        return              ; 2+2 Done
;-------------------------------------------------------------
      end


Espero que te sirva, suerte!


No contesto mensajes privados, las consultas en el foro

Desconectado renegomez28

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda con Lenguaje de Programacion para PICs
« Respuesta #3 en: 18 de Enero de 2009, 17:20:01 »
Mil Gracias y perdon por lo de el Email, pero soy tambien de la idea de que todos aprendamos, y nuevamente gracias estare probando y te comento luego, Saludos :lol:

Desconectado renegomez28

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda con Lenguaje de Programacion para PICs
« Respuesta #4 en: 20 de Enero de 2009, 06:42:50 »
Perdon con otra consulta cuantos mensajes puedo poner y donde se coloca :shock: y a la hora de grabar en el pic solo enciende un led  :shock:
« Última modificación: 10 de Febrero de 2009, 04:04:06 por renegomez28 »

Desconectado renegomez28

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda con Lenguaje de Programacion para PICs
« Respuesta #5 en: 24 de Enero de 2009, 05:37:33 »
Pasarlo a ASM es muy trabajoso, te conviene modificarlo en C, usando el compilador CCS PCWH por ejemplo hay que modificar muy pocas cosas.-
me puede ayudar a modificarlo en c ya tengo el CCD PCWH para modificarlo, saludos
« Última modificación: 29 de Enero de 2009, 22:06:55 por renegomez28 »