❶ 51單片機智能小車製作,求通俗易懂的講解
系統的單片機程序:
#include"reg52.h"
#definedet_Dist2.55//
單個脈沖對應的小車行走距離,其值為車輪周長
/4#defineRD9//
小車對角軸長度。
#definePI3.1415926
#defineANG_9090
#defineANG_90_T102
#defineANG_180189/
全局變數定義區。
/sbitP10=P1^0;//
控制繼電器的開閉sbitP11=P1^1;//
控制金屬接近開關。
(1)單片機智能小車編程擴展閱讀:
控制器部分:接收感測器部分傳遞過來的信號,並根據事前寫入的決策系統(軟體程序),來決定機器人對外部信號的反應,將控制信號發給執行器部分。好比人的大腦。
執行器部分:驅動機器人做出各種行為,包括發出各種信號(點亮發光二極體、發出聲音)的部分,並且可以根據控制器部分的信號調整自己的狀態。
對機器人小車來說,最基本的就是輪子。這部分就好比人的四肢一樣。 感測器部分:機器人用來讀取各種外部信號的感測器,以及控制機器人行動的各種開關。好比人的眼睛、耳朵等感覺器官。
❷ 基於51單片機的智能循跡小車如何實現小車的速度不會隨電池的電量而變化.(程序)
1、電池電壓高的話可以用穩壓的辦法,如將12V電池穩壓至9V用,當降到9V就要換電池或充電,保證電機驅動供電電壓9V不變
2、或者就是速度閉環了,取一個低速作為目標值,保證低壓時也能達到該速度
❸ 我用51單片機做個智能小車四驅的!想要實現差速轉向,怎麼做!要pwm控制!需要幾個定時器!一個可以
電子差速從幾年前就有人投入了研究,分主動差速和被動差速。被動差速是控制兩個電機嚴格的按照等轉矩或等功率運轉,主動差速是根據要求控制兩個電機按一定的差速比閉環調速運轉。
51系列單片機指令周期太長,不適合做電機驅動,無法實現電子差速的要求,建議使用性能更好單片機來完成,比如dsPIC,STM32,AVR系列等。
❹ 51單片機智能兩路循跡小車程序,檢測到黑線直走,檢測不到黑線就左轉或右轉都可以,需要程序代碼麻煩了
別想那麼復雜。
首先,你把檢測黑線的感測器就當一普通開關。因為,當照射在黑線上時,光線反射能力弱,輸出低電平。照在黑線外,則輸出高電平。只有高低兩種電平,所以,你只需要把它當一個普通開關看待。
然後,既然是普通開關,寫代碼時只需要位聲明以及設置gpio為雙向或強拉模式,51單片機都不用設置gpio。
最後,程序里,檢測到高電平然後io口電平取反就行。
❺ 大神,請問51單片機控制的智能小車識別鐵片後進入外部中斷,停車2秒,然後繼續前進。程序該怎麼寫
你在中斷裡面把flag=1;進入主函數後flag一直保持1,而你中斷的判斷條件是if(flag==0&&P32==0),它就進不了中斷了。你要想這么寫的話可以改成這樣看看:
void INT_0() interrupt 0
{
flag==0;
if(flag==0)
{
P2=0x00; //小車停車
delayms(2000); //延時兩秒
flag=1;
}
}
或者乾脆把if判斷去了得了,(僅代表自己看法,我也不怎麼懂啊)。自己多調試調試,肯定能做好的。
❻ 51單片機如何使用
使用51單片機需要達到以下基本條件:
1、至少要搭建一個最小系統;
2、你需要編制一個51的控製程序;
3、你需要將程序編譯連接成HEX或BIN格式的代碼並下載或燒錄到51單片機。
這樣你就可以使用這款51單片機了。
❼ 基於51單片機,用霍爾感測器測算智能小車行走的距離!誰有匯編程序,貼上來我學習學習。
ORG 0000H
SJMP MAIN
MAIN:
MOV TMOD,#05H
MOV TH0,#0
MOV TL0,#0
SETB EA
MOV P0,#0FFH
SETB TR0
ST:
MOV A,TL0
MOV 30H,A
LCALL BTOD
LCALL DISP
SJMP ST
BTOD:
MOV A,30H
MOV B,#100
DIV AB
MOV 20H,A
MOV A,B
MOV B,#10
DIV AB
MOV 21H,A
MOV 22H,B
RET
DISP:
MOV DPTR,#SEG7
MOV A,21H
MOVC A,@A+DPTR
MOV P0,A
CLR P3.0
LCALL DELAY
SETB P3.0
MOV A,22H
MOVC A,@A+DPTR
MOV P0,A
CLR P3.1
LCALL DELAY
SETB P3.1
RET
DELAY:MOV R7,#20
D00:MOV R6,#100
D11:DJNZ R6,D11
DJNZ R7,D00
RET
SEG7: DB 0C0H,0F9H,0A4H,0B0H
DB 99H,92H,82H,0F8H
DB 80H,90H,88H,83H
DB 0C6H,0A1H,86H,8EH
END
用單片機的p3.4口 數碼管顯示p0口 共陽極數碼管動態顯示p3.0和p3.1接com端,我這個程序你得修改一下 根據你的輪子的大小 計算每圈走的距離就可以算出小車行走的距離 祝你成功!
❽ 做智能小車,該用什麼單片機開發板
做智能小車就是自動控制自動化專業范圍的,這個專業的最基本的專業課不是C語言也不是匯編語言。而是《電子技術》(模擬電子技術和數字電子技術都要學),就是如何分析和設計電路的專業課。如果你連模擬電子都不懂,我給你個驅動小車電機的H橋電路圖你也看不懂也不會用。而且做小車基本是做電機控制(直流電機伺服電機或者步進電機)這都是《電機與拖動》或者《電機學》里學到的。不要以為電機就是像小孩子玩的車模哪么簡單。如果要測量並控制它的轉速和方向,學問大了去了。
而且,看你的說明,你似乎對編程語言還不是太了解。C語言是基本上統一的,有標準的。而匯編則不是。匯編語言說白了就是微處理器(計算機用的CPU的學名)和微控制器(單片機、ARM、DSP等晶元的學名)晶元的指令集。而各個不同廠家的晶元有不同的內部結構,也就有不同的匯編語言。
比如說現在計算機用的匯編基本是x86架構的,學的最基礎的就是8086晶元的匯編語言,其中它的數據傳送指令有三個MOV、MOVSX、MOVZX。而8051架構的單片機,則有MOV、MOVX、MOVC三種。同樣是單片機,但PIC架構的單片機的數據傳送指令則是MOVWF、MOVF、MOVLW。看似一樣,其實他們的區別是根據晶元內部結構決定的。
所以說,不要著急,一步一步來,先了解了微機原理,然後再學單片機原理。用什麼開發板不重要,重要的你用什麼單片機你學什麼單片機,什麼樣的單片機就有什麼樣的開發板。 你現在讀大二,要學什麼單片機要看你們學校開什麼單片機的課程,中國的大學基本上是學51系列架構的單片機。我上學的時候也是用51單片機做智能避障小車。而我沒買過任何開發板,自己買的電容電阻萬用板,自己焊的。這樣做雖然彎路多點,但能從中學到很多東西。有的同學四年自動化專業畢業,焊電路板都不會……
❾ 我有單片機最小系統,兩個步進電機,步進電機驅動怎麼製作智能小車,特別想自己做一個,請高手指點,,
參照說明連接起來就行了啊,不過步進電機如果是減速步進電機的話,做小車的動力源估計會很火大,要麼用變速箱提速要麼就乾脆換成直流電機驅動
❿ 單片機遙控小車怎麼做
首先確定要實現的功能,然後選擇硬體,如小車是四驅還是雙驅,要不要舵機
遙控發射/接收模塊的選擇,單片機型號選擇,然後編程,並進行實驗
當然要分步實施 ,先會驅動舵機 ,會使用電機驅動模塊L298N,會無線模塊的收發
最後組合一塊才行
我選的小車是2 個驅動電機帶舵機 電機驅動模塊是L298N,無線模塊是NRF24L01,單片機STC12C5A32S2,小車上用的是51最小系統板,遙控發射用的是TX-1C51單 片機開發板,小車電源用的是充電寶,NRF24L01供電是靠5V經二個二極體降壓得到,模塊與單片機介面直接連,基本成功
不過小車體積還是太小了,雖然長度達260mm,但前面是舵機要轉 向,放不下東西 ,充電寶放不上去,實驗時充電寶拖地運行,或專門手拿充寶隨著小車跑,另外舵機回零時有抖動現象
5V供電行走速度較慢,如果換成電壓高的電源供電,還需給單片機和舵機降壓,麻煩
舵機轉向瞬間電流較大, 但控制脈沖可以由單片機直接輸出不需放大