/* =========================================================================
* Project: GPIO_Setting
* File: main.c
* Description: Set GPIO of PORTB
* 1. PORTB I/O state
* – PB4 set input mode and enable pull-high resistor
* – PB2 set output mode
* – PB1 set input mode and enable pull-low resistor
* – PB0 set open-drain output mode
*
* Author: JasonLee
* Version: V1.1
* Date: 2018/09/07
=========================================================================*/
#include <ny8.h>
#include "ny8_constant.h"
#define UPDATE_REG(x) __asm__("MOVR _" #x ",F")
#define pump PORTBbits.PB2
#define LED PORTBbits.PB1
#define key PORTBbits.PB0
struct
{
unsigned delay1:1;
unsigned delay2:1;
unsigned delay3:1;
unsigned delay4:1;
unsigned delay5:1;
unsigned connection:1;
unsigned button:2;
}flag;
int delay_ms = 0;
int delay2_ms = 0;
int delay3_ms = 0;
int delay4_ms = 0;
int delay5_ms = 0;
char key_count = 0;
int objective = 0;
void isr(void) __interrupt(0)
if(INTFbits.T1IF)
}
if(flag.delay2)
}
if(flag.delay3)delay3_ms++;
delay4_ms++;
if(flag.delay5)
}
}
}
void delayms(int time)
flag.delay3 = 0;
delay3_ms = 0;
}
void checkbutton()
else
{
key_count = 0;
}
if(key_count == 10)
else if(flag.button == 1 | flag.button == 2)
{
flag.button = 0;
flag.delay2 = 0;
LED = 0;
pump = 0;
while(key == 0);
delayms(100);
SLEEP();
flag.button = 1;
flag.delay5 = 1;
flag.connection = 0;
delay5_ms = 0;
flag.delay1 = 0;
delay_ms = 0;
LED = 1;
pump = 1;
while(key == 0);
}
else if(flag.button == 0)
{
flag.button = 1;
flag.delay5 = 1;
flag.connection = 0;
delay5_ms = 0;
flag.delay1 = 0;
delay_ms = 0;
LED = 1;
pump = 1;
while(key == 0);
}
else;
}
}
}
void main(void)
// else if(flag.button == 2)
// {
// flag.delay2 = 1;
// objective = 20;
// flag.delay1 = 1;
// }
// else
// {
// flag.delay2 = 0;
// LED = 0;
// flag.delay1 = 0;
// pump = 0;
//// SLEEP();
// }
}
}









