|
敬請(qǐng)共同愛好者欣賞瀏覽提意見
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png (67.69 KB, 下載次數(shù): 116)
下載附件
2017-5-15 20:06 上傳
0.png (65.35 KB, 下載次數(shù): 102)
下載附件
2017-5-15 20:07 上傳
0.png (60.93 KB, 下載次數(shù): 112)
下載附件
2017-5-15 20:06 上傳
IMG_20121217_130539_0.jpg (591.14 KB, 下載次數(shù): 116)
下載附件
2017-5-15 20:08 上傳
298.jpg (99.44 KB, 下載次數(shù): 107)
下載附件
2017-5-15 20:08 上傳
dianchi.PNG (344.06 KB, 下載次數(shù): 112)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_1818_0.jpg (935.09 KB, 下載次數(shù): 166)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130502_0.jpg (480.8 KB, 下載次數(shù): 127)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130605_0.jpg (457.93 KB, 下載次數(shù): 116)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130625_0.jpg (372.33 KB, 下載次數(shù): 126)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130704_0.jpg (561.95 KB, 下載次數(shù): 115)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130809_0.jpg (469.88 KB, 下載次數(shù): 107)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130841_0.jpg (504.9 KB, 下載次數(shù): 102)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_130937_0.jpg (597.53 KB, 下載次數(shù): 102)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_191603_0.jpg (456.71 KB, 下載次數(shù): 120)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_191705_0.jpg (720.89 KB, 下載次數(shù): 113)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_191717_0.jpg (673.14 KB, 下載次數(shù): 99)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_191818_0.jpg (736.69 KB, 下載次數(shù): 115)
下載附件
2017-5-15 20:08 上傳
IMG_20121217_191911_0.jpg (698.36 KB, 下載次數(shù): 99)
下載附件
2017-5-15 20:08 上傳
底盤.jpg (37.91 KB, 下載次數(shù): 98)
下載附件
2017-5-15 20:08 上傳
紅外碼值處理.PNG (21.2 KB, 下載次數(shù): 118)
下載附件
2017-5-15 20:08 上傳
開發(fā)板.jpg (115.83 KB, 下載次數(shù): 108)
下載附件
2017-5-15 20:08 上傳
驅(qū)動(dòng)器.PNG (271.35 KB, 下載次數(shù): 123)
下載附件
2017-5-15 20:08 上傳
主函數(shù).PNG (33.71 KB, 下載次數(shù): 113)
下載附件
2017-5-15 20:08 上傳
0.png (403.38 KB, 下載次數(shù): 119)
下載附件
2017-5-15 20:10 上傳
單片機(jī)源程序如下:
- /*小車用遙控器控制程序
- L298N的IN1234對(duì)應(yīng)單片機(jī)的P1.0123
- 直行P1=0xfa
- 左轉(zhuǎn)0xf9(小車兩輪胎正反轉(zhuǎn) 調(diào)向)或0xf8(往哪面轉(zhuǎn) 哪面的的輪胎不轉(zhuǎn))
- 右轉(zhuǎn)0xf6或0xf2
- 后退0xf5
- 停車oxff
- */
- #include<reg52.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義h
- sbit IR=P3^2; //紅外接口標(biāo)志 ,ir是紅外輻射 的意思
- #define DataPort P0 //定義數(shù)據(jù)端口 程序中遇到DataPort 則用P0 替換
- sbit dula=P2^6; //定義鎖存使能端口 段鎖存
- sbit wela=P2^7; // 位鎖存
- unsigned char code DuanMa[14]={0x3f,0x06,0x5b,0x4f,0x40,0x38,0x31};// 顯示段碼值0~9
- unsigned char irtime,gao_num,di_num,l,r,back,stop;//紅外、PWM用全局變量
- bit irpro_ok,irok; //標(biāo)志位,處理完成irpro_ok=1,接收完成irok=1
- unsigned char IRcord[4]; //紅外碼值有4個(gè)(客戶碼1+客2+操作碼+操作反碼),4*8=32位
- unsigned char irdata[33]; //32位紅外碼值+1位引導(dǎo)碼,也就是接受一次需要存儲(chǔ)的字節(jié)數(shù)
- void Ir_work(void); //紅外散轉(zhuǎn)函數(shù)聲明
- void Ircordpro(void); //紅外碼值處理函數(shù)聲明
- void delay(int i) //延時(shí)i ms
- {
- int j,k;
- for(j=i;j>0;j--)
- for(k=110;k>0;k--);
- }
- void tim0_isr (void) interrupt 1 using 1
- {
- irtime++; //用于計(jì)數(shù)2個(gè)下降沿之間的時(shí)間
- }
- /*------------------------------------------------
- 外部中斷0中斷處理
- ------------------------------------------------*/
- void EX0_ISR (void) interrupt 0 //外部中斷0服務(wù)函數(shù)
- {
- static unsigned char i; //接收紅外信號(hào)處理
- static bit startflag; //是否開始處理標(biāo)志位
- if(startflag)
- {
- if(irtime<63&&irtime>=33)//引導(dǎo)碼 TC9012的頭碼,9ms+4.5ms
- i=0;
- irdata[i]=irtime;//存儲(chǔ)每個(gè)電平的持續(xù)時(shí)間,用于以后判斷是0還是1
- irtime=0;
- i++;
- if(i==33)
- {
- irok=1;
- i=0;
- }
- }
- else
- {
- irtime=0;
- startflag=1;
- }
- }
- /*------------------------------------------------
- 定時(shí)器0初始化
- ------------------------------------------------*/
- void TIM0init(void)//定時(shí)器0初始化
- {
- TMOD=0x02;//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值
- TH0=0x00; //重載值
- TL0=0x00; //初始化值
- ET0=1; //開中斷
- TR0=1; //啟動(dòng)定時(shí)器0
- }
- /*------------------------------------------------
- 外部中斷0初始化
- ------------------------------------------------*/
- void EX0init(void)
- {
- IT0 = 1; //指定外部中斷0下降沿觸發(fā),INT0 (P3.2)
- EX0 = 1; //使能外部中斷
- EA = 1; //開總中斷
- }
- /*------------------------------------------------
- 解碼散轉(zhuǎn)處理
- ------------------------------------------------*/
- void Ir_work(void)//紅外散轉(zhuǎn)程序,解碼后用以選擇執(zhí)行指令
- {
- switch(IRcord[2])//判斷第三個(gè)數(shù)碼值
- {
- case 0x0c:DataPort=DuanMa[1];gao_num=1;di_num=1;break;//1 速度,并顯示相應(yīng)的按鍵值 0x3f,0x06,0x5b,0x4f,0x40,0x38,0x31
- case 0x18:DataPort=DuanMa[2];gao_num=2;di_num=1;break;//2
- case 0x5e:DataPort=DuanMa[3];gao_num=8;di_num=1;break;//3
- case 0x1C:DataPort=DuanMa[0];stop=1;break;//8 停車
-
- case 0x52:DataPort=DuanMa[4];back=1;break;//8 倒退
-
- case 0x08:DataPort=DuanMa[5];l=1;break;//轉(zhuǎn)彎控制 左轉(zhuǎn)
- case 0x5A:DataPort=DuanMa[6];r=1;break; //轉(zhuǎn)彎控制 右轉(zhuǎn)
- default:break;
- }
- irpro_ok=0;//處理完成標(biāo)志
- }
- void qudong()
- {
- unsigned char i;
- if(di_num!=0) //前行時(shí),PWM調(diào)速
- {
- for(i=0;i<di_num;i++)
- {
- P1=0xff;
- }
- for(i=0;i<gao_num;i++)
- {
- P1=0xfa;
- }
- }
- if(l==1) //左轉(zhuǎn) 動(dòng)作:左轉(zhuǎn)延時(shí)300ms后直行
- { l=0;
- P1=0xf8;
- delay(300);
- P1=0xfa;
- }
- if(r==1) //右轉(zhuǎn) 動(dòng)作:右轉(zhuǎn)延時(shí)300ms后直行
- { r=0;
- P1=0xf2;
- delay(300);
- P1=0xfa;
-
- }
- if(back==1) //后退 動(dòng)作:停車,然后一直后退
- {
- back=0;
- P1=0; //停車
- P1=0xf5; //后退
- }
- if(stop==1) //后退 動(dòng)作
- {
- stop=0;
- P1=0;
- }
- }
- /*------------------------------------------------
- 紅外碼值處理
- ------------------------------------------------*/
- void Ircordpro(void)//紅外碼值處理函數(shù)
- {
- unsigned char i, j, k;
- unsigned char cord,value;
- k=1;
- for(i=0;i<4;i++) //處理4個(gè)字節(jié)
- {
- for(j=1;j<=8;j++) //處理1個(gè)字節(jié)8位
- {
- cord=irdata[k];
- if(cord>7)//大于某值為1,這個(gè)和晶振有絕對(duì)關(guān)系,這里使用12M計(jì)算,此值可以有一定誤差
- value|=0x80;
- if(j<8)
- {
- value>>=1;
- }
- k++;
- }
- IRcord[i]=value;
- value=0;
- }
- irpro_ok=1;//處理完畢標(biāo)志位置1
- }
- /*------------------------------------------------
- 主函數(shù)
- ------------------------------------------------*/
- void main(void)
- {
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (71.11 KB, 下載次數(shù): 108)
下載附件
2017-5-15 20:05 上傳
所有資料51hei提供下載:
遙控車(程序 電路圖 實(shí)物圖).7z
(11.29 MB, 下載次數(shù): 76)
2024-4-9 04:03 上傳
點(diǎn)擊文件名下載附件
純干貨 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|