Autor Tema: Pic 16f877A y recpcion d datos seriales....?  (Leído 2333 veces)

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

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Pic 16f877A y recpcion d datos seriales....?
« en: 27 de Abril de 2005, 23:53:00 »
Hola amigos:

Tengo una pregunta:

Tengo un circuito que censa temperatura y quería saber si enviando un dato serial desde el computador puedo interrumpir la acción del PIC para que se pueda enlazar con la PC y poder descargar unos datos así mismo en forma serie al PIC. Si de algo sirve mi programa es como sigue:

"Temperatura con PIC16f877A y LM35

"DEFINICIONES
Define  LCD_DREG        PORTB        
Define  LCD_DBIT        0          
Define  LCD_RSREG       PORTB        
Define  LCD_RSBIT       5            
Define  LCD_EREG        PORTB        
Define  LCD_EBIT        4          

Define  ADC_BITS        8            
Define  ADC_CLOCK       3            
Define  ADC_SAMPLEUS 50  

"LIBRERIAS
include "modedefs.bas"

"VARIABLES
estado  var     bit
dat     var     word
dato    var     BYTE      

"CONFIGURACIONES          
TRISA =%1
TRISC = %11111111                
ADCON1 = %00001110      

"INICIO
pause  50
estado = 0

loop:
        if PORTC.4=0 then
            pause 100
            estado = 1
        endif
        if PORTC.5=0 then
            pause 100
            estado = 0
        endif
       
        if estado = 0 then Sensar
        if estado = 1 then Serie
        gosub Temperatura
        goto loop

Sensar:
        gosub Temperatura
        goto loop
       
Serie:
        gosub Temperatura
        serin PORTD.3,T2400,dat
        if dat=1 then  Enviar                
        goto loop
   
Enviar:
        serout PORTD.2,T2400,[#dato,"oC"]
        goto loop
       
Temperatura:
        ADCIN 0, dato                  
        Lcdout $fe, 1 ,"T.actu"      
        dato = dato /2                
        Lcdout $fe,$c1,DEC2 dato,"oC"
        pause 50
        return      
end    

Gracias nuvamente y espero cualquier ayuda……..!

GiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiñoGiño

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Pic 16f877A y recpcion d datos seriales....?
« Respuesta #1 en: 01 de Mayo de 2005, 00:21:00 »
Veo que ahora conmutas con C4 y C5. Puedes hacer dos cosas

1.- la forma más fácil es leer la temperatura y los sensores que tengas que leer y quedarte esperando en serin durante un rato largo, digamos 1000 ms. Esto te permite cada segundo hacer todas las tareas y esperar a ver si el PC te pregunta. No es el modo más optimizado de hacerlo, pero si el micro no pierde tiempo de trabajo en esta espera lo puedes hacer de forma fácil.

2.- Haciendo trabajar siempre al micro midiendo temperatura y el resto de entradas y activar la interrupción de la puerta serie para cuando te pregunte el PC que puedas contestar inmediatamente. Es un método más optimizado, pero un poco más difícil de realizar.

Saludos,
Ricky