Autor Tema: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1  (Leído 5445 veces)

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

Desconectado ascii

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
 Después de estar jugando algunos días con los microcontroladores de freescale (ex-motorola), he conseguido hacer algunas cosas no tan trascendentales pero es posible que a algunas personas sea de utilidad y mas aun por la poca información que existen de estos micros, el primer ejemplo se trata de como utilizar el conversor análogo digital que traen estos micros. Básicamente lo que hace el programa es leer el dato análogo desde el pin ptda0 y enviar esta conversion a el puerto b, El microcontrolador corresponde al 68hc908jk1ecpe. Aquí dejo el código y espero que sea de utilidad.

RAMStart EQU $0080
ROMStart EQU $EC00
VectorStart EQU $FFFE


$Include '\pemicro\ics08jkz\jk1regs.inc

org ROMStart


COMIENZO:
rsp
clrx
lda #%00010001
sta CONFIG1
LDA #$FE
STA DDRD
LDA #$FF
STA DDRB
LDA #%00101011
STA ADSCR
Inicio:
BSR Cad
STA PORTB
JMP Inicio

Cad:

BRCLR COCO.,ADSCR,Cad ;conversión completa y para que se estabilice
LDA ADR ;Borra el bit COCO leyendo ADR
BRCLR COCO.,ADSCR,Cad ;este tiempo toma la medida real
;MOV #%00011111,ADSCR ;Después se apaga el ADC
LDA ADR ;Recupera el resultado del ADC
RTS ;vuelve con el resultado en el acumulador

org VectorStart

dw COMIENZO ; Vector de Reset (Comienzo del programa)
« Última modificación: 17 de Mayo de 2007, 03:15:09 por ascii »

Desconectado fa61an

  • PIC10
  • *
  • Mensajes: 21
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #1 en: 17 de Mayo de 2007, 02:59:07 »
Que bueno ascii que empieces aportar tus cosas de los micros freecale, para reforzar este mensaje envio otro codigo hecho en C y en asm que hace lo mismo pero con el micro JK3

lo envio como adjunto. buen provecho.
Colombia - Bucaramanga UTS

Desconectado ascii

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #2 en: 17 de Mayo de 2007, 03:07:02 »
Que programa ocupas....codewarrior??, tengo entendido que hay otro programa, en este momento no recuerdo bien....


pd: codewarrior ahora esta para linux  :mrgreen:


Desconectado fa61an

  • PIC10
  • *
  • Mensajes: 21
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #3 en: 17 de Mayo de 2007, 11:33:10 »
SI yo uso el codewarrior ya que el processor expert es de gran ayuda cuando necesitas hacer el código rápido y si tener que leerte tanto el data para los registros.


Creo que no esta para linux,  o por lo menos es lo que pude ver en la pagina de Freescale, se de un software llamado SDCC Herramienta libre y multiplataforma (disponible para Windows, Linux, MAC, etc), distribuida bajo licencia GPL es un compilador de C para microcontroladores de 8 bits, entre ellos el 68hc08, pero también es válido para los PIC, 8051, Z80, y algunos otros. No lo he usado pero si te interesa lo puedes descargar de http://sdcc.sourceforge.net/.

Mi imagino de pronto debas tener dos sistemas operativos osea Windows y una distribución Linux, si es asi usa el codewarrior para Windows la verdad que facilita mucho el trabajo.

Colombia - Bucaramanga UTS

Desconectado ascii

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #4 en: 17 de Mayo de 2007, 13:57:10 »
Asi es tengo win y ubuntu feisty, lo que menos ocupo es win pero de pronto en pronto ingreso para programar los micros, el programa que ocupo es el de la pagina www.pemicro.com pero solo permite programar en asembler, haber si me bajo el codewarrior y me hechas una mano para empezar a programar en c, ya que en eso soy medio nulo  :D

Desconectado Facundo

  • PIC10
  • *
  • Mensajes: 28
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #5 en: 17 de Mayo de 2007, 16:07:58 »
Hola todos !!!

Adjunto otro ejemplo sobre el uso del conversor escrito en C con el Code Warrior.  (Funcionaaaaaaa  :-/)

     Saludos
           Facundo

Desconectado Facundo

  • PIC10
  • *
  • Mensajes: 28
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #6 en: 17 de Mayo de 2007, 16:14:10 »
Mel olvidé...
   
Los dos programitas para la pc los bajé de aqui:

   www.firtec.com.ar/archivos/Termo_Vol_Serial.zip
 
      Saludos
          Facundo

Desconectado fa61an

  • PIC10
  • *
  • Mensajes: 21
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #7 en: 17 de Mayo de 2007, 16:30:09 »
Si pues bajate el codewarrior y repasa el lenguaje C enfocado  al PC que te va  a servir de mucho por ejemplo usa el DEV C++ y practicas la programación en C, lo bueno seria que empieces con el codewarrior eso si para que te familiarices con el software pues porque me parece que este es bastante  mejor.

