Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
resultado=resultado/numero_sensores_a_manejar;
for(sensores=0;sensores<=numero_sensores a manajer;sensores++){
set_adc_channel(sensores);
delay_us(50);
channels(sensores)=read_adc();
}
for(sensores=0;sensores<=numero_sensores a manajer;sensores++){
resultado+=channels(sensores);
}
resultado=resultado/numero_sensores_a_manejar;
#include <16F628A.h>
#device adc=10
#use delay(clock=4000000)
#fuses XT,NOWDT,NOMCLR,NOPROTECT
/*PUERTOS*/
#byte PORTA = 0x05
#byte TRISA = 0x85
#byte PORTB = 0x06
#byte TRISB = 0x86
/*VARIABLES*/
INT16 adc; //VALOR DEL ADC (BINARIO)
FLOAT tension = 0.000; //TENSION DEL ADC (VOLTS)
VOID main(VOID){
TRISB = 0;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
delay_us(20);
WHILE(1){
adc = read_adc(); //LECTURA CANAL AN1
tension = 5.000 * adc / 1024.000; //CONVERSION A VOLTAJE
IF((tension<2.5)&&(tension>1.00)){
output_high(PIN_A2);
}
ELSE{
output_low(PIN_A2);
}
delay_us(20);
}
}
Código://------------------------------------ //TITULO: SENSOR DE TEMPERATURA Y ENVIADO A LA PC //AUTOR: JORGE ARTURO RODRIGUEZ HERNANDEZ //FECHA: 12\JUNIO\'09 //------------------------------------ #include <12f675.h> #fuses XT,NOWDT,NOCPD,NOPROTECT,MCLR,NOPUT #use delay(clock=4000000) #use rs232(baud=2400,xmit=PIN_A2,rcv=PIN_A1) void config(void){ set_tris_a(0x3b); setup_comparator(NC_NC_NC_NC); setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(sAN0); } void main(void){ int x,y; config(); do{ x=read_adc(); delay_ms(500); y=2*x; printf("LA TEMP= %u",y); printf("°C\r\n"); }while(TRUE); }
#include <16F877A.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
void config(){
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
}
void main(){
int x,y;
config();
do{
x=read_adc();
delay_ms(500);
y=2*x;
printf("LA TEMP= %u",y);
printf("°C\r\n");
}while(TRUE);
}
// Ancho pulso medio 1.5 ms -> 90 ticks de TMR0
// Ancho pulso maximo 2.5 ms -> 155 ticks de TMR0
#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
#define PIN_SERVO1 PIN_B0
#priority int_RTCC,rda
const int AJUSTE_FINO_DE_RTCC = 30;
const int ticks_PULSO_MINIMO = 75;
const int ticks_PULSO_MEDIO = 96;
const int ticks_PULSO_MAXIMO = 119;
int1 flagRTCC = 0;
int contRTCC = 0;
int1 flagSERVO1 = 0;
int tSERVO1 = ticks_PULSO_MEDIO;
#int_RTCC
void RTCC_isr(){
++contRTCC;
if(contRTCC==4){
set_TIMER0(AJUSTE_FINO_DE_RTCC);
}
if(contRTCC==5){
flagRTCC=1;
contRTCC=0x00;
}
}
void main() {
int ValTIMER0;
setup_counters(RTCC_INTERNAL,RTCC_DIV_16);
enable_interrupts(int_rda);
enable_interrupts(global);
set_TIMER0(0);
enable_interrupts(INT_RTCC);
do {
// DISPARO DEL PULSO PWM
if(flagRTCC==1){
flagRTCC=0;
output_high(PIN_SERVO1);
flagSERVO1=1;
}
// CONTROL DE ANCHO DEL PULSO PWM
if(flagSERVO1==1){
valTIMER0 = get_TIMER0();
if(valTIMER0>tSERVO1){
flagSERVO1=0;
output_low(PIN_SERVO1);
}
}
// CONTROL DEL SERVOMOTOR MEDIANTE PUSH
if(input(pin_b1)==0 && input(pin_b4)==1 && input(pin_b5)==1){
//delay_ms(200);
tSERVO1=ticks_PULSO_MINIMO;}
else if (input(pin_b2)==0 && input(pin_b4)==1 && input(pin_b5)==1){
//delay_ms(200);
tSERVO1=ticks_PULSO_MAXIMO;}
else if (input(pin_b3)==0 && input(pin_b4)==1 && input(pin_b5)==1){
//delay_ms(200);
tSERVO1=ticks_PULSO_MEDIO;}
// CONTROL DEL MOTOR A PASOS MEDIANTE PUSH
if (input(pin_b4)==0){
delay_ms(300);
output_low(pin_b6);
delay_ms(100);
output_low(pin_b7);
delay_ms(100);
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);
delay_ms(100);
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);
delay_ms(100);
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);}
else if (input(pin_b5)==0){
delay_ms(300);
output_high(pin_b6);
delay_ms(100);
output_low(pin_b7);
delay_ms(100);
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);
delay_ms(100);
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);
delay_ms(100);
output_high(pin_b7);
delay_ms(100);
output_low(pin_b7);}
} while (TRUE);
}