#define uintunsigned int/*宏定義將unsigned int 定義為uint*/ #define ucharunsigned char/*宏定義 將unsigned char 定義為uchar*/ sbit led1 =P1^0; sbit led2 =P1^1;//兩路光電傳感器定義 sbit in1 =P1^2; sbit in2 =P1^3; sbit in3 =P1^4; sbit in4 =P1^5;//電機驅動模塊4個端口定義 voiddelay(uint z) /*1ms延時函數*/ { uint x,y; for(x = z;x > 0;x--) for(y = 114;y > 0;y--); } /*光電傳感器檢測到黑線為1*/ void main()/*主函數*/ { while(1)/*循環函數*/ { if(led1 == 0&led2 == 0)/*判斷兩個光電傳感器都沒檢測到黑線*/ { in1 = in3 = 1; in2 = in4 = 0; /*兩個輪子正轉*/ } if(led1 == 1&led2 == 0)/*判斷左側傳感器檢測到黑線右側沒有*/ { in2 = in3 = 1; in1 = in4 = 0; /*左輪反轉 右輪正轉*/ } if(led1 == 0&led2 == 1) …… } }
|