You are on page 1of 4

#define SENSOR PORTC.

RC0

#define MOTOR PORTD.RD4

#define CARGA PORTD.RD3

#define SENSOR1 PORTC.RC1

sbit LCD_RS at RB4_bit;

sbit LCD_EN at RB5_bit;

sbit LCD_D4 at RB0_bit;

sbit LCD_D5 at RB1_bit;

sbit LCD_D6 at RB2_bit;

sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;

sbit LCD_EN_Direction at TRISB5_bit;

sbit LCD_D4_Direction at TRISB0_bit;

sbit LCD_D5_Direction at TRISB1_bit;

sbit LCD_D6_Direction at TRISB2_bit;

sbit LCD_D7_Direction at TRISB3_bit;

void main() {

ANSELH=0;

ANSEL=0;

Lcd_Init();

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,7,"UNFV");

Delay_ms(1000);

TRISC=1; // SE PONE 1 PARA ENTRADA como para usar con sensor

TRISD=0; // SE PONE 0 PARA SALIDA para el motor


MOTOR=0;

while(1) // vamos a darle un ciclo infinito del programa

if(SENSOR == 1 && SENSOR1 == 0 ) {

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,1,"VELOCIDAD ALTA");

MOTOR=1 ;

CARGA = 0;

Delay_ms(5000);

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,7,"UNFV");

else {

MOTOR=0;

if (SENSOR == 1 && SENSOR1 == 1){

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,1," EMERGENCIA");

Delay_ms(100);

Lcd_Cmd(_LCD_CLEAR);

Lcd_Cmd(_LCD_CURSOR_OFF);

Lcd_Out(1,7,"UNFV");

CARGA =1;

MOTOR = 0;

}
else {

CARGA=0;