- /* 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;
- }
- }
- }