Colombia - Bucaramanga UTS

Desconectado ascii

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #8 en: 17 de Mayo de 2007, 17:06:50 »
Lo único que programado en c ha sido para aplicaciones en pc....en esos tiempos TURBO C... te suena??? ajjjaja  :D .... por lo otro veo que esto esta agarrando brillo....gracias facundo por el post... espero que continué y podamos seguir avanzando.

fa61an le has echando un ojo al jb8 y su aplicación HID, yo la probé y anda de pelos.

Desconectado wilmerariza

  • PIC10
  • *
  • Mensajes: 5
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #9 en: 28 de Mayo de 2007, 22:04:52 »
les envio el codigo para lograr una recepcion serila y enviarla por puerto serial usando interrupciones
$include 'gpgtregs.inc'


FLASH        EQU  $8000
RAM          EQU  $0040
VectorStart  EQU  $FFDC
        org RAM
p1       ds       1
p2       ds       1
p3       ds       1
m3       ds       1
m2       ds       1
m1       ds       1
del1     DS       1
del      DS       1
del0     DS       1
r1       ds       1
r2       ds       1
r3       ds       1
r4       ds       1
war      ds       1
        org FLASH
$include 'lcd1.inc'
confini:
        bset   0,CONFIG1            ;deshabilita el cop
        rsp                         ;RESETEO DEL SP
        cli                         ;permite que ocurra una interrupcion
        clc                         ;inicia en 0 el carry
        clra                        ;limpia el acumulador
        clr    r1
        CLI                            ; Enable interrupts
        MOV    #$01,CONFIG2
        mov    #%11111111,DDRA      ;se configura el PORT C 1 como salida
        clr    PTA
        mov    #%11111111,DDRC
        clr    PTB
        mov    #%00000000,DDRB
        CLR    PTC
        jsr    delay15m
        jsr    initializacion

        CLR     SCC1                   ; Disable the SCI module
        LDA     SCS1                   ; Dummy read of the SCS1 registr to clear flags
        LDA     SCS2                   ; Dummy read of the SCS2 registr to clear flags
        LDA     SCDR                   ; Dummy read of the SCDR registr to clear flags
        CLR     SCC3
        ldx     #$54
        MOV     #$01,SCBR
        MOV     #$40,SCC1
        MOV     #$2c,SCC2


ciclo:
       nop
       jmp      ciclo


       wait

ver:
          BSET  0,PTC
          sta   PTA
          JSR   enable
          CLR   PTC
          rts





**************************************************************
* DUMMY_ISR - Dummy Interrupt Service Routine.               *
*             Just does a return from interrupt.             *
**************************************************************
dummy_isr:

       rti           ; return
reception:
       ldx     scdr
       brset   0,SCS2,*
       bclr    5,scs1
       LDA     SCC1
       LDA     SCS1
       LDA     SCS2
       LDA     SCDR
       STA     SCDR
       brset   6,SCS1,*
       RTI
       RTI

**************************************************************
* Vectors - Timer Interrupt Service Routine.                 *
*             after a RESET.                                 *
**************************************************************
   org  VectorStart

        dw  dummy_isr    ; Time Base Vector
        dw  dummy_isr        ; ADC Conversion Complete
        dw  dummy_isr    ; Keyboard Vector
        dw  dummy_isr    ; SCI Transmit Vector
        dw  reception    ; SCI Receive Vector
        dw  dummy_isr    ; SCI Error Vector
        dw  dummy_isr    ; SPI Transmit Vector
        dw  dummy_isr    ; SPI Receive Vector
        dw  dummy_isr    ; TIM2 Overflow Vector
        dw  dummy_isr    ; TIM2 Channel 1 Vector
        dw  dummy_isr    ; TIM2 Channel 0 Vector
        dw  dummy_isr    ; TIM1 Overflow Vector
        dw  dummy_isr    ; TIM1 Channel 1 Vector
        dw  dummy_isr    ; TIM1 Channel 0 Vector
        dw  dummy_isr    ; ICG/CGM Vector
        dw  dummy_isr    ; ~IRQ1 Vector
        dw  dummy_isr    ; SWI Vector
        dw  confini      ; Reset Vector

Desconectado fa61an

  • PIC10
  • *
  • Mensajes: 21
Re: Manejo del conversor Analogo digital....microcontrolador 68hc908jk1
« Respuesta #10 en: 23 de Junio de 2007, 03:44:15 »
que pena contestar tan tarde pero no me había llegado notificación al correo de nuevos mensajes sobre este hilo de temas, y respecto a tu pregunta.

<<jb8 y su aplicación HID, >> no lo he usado, ni muchos menos se que significa HID seria bueno que comentaras lo que hiciste..

Colombia - Bucaramanga UTS