#include <16f877a.h>
#fuses HS
#fuses NOWDT
#fuses NOPROTECT
#fuses NOBROWNOUT
#fuses NOLVP
#fuses NOPUT
#fuses NOWRT
#fuses NODEBUG
#fuses NOCPD
#use delay (clock=4000000)
#use fast_io(a)
#use fast_io(b)
#define use_portb_lcd TRUE
#include <lcd.c>
int8 c;
int8 b;
BYTE mainStatus,menuStatus,priceOK;
//void price_menu (void);
void price_menu()
{
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("***PRICE MENU***");
lcd_gotoxy(1,2);
lcd_putc("|OK| |CANCEL|");;
b=1;
//Düğmede oluşabilecek arkları engellemek için geçikme
delay_ms(300);
while(1)
{
//Eğer OK'e basıldı ise fiyat işlemini onayla
if(input(pin_c2))
{
priceOK=1;
break;
}
//Eğer CANCEL'a basıldı ise fiyat işlemini iptal et
if(input(pin_c3))
{
priceOK=0;
break;
}
}
}
void main()
{
char X=10;
mainStatus=0;
menuStatus=0;
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_ccp2(CCP_OFF);
set_tris_a(0x01);
set_tris_c(0xff);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(RA0_RA1_RA3_ANALOG);
lcd_init();
set_adc_channel(0);
delay_us(20);
while(1)
{
//Eğer her hangi bir düğmeye basılmadı ise ana ekranı göster
if(mainStatus==0)
{
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("****************");
lcd_gotoxy(1,2);
lcd_putc("|MENU|");
}
//Sonsuz döngüde LCD'ye aynı mesajı tekrar yazdırmamak için 1 yap
mainStatus=1;
//MENU düğmesine basıldıysa, MENU'ye gir
if(input(pin_c0))
{
while(1)
{
//Eğer her hangi bir düğmeye basılmadı ise menu ekranını göster
if(menuStatus==0)
{
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("******MENU******");
lcd_gotoxy(1,2);
lcd_putc("|OK| |CANCEL|");
}
//Sonsuz döngüde LCD'ye aynı mesajı tekrar yazdırmamak için 1 yap
menuStatus=1;
//OK düğmesine basıldı ise fiyat menüsüne git
if(input(pin_c2))
{
priceOK=0;
price_menu();
if(priceOK=1)
{
//Eğer fiyat onaylandıysa burayı çalıştır
}
else
{
//Eğer fiyat iptal edildiyse burayı çalıştır
}
menuStatus=0;
}
//Düğmede oluşabilecek arkları engellemek için geçikme
delay_ms(200);
//CANCEL düğmesine basıldı ise ana ekrana git
if(input(pin_c3))
{
menuStatus=0;
mainStatus=0;
break;
}
}
}
}
}