首先 做下廣告
本人從事 電子元件銷售
杭州時代電子市場1B085 QQ 42160142
歡迎各位加我 不管是討論技術 還是 咨詢 元件都可以加我!!!
QQ截圖20150707213158.jpg (1.46 MB, 下載次數: 150)
下載附件
2015-7-7 21:35 上傳
兩個H橋 驅動 2個電機
選 傳感器的時候的特別注
空車調試好 不代表帶負載就能用
最好給傳感器部分做穩壓
我用最懶的方法 就用膠布調整 發射管
感興趣的 朋友看下面的視頻
[media=x,500,375] %5Bmedia=x,500,375%5Dhttp://www.tudou.com/programs/view/G9h1rA-OFRQ/[/media][/media]
源碼
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit che=P1^0; // 前進信號口 sbit daoche=P1^1 ;// 倒車 信號 /* P1.0 前進 信號 高電平有效 P1.1 倒車 信號 高電平 有效 P 3.6 3.7 傳感器 輸入 接口 低電平有效 P 0.0 0.1 方向輸出 高電平 有效 */ int aa; void delay(uint c) { uint a,b; for (a=c;a>0;a--) for(b=110;b>0;b--); } void qj() { daoche=0;che=1; delay(100);che=0;delay(400);} // 前進時 關閉 倒車信號 void ht() { che=0;daoche=1;delay(100);daoche=0;delay(400);} // 倒車時 關閉 前進 信號 void stop() { P1=0xff;} void fxscan() { if(aa==0x7f) // 0111 1111 { P0=0xfe; // 1111 1110 轉反方向彎信號 ht(); ht(); P0=0xfd; // 1111 1101 正方向 前進 qj(); P0=0xfc; } // 關閉轉彎 if(aa==0xbf) // 1011 1111 { P0=0xfd; ht(); ht(); P0=0xfe;// 轉向 qj(); P0=0xfc; } if(aa==0x3f) // 檢測橫線 停車 { P1=0xff; while(1) ; // 充電寶 自動會重啟 不是程序跑飛 } } void main() { aa=0xff; // 初始化 檢測 端口 P3=aa; while(1) { aa=P3; fxscan(); qj(); } }
|