1. #include<reg51.h>
  2. #define Motors P2
  3. #define Switches P1
  4. #define Forward 0x05
  5. #define Backward 0x0a
  6. #define Left 0x06
  7. #define Right 0x09
  8. #define stop 0x00void
  9. main()
  10. {
  11. unsigned char SwitchInput;
  12. Switches = 0x0f; //Configure Switches as Input
  13. Motors = 0X00; //Configure both Motors as Output.
  14. while(1)
  15. {
  16. SwitchInput = (0x0f & Switches)//read switch status and mask lower byte.
  17. switch(SwitchInput)
  18. { case 1: Motors = Forward; break; case 2: Motors = Backward; break; case 4: Motors = Left; break; case 8: Motors = Right; break; default: Motors =stop; }
  19. }}