Programación Específica > Microcontroladores MOTOROLA

 Mc68hc908gp32cp

(1/1)

Miauyin:
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:
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 ---  S1           EQU  $0002RAMStart     EQU  $0080RomStart     EQU  $EC00  &#59; Valid for JL3, JK3VectorStart  EQU  $FFDE $Include 'jl3regs.inc'   &#59; For the 68HC908JL3, 68HC908JK3, 68HC908JK1     org RamStart conta1 db 1conta2 db 1conta3 db 1conta4 db 1temp_word ds 2temp_byte ds 1Timeout1 ds 1  &#59; Allows three timeout routines to be called each of whichTimeout2 ds 1  &#59; can run for up to ~ 1/2 second.Timeout3 ds 1      org RomStart *************************************************************** Main_Init - This is the point where code starts executing  **             after a RESET.                                 ***************************************************************dummy_isr:       rsp       Bset 0,CONFIG1&#59;Desabilita el watchdog       clr conta1       mov #$ff,DDRB      &#59; Setting PortB to an output       mov #$ff,PORTB       mov #$F7,DDRD      &#59; 11110111b          mov #$AA,PORTD       mov #$08,ADSCR     &#59; 00001000b&#59; CH8,D3       mov #$00,ADCLKmain_loop       bsr retardo       mov ADR,PORTB       mov #$08,ADSCR     &#59; 00001000b&#59; CH8,D3       mov #$00,ADCLK       INC PORTD       bra main_loop  retardo:      &#59;mov #$1,conta4  &#59;5 &#59;21r6     mov #$1,conta3  &#59;5 &#59;21r5     mov #$64,conta2      &#59;64r4     mov #$64,conta1      &#59;64r1     dbnz conta1,r1  &#59;255*5r2     dbnz conta2,r4  &#59;255*5r3     dbnz conta3,r5;r7     dbnz conta4,r6 r_sal  rts  ADC_rutine       mov #$08,ADSCR     &#59; 00001000b&#59; CH8,D3       mov #$00,ADCLK       mov ADR,PORTB                  rti*************************************************************** Vectors - Timer Interrupt Service Routine.                 **             after a RESET.                                 ***************************************************************   org  VectorStart         dw  ADC_rutine   &#59; ADC Conversion Complete Vector        dw  dummy_isr   &#59; Keyboard Vector        dw  dummy_isr   &#59; (No Vector Assigned $FFE2-$FFE3)        dw  dummy_isr   &#59; (No Vector Assigned $FFE4-$FFE5)        dw  dummy_isr   &#59; (No Vector Assigned $FFE6-$FFE7)        dw  dummy_isr   &#59; (No Vector Assigned $FFE8-$FFE9)        dw  dummy_isr   &#59; (No Vector Assigned $FFEA-$FFEB)        dw  dummy_isr   &#59; (No Vector Assigned $FFEC-$FFED)        dw  dummy_isr   &#59; (No Vector Assigned $FFEE-$FFEF)        dw  dummy_isr   &#59; (No Vector Assigned $FFF0-$FFF1)        dw  dummy_isr   &#59; TIM1 Overflow Vector        dw  dummy_isr   &#59; TIM1 Channel 1 Vector        dw  dummy_isr   &#59; TIM1 Channel 0 Vector        dw  dummy_isr   &#59; (No Vector Assigned $FFF8-$FFF9)        dw  dummy_isr   &#59; ~IRQ1        dw  dummy_isr   &#59; SWI Vector        dw  dummy_isr   &#59; Reset Vector  * This source is (C)opyright 1999, P&E Microcomputer Systems, Inc.* Visit us at http://www.pemicro.com.   

Toph:

--- 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.
--- Fin de la cita ---

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

Navegación

[0] Índice de Mensajes

Ir a la versión completa