00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "asuro.h"
00026
00027 #define FULL_L 250
00028 #define FULL_R 220
00029
00030
00031 void MotorFwd(void)
00032 {
00033 MotorDir(FWD,FWD);
00034 MotorSpeed(FULL_L,FULL_R);
00035 }
00036
00037
00038 void MotorRwd(void)
00039 {
00040 MotorDir(RWD,RWD);
00041 MotorSpeed(FULL_L,FULL_R);
00042 }
00043
00044
00045 void MotorRwdL(void)
00046 {
00047 MotorDir(RWD,RWD);
00048 MotorSpeed(FULL_L,0);
00049 }
00050
00051
00052 void MotorRwdR(void)
00053 {
00054 MotorDir(RWD,RWD);
00055 MotorSpeed(0, FULL_R);
00056 }
00057
00058
00059 void MotorStop(void)
00060 {
00061 MotorSpeed(0,0);
00062 }
00063
00064 int main(void)
00065 {
00066 unsigned char t1, t2;
00067
00068 Init();
00069 while (1)
00070 {
00071 t1 = PollSwitch();
00072 t2 = PollSwitch();
00073 if (t1 == 0 && t2 == 0)
00074 {
00075 MotorFwd();
00076 FrontLED(ON);
00077 BackLED(OFF,OFF);
00078 }
00079 else if (t1 && t2 && t1 == t2)
00080 {
00081 MotorStop();
00082 if (t1 & 0x07)
00083 {
00084 MotorRwdL();
00085 FrontLED(OFF);
00086 BackLED(ON,OFF);
00087 }
00088 if (t1 & 0x38)
00089 {
00090 MotorRwdR();
00091 FrontLED(OFF);
00092 BackLED(OFF,ON);
00093 }
00094 Msleep(1000);
00095 }
00096 }
00097 return 0;
00098 }
00099