|  |   | 
| (25 intermediate revisions by 2 users not shown) | 
| Line 1: | Line 1: | 
| − | <syntaxhighlight>
 | + | #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;	 }   
 | + |  | 
| − | }}
 | + |  | 
| − | </syntaxhighlight>
 | + |  |