Altium Designer畫的小車走迷宮原理圖和PCB圖如下:(51hei附件中可下載工程文件)
51hei.png (54.4 KB, 下載次數: 57)
下載附件
2020-2-8 01:13 上傳
51hei.png (72.58 KB, 下載次數: 70)
下載附件
2020-2-8 01:12 上傳
51hei.png (7.97 KB, 下載次數: 68)
下載附件
2020-2-8 01:13 上傳
單片機源程序如下:
- #include <AT89X51.H> //包含51單片機相關的頭文件
- #include "mytest.h"
- void Delay(unsigned int DelayTime) //定義機器人調轉子時間子程序
- {
- while(DelayTime--); //機器人轉彎循環
- // SB1=!SB1; //蜂鳴器閃響
- return;
- }
- void ControlCar(unsigned char ConType) //定義電機控制子程序
- {
- switch(ConType){ //判斷用戶設定電機形式
- case FRONT: //前進 //判斷用戶是否選擇形式1
- M1B=0;
- M2B=0;
- M1A=1; //M1電機正轉
- M2A=1; //M2電機正轉
- break;
- case BACK: //后退 //判斷用戶是否選擇形式2
- M1A=0;
- M2A=0;
- M1B=1; //M1電機反轉
- M2B=1; //M2電機反轉
- break;
- case LEFT: //左轉 //判斷用戶是否選擇形式3
- M2B=0;
- M1A=0;
- M1B=1; //M1電機反轉
- M2A=1; //M2電機正轉
- break;
- case RIGHT: //右轉 //判斷用戶是否選擇形式4
- M2A=0;
- M1B=0;
- M1A=1; //M1電機正轉
- M2B=1; //M2電機反轉
- break;
- default: //停止 //判斷用戶是否選擇形式8
- M2A=0;
- M1B=0;
- M1A=0; //M1電機正轉
- M2B=0;
- break; //退出當前選擇
-
- }
- }
- void main() //主程序入口
- {
- bit FrontFlag,LeftFlag,RightFlag;
- P1=0XFF;
- while(1){ //程序主循環
- LeftLed=LeftIR;
- LeftFlag=LeftIR;
- RightLed=RightIR;
- RightFlag=RightIR;
- FrontLed1=FrontIR;
- FrontLed2=FrontIR;
- FrontFlag=FrontIR;
-
- if((FrontFlag == OFF) && (LeftFlag == OFF) && (RightFlag == OFF)){
- ControlCar(FRONT);
- }
- if((FrontFlag == ON) && (LeftFlag == ON) && (RightFlag == ON)){
- ControlCar(BACK);
- }
- if(FrontFlag == ON){
- if(LeftFlag == ON){
- ControlCar(BACK);
- Delay(100);
- ControlCar(RIGHT);
- Delay(50000);
- Delay(20000);
- }
- else{
- Delay(100);
- ControlCar(LEFT);
- Delay(500);
- }
- }
- else{
- if(LeftFlag == ON){
- ControlCar(RIGHT);
- }
- else if(RightFlag == ON){
- ControlCar(LEFT);
- }
- }
- }
- }
復制代碼
所有資料51hei提供下載:
小車走迷宮電路及代碼.zip
(2.19 MB, 下載次數: 51)
2020-2-7 22:06 上傳
點擊文件名下載附件
小車走迷宮電路及代碼 下載積分: 黑幣 -5
|