TODOPIC
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
. ¿Perdiste tu
email de activación
?
1 Hora
1 Día
1 Semana
1 Mes
Siempre
Ingresar con nombre de usuario, contraseña y duración de la sesión
Este tema
Este sub-foro
Todo el foro
Google
Inicio
Ayuda
Buscar
Ingresar
Registrarse
TODOPIC
»
Microcontroladores PIC
»
Lenguaje C para microcontroladores PIC
(Moderadores:
pikman
,
pocher
,
vszener
,
Suky
) »
Combinar Programas
« anterior
próximo »
Imprimir
Páginas: [
1
]
Ir Abajo
Autor
Tema: Combinar Programas (Leído 1221 veces)
0 Usuarios y 1 Visitante están viendo este tema.
darck_khronos
PIC18
Mensajes: 493
Combinar Programas
«
en:
29 de Mayo de 2009, 17:01:59 »
Disculpen estoy trabajando con mi red en 485 mas que pense en poder combinar mis programas mas que no se si este bien miren
Programa combinado
Código: C
#include <18F4550.h>
#device adc=8
#include <math.h>
#FUSES NOWDT
#fuses NOMCLR,INTRC_IO,NOWDT,NOPROTECT,NOLVP
#use delay(clock=8000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
#use standard_io(c)
#include <LCD.C>
void
main
(
)
{
int
q
;
float
p
,
T
;
char
recepcion
;
char
lectura
;
byte pwm
;
setup_adc_ports
(
AN0
||
VSS_VDD
)
;
//Canal 0 analógico
setup_adc
(
ADC_CLOCK_INTERNAL
)
;
//Fuente de reloj RC
set_tris_a
(
0x00
)
;
setup_ccp2
(
CCP_PWM
)
;
setup_timer_2
(
T2_DIV_BY_4
,
99
,
1
)
;
lcd_init
(
)
;
do
{
set_adc_channel
(
0
)
;
//Habilitación canal0
delay_us
(
20
)
;
q
=
read_adc
(
)
;
//Lectura canal0
p
=
5.0
*
q
/
256.0
;
//Conversión a tensión
T
=
p
/
0.01
;
printf
(
lcd_putc
,
"
\f
Temp = %01.2f C"
,
T
)
;
printf
(
lcd_putc
,
"
\n
Voltage = %01.2f V"
,
p
)
;
delay_ms
(
45
)
;
recepcion
=
getchar
(
)
;
if
(
recepcion
==
'R'
)
{
printf
(
"%C"
,
q
)
;
delay_ms
(
45
)
;
}
output_high
(
pin_c0
)
;
output_low
(
pin_c1
)
;
lectura
=
getchar
(
)
;
if
(
lectura
==
'S'
)
{
pwm
=
getc
(
)
;
set_pwm2_duty
(
pwm
)
;
}
if
(
lectura
==
'R'
)
{
output_low
(
pin_c0
)
;
output_high
(
pin_c1
)
;
delay_ms
(
60
)
;
}
}
while
(
1
)
;
}
Y aqui estan sin combinar
Código: C
//PROGRAMA QUE CONTROLA EL PWM DEL VENTILADOR.
#include <18F4550.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use standard_io(a)
void
main
(
)
{
char
lectura
;
byte pwm
;
set_tris_a
(
0x00
)
;
setup_ccp2
(
CCP_PWM
)
;
setup_timer_2
(
T2_DIV_BY_4
,
99
,
1
)
;
do
{
output_high
(
pin_a0
)
;
output_low
(
pin_a1
)
;
lectura
=
getchar
(
)
;
if
(
lectura
==
'S'
)
{
pwm
=
getc
(
)
;
set_pwm2_duty
(
pwm
)
;
}
if
(
lectura
==
'R'
)
{
output_low
(
pin_a0
)
;
output_high
(
pin_a1
)
;
delay_ms
(
60
)
;
}
}
while
(
1
)
;
}
Código: C
//PROGRAMA PARA OBTENER LA CONVERSION DE TEMPERATURA DEL SENSOR.
#include <18F4550.h>
#device adc=8
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#define use_portb_lcd TRUE
#include <LCD.C>
void
main
(
)
{
int
q
;
float
p
,
T
;
char
recepcion
;
setup_adc_ports
(
AN0
||
VSS_VDD
)
;
//Canal 0 analógico
setup_adc
(
ADC_CLOCK_INTERNAL
)
;
//Fuente de reloj RC
lcd_init
(
)
;
do
{
set_adc_channel
(
0
)
;
//Habilitación canal0
delay_us
(
20
)
;
q
=
read_adc
(
)
;
//Lectura canal0
p
=
5.0
*
q
/
256.0
;
//Conversión a tensión
T
=
p
/
0.01
;
printf
(
lcd_putc
,
"
\f
Temp = %01.2f C"
,
T
)
;
printf
(
lcd_putc
,
"
\n
Voltage = %01.2f V"
,
p
)
;
delay_ms
(
45
)
;
recepcion
=
getchar
(
)
;
if
(
recepcion
==
'R'
)
{
printf
(
"%C"
,
q
)
;
delay_ms
(
45
)
;
}
}
while
(
1
)
;
}
En línea
Suky
Moderador Local
DsPIC33
Mensajes: 6758
Re: Combinar Programas
«
Respuesta #1 en:
29 de Mayo de 2009, 17:15:38 »
Parece estar bien a simple vista, tuviste algún problema?
En línea
No contesto mensajes privados, las consultas en el foro
Imprimir
Páginas: [
1
]
Ir Arriba
« anterior
próximo »
TODOPIC
»
Microcontroladores PIC
»
Lenguaje C para microcontroladores PIC
(Moderadores:
pikman
,
pocher
,
vszener
,
Suky
) »
Combinar Programas