I am currently making a very simple vending machine project which uses the 8051 microcontoller. the pins im using is
sbit C=P3^3; ////// "C" is for coffee/////// sbit T=P3^4; ////// "T" is for tea/////// sbit H=P3^5; ////// "H" is for hot/////// sbit D=P3^6; ////// "D" is for cold/////// sbit S=P3^7; ////// "S" is for purchasing/////
i have done the coding for lcd initialization and selection.. the problem now is that i need the program to run in sequence for example
sequence one: customer should be able to choose only "C" or "T".. (during this sequence all the other pins should be disabled)
sequence two: customer should be able to choose only "H" or "D"..
sequence three: once the above sequence is completed only then customer can press the push button..
The question is how can i disable the other pins at respective sequences.. my code for the selection part is below..
void main () { TMOD=0x02; TH0=0xA4; IE=0x00; L1= L2= 0; a = 0; lcd_ini(); delay(20); lcd_command(0x01); lcd_string("Select Drink"); delay(200); lcd_command(0x01); lcd_string("1.Coffee 2.Tea"); delay(20); flagset=0; TR1 = 0; while (1) { if (C==0) { delay(30); lcd_command(0x01); lcd_string("Coffee: Hot/Cold"); } if (T==0) { delay(30); lcd_command(0x01); lcd_string("Tea: Hot/Cold"); } if (H==0) { delay(30); lcd_command(0x01); lcd_string("Hot Selected"); } if (D==0) { delay(30); lcd_command(0x01); lcd_string("Cold Selected"); } if (M1==0) { delay(30); b++; switch(b) {case 1: lcd_command(0x01); lcd_string("RM 1.00 Inserted"); delay(20); break; case 2: lcd_command(0x01); lcd_string("RM 2.00 Inserted"); delay(20); break; case 3: lcd_command(0x01); lcd_string("Insert Money"); if (b==3) {b=0;}} } if (S==0) { lcd_command(0x01); lcd_command(0x80); lcd_string("Processing"); delay(100); lcd_command(0x01); lcd_command(0x80); lcd_string("Please wait"); L1 = 1; delay(100); L1 = 0; ///////L1 and L2 is for lights/////// L2 = 1; lcd_command(0x01); lcd_command(0x80); lcd_string("Remove drink"); delay(100); L2 = 0; lcd_command(0x01); lcd_command(0x85); lcd_string("Thankyou"); delay (500); } } }
thank you in advance