TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: LordLafebre 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……..!






















-
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