• Domingo 28 de Abril de 2024, 23:03

Autor Tema:  Mc68hc908gp32cp  (Leído 2415 veces)

Miauyin

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Mc68hc908gp32cp
« en: Lunes 4 de Septiembre de 2006, 14:13 »
0
Hola.  Estoy trabajando en un control de temperatura con un LM35 y un gp32cp y desplegando el resultado en display de 7 segmentos de cátodo común.  Ya que soy nueva programando este micro, quisiera saber si alguien sabe como debo utilizar el conversor AD y como debe ir el programa para poder ver el valor de la temperatura en el display.

Espero que alguien me pueda ayudar con esto.  Muchas gracias.

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Mc68hc908gp32cp
« Respuesta #1 en: Martes 5 de Septiembre de 2006, 00:25 »
0
Hola, tengo un cofigo que funciona con el JK3, no creo que sea muy dsitito para el gp32 de todos modos te dejo un link de un PDF muy bueno sobre la familia 68hc08, que me parece se basa en el gp32

http://gda.utp.edu.co/pub/lab_microcontrol.../guia68hc08.pdf

Código: Text
  1.  
  2.  
  3. S1           EQU  $0002
  4. RAMStart     EQU  $0080
  5. RomStart     EQU  $EC00  &#59; Valid for JL3, JK3
  6. VectorStart  EQU  $FFDE
  7.  
  8. $Include 'jl3regs.inc'   &#59; For the 68HC908JL3, 68HC908JK3, 68HC908JK1
  9.  
  10.     org RamStart
  11.  
  12. conta1 db 1
  13. conta2 db 1
  14. conta3 db 1
  15. conta4 db 1
  16. temp_word ds 2
  17. temp_byte ds 1
  18. Timeout1 ds 1  &#59; Allows three timeout routines to be called each of which
  19. Timeout2 ds 1  &#59; can run for up to ~ 1/2 second.
  20. Timeout3 ds 1
  21.  
  22.  
  23.     org RomStart
  24.  
  25. **************************************************************
  26. * Main_Init - This is the point where code starts executing  *
  27. *             after a RESET.                                 *
  28. **************************************************************
  29. dummy_isr:
  30.        rsp
  31.        Bset 0,CONFIG1&#59;Desabilita el watchdog
  32.        clr conta1
  33.        mov #$ff,DDRB      &#59; Setting PortB to an output
  34.        mov #$ff,PORTB
  35.        mov #$F7,DDRD      &#59; 11110111b  
  36.        mov #$AA,PORTD
  37.        mov #$08,ADSCR     &#59; 00001000b&#59; CH8,D3
  38.        mov #$00,ADCLK
  39. main_loop
  40.        bsr retardo
  41.        mov ADR,PORTB
  42.        mov #$08,ADSCR     &#59; 00001000b&#59; CH8,D3
  43.        mov #$00,ADCLK
  44.        INC PORTD
  45.        bra main_loop
  46.  
  47.  
  48. retardo:
  49.       &#59;mov #$1,conta4  &#59;5 &#59;21
  50. r6     mov #$1,conta3  &#59;5 &#59;21
  51. r5     mov #$64,conta2      &#59;64
  52. r4     mov #$64,conta1      &#59;64
  53. r1     dbnz conta1,r1  &#59;255*5
  54. r2     dbnz conta2,r4  &#59;255*5
  55. r3     dbnz conta3,r5
  56. ;r7     dbnz conta4,r6
  57.  
  58. r_sal  rts
  59.  
  60.  
  61. ADC_rutine
  62.        mov #$08,ADSCR     &#59; 00001000b&#59; CH8,D3
  63.        mov #$00,ADCLK
  64.        mov ADR,PORTB      
  65.  
  66.           rti
  67. **************************************************************
  68. * Vectors - Timer Interrupt Service Routine.                 *
  69. *             after a RESET.                                 *
  70. **************************************************************
  71.    org  VectorStart
  72.  
  73.         dw  ADC_rutine   &#59; ADC Conversion Complete Vector
  74.         dw  dummy_isr   &#59; Keyboard Vector
  75.         dw  dummy_isr   &#59; (No Vector Assigned $FFE2-$FFE3)
  76.         dw  dummy_isr   &#59; (No Vector Assigned $FFE4-$FFE5)
  77.         dw  dummy_isr   &#59; (No Vector Assigned $FFE6-$FFE7)
  78.         dw  dummy_isr   &#59; (No Vector Assigned $FFE8-$FFE9)
  79.         dw  dummy_isr   &#59; (No Vector Assigned $FFEA-$FFEB)
  80.         dw  dummy_isr   &#59; (No Vector Assigned $FFEC-$FFED)
  81.         dw  dummy_isr   &#59; (No Vector Assigned $FFEE-$FFEF)
  82.         dw  dummy_isr   &#59; (No Vector Assigned $FFF0-$FFF1)
  83.         dw  dummy_isr   &#59; TIM1 Overflow Vector
  84.         dw  dummy_isr   &#59; TIM1 Channel 1 Vector
  85.         dw  dummy_isr   &#59; TIM1 Channel 0 Vector
  86.         dw  dummy_isr   &#59; (No Vector Assigned $FFF8-$FFF9)
  87.         dw  dummy_isr   &#59; ~IRQ1
  88.         dw  dummy_isr   &#59; SWI Vector
  89.         dw  dummy_isr   &#59; Reset Vector
  90.  
  91.  
  92. * This source is (C)opyright 1999, P&E Microcomputer Systems, Inc.
  93. * Visit us at http://www.pemicro.com.
  94.  
  95.  
  96.  

Toph

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Mc68hc908gp32cp
« Respuesta #2 en: Martes 5 de Septiembre de 2006, 00:41 »
0
Citar
quisiera saber si alguien sabe como debo utilizar el conversor AD y como debe ir el programa para poder ver el valor de la temperatura en el display.

Hola  :hola: ,debes conectar los pines VDDad y VSSad a los pines VDD y VSS del micro, la señal que quieras convertir no debe exceder estos valores, en el registro ADCLK se debe poner la frecuencia de reloj en que se hara la conversion.
Luego como este micro dispone de  8 canales en los puertos B7-B0 para introducir la señal analogica a convertir, debes indicarle al micro cual de ellos vas a usar para eso debes utilizar el registro  ADSCR, en ese registro tambien esta la bandera que indica si una conversion ha sido completada y otras cosas, el otro registro que se usa es el ADR que es donde queda el dato ya convertido a digital para que puedas enviarlo al display.
Debes checar el datasheet del microcontrolador para saber como configurar estos registros ya que eso depende de lo que quieres hacer tu, checalos y si tienes alguna duda posteala  :comp: , el datasheet lo puedes encontrar aqui: http://www.datasheetcatalog.net/cgi-bin/he...n&action=Search
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea