MATERIALES:
- MICROCONTROLADOR 18F2550
- MOTOR
- - LCD 16X2
- -
RESISTENCIAS
- -
PROTOBOARD
- -
POTENCIOMETRO
- CABLE RS 232
CODIGO (1) :
# include <18F2550.h> //DEFINIR PROCESADOR
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN //FUSIBLES
#use delay (clock=12000000)//12Mhz
#USE RS232 (baud=9600,bits=8,parity=N,xmit=PIN_C6,rcv=PIN_C7) //CONFIG RS232
#byte portb = 0x06 //DIRECCION DE ALMACENAMIENTO
INT VALORT; //VARIABLE 1
int VALORR; //VARIABLE 2
#int_RDA
void RDA_isr()
{
VALORR=GETC(); //ALMACENAR EN VARIABLE 2 EL GETC
}
void main() {
SET_TRIS_B(0X00); //SALIDAS PUERTOS B
SETUP_ADC_PORTS(AN0|VSS_VDD) ; //PUERTO A
setup_adc(ADC_CLOCK_INTERNAL); // RELOJ INTERNO
enable_interrupts(INT_RDA); // ACTIVAR INTERRUPCIONES
enable_interrupts(GLOBAL); // ACTIVAR INTERRUPCIONES
for (;;) {
set_adc_channel(0); //ACTIVAR CANAL CONVERSION
delay_us(20); //RETARDO
VALORT = read_adc(); //ALAMACENAR EN VARIABLE 1 VALOR
PUTC(VALORT);
output_b(VALORR); //MOSTRAR EN PUERTO B
}
}
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN //FUSIBLES
#use delay (clock=12000000)//12Mhz
#USE RS232 (baud=9600,bits=8,parity=N,xmit=PIN_C6,rcv=PIN_C7) //CONFIG RS232
#byte portb = 0x06 //DIRECCION DE ALMACENAMIENTO
INT VALORT; //VARIABLE 1
int VALORR; //VARIABLE 2
#int_RDA
void RDA_isr()
{
VALORR=GETC(); //ALMACENAR EN VARIABLE 2 EL GETC
}
void main() {
SET_TRIS_B(0X00); //SALIDAS PUERTOS B
SETUP_ADC_PORTS(AN0|VSS_VDD) ; //PUERTO A
setup_adc(ADC_CLOCK_INTERNAL); // RELOJ INTERNO
enable_interrupts(INT_RDA); // ACTIVAR INTERRUPCIONES
enable_interrupts(GLOBAL); // ACTIVAR INTERRUPCIONES
for (;;) {
set_adc_channel(0); //ACTIVAR CANAL CONVERSION
delay_us(20); //RETARDO
VALORT = read_adc(); //ALAMACENAR EN VARIABLE 1 VALOR
PUTC(VALORT);
output_b(VALORR); //MOSTRAR EN PUERTO B
}
}
HARDWARE1 :
CODIGO (2) :
#include <18F2550.h> //DEFINIR PROCESADOR
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN //FUSIBLES
#use delay (clock=12000000)//12Mhz
#include <flex_lcd.c> //LIBRERIA LCD
#USE RS232 (baud=9600,bits=8,parity=N,xmit=PIN_C6,rcv=PIN_C7) //CONFIG RS232
#byte portb = 0x06 //DIRECCION DE ALMACENAMIENTO
INT VALORTx; //VARIABLE 1
int VALORRx; //VARIABLE 2
#int_RDA
void RDA_isr()
{
VALORRx=GETC(); //ALMACENAR EN VARIABLE 2 EL GETC
}
void main() {
SET_TRIS_B(0X00); //SALIDAS PUERTOS B
SETUP_ADC_PORTS(AN0|VSS_VDD) ; //PUERTO A
setup_adc(ADC_CLOCK_INTERNAL); // RELOJ INTERNO
enable_interrupts(INT_RDA); // ACTIVAR INTERRUPCIONES
enable_interrupts(GLOBAL); // ACTIVAR INTERRUPCIONES
lcd_init(); // INICIALIZAR LCD
for (;;) {
set_adc_channel(0); //ACTIVAR CANAL CONVERSION
delay_us(20); //RETARDO
VALORTx = read_adc(); //ALAMACENAR EN VARIABLE 1 VALOR
PUTC(VALORTx);
lcd_gotoxy(1,2); // IR A POCISION LCD 2,2
printf(lcd_putc, "ADC=%u", VALORRx ); // MOSTRAR EN PANTALLA EL VALORRX
delay_ms(100); //RETARDO
}
}
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN //FUSIBLES
#use delay (clock=12000000)//12Mhz
#include <flex_lcd.c> //LIBRERIA LCD
#USE RS232 (baud=9600,bits=8,parity=N,xmit=PIN_C6,rcv=PIN_C7) //CONFIG RS232
#byte portb = 0x06 //DIRECCION DE ALMACENAMIENTO
INT VALORTx; //VARIABLE 1
int VALORRx; //VARIABLE 2
#int_RDA
void RDA_isr()
{
VALORRx=GETC(); //ALMACENAR EN VARIABLE 2 EL GETC
}
void main() {
SET_TRIS_B(0X00); //SALIDAS PUERTOS B
SETUP_ADC_PORTS(AN0|VSS_VDD) ; //PUERTO A
setup_adc(ADC_CLOCK_INTERNAL); // RELOJ INTERNO
enable_interrupts(INT_RDA); // ACTIVAR INTERRUPCIONES
enable_interrupts(GLOBAL); // ACTIVAR INTERRUPCIONES
lcd_init(); // INICIALIZAR LCD
for (;;) {
set_adc_channel(0); //ACTIVAR CANAL CONVERSION
delay_us(20); //RETARDO
VALORTx = read_adc(); //ALAMACENAR EN VARIABLE 1 VALOR
PUTC(VALORTx);
lcd_gotoxy(1,2); // IR A POCISION LCD 2,2
printf(lcd_putc, "ADC=%u", VALORRx ); // MOSTRAR EN PANTALLA EL VALORRX
delay_ms(100); //RETARDO
}
}
HARDWARE2 :
No hay comentarios:
Publicar un comentario