/* This program demonstrates, control of 2 DC Motors using L293D Driver.
Four switches connected to P1 Drive 2 motors connected to P2.
For more details visit the tutorial Page:http://exploreembedded.com/wiki/*/
#include<reg51.h>
#define Motors P2
#define Switches P1
#define Forward 0x05
#define Backward 0x0a
#define Left 0x06
#define Right 0x09
#define stop 0x00
void 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;
}
}
}