|  |   | 
| (23 intermediate revisions by 2 users not shown) | 
| Line 1: | Line 1: | 
| − |   | + | #REDIRECT [[Main Page]] | 
| − | #include<reg51.h>   | + |  | 
| − | #define Motors P2
 | + |  | 
| − | #define Switches P1
 | + |  | 
| − | #define Forward 0x05
 | + |  | 
| − | #define Backward 0x0a
 | + |  | 
| − | #define Left 0x06
 | + |  | 
| − | #define Right 0x09
 | + |  | 
| − | #define stop 0x00void
 | + |  | 
| − | main()
 | + |  | 
| − | {  
 | + |  | 
| − | unsigned char SwitchInput;   
 | + |  | 
| − | Switches = 0x0f; //Configure Switches  as Input    
 | + |  | 
| − | Motors = 0X00;  //Configure both Motors as Output.  
 | + |  | 
| − | while(1)   
 | + |  | 
| − |  {	  
 | + |  | 
| − |  SwitchInput = (0x0f & Switches)//read switch status and mask lower byte.     
 | + |  | 
| − |  switch(SwitchInput)	
 | + |  | 
| − | 	{	  
 | + |  | 
| − |         case 1: Motors = Forward; break;	 
 | + |  | 
| − |         case 2: Motors = Backward; break;	  
 | + |  | 
| − |         case 4: Motors = Left; break;	  
 | + |  | 
| − |         case 8: Motors = Right; break;	  
 | + |  | 
| − |         default: Motors =stop;	 
 | + |  | 
| − |         }   
 | + |  | 
| − |  }
 | + |  | 
| − | }
 | + |  |