導航:首頁 > 操作系統 > 51單片機小車實習心得

51單片機小車實習心得

發布時間:2022-12-23 17:15:36

① 做基於單片機的平衡小車,選STM32對比選51的優勢

STM32是32位單片機,具有MMU,可以上操作系統。51隻是普通的8位單片機。

STM32單片機的特點:
內核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬體除法。
存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。
時鍾、復位和電源管理:2.0-3.6V的電源供電和I/O介面的驅動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶振。內嵌出廠前調校的8MHz RC振盪電路。內部40 kHz的RC振盪電路。用於CPU時鍾的PLL。帶校準用於RTC的32kHz的晶振。
低功耗:3種低功耗模式:休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT。
調試模式:串列調試(SWD)和JTAG介面。
DMA:12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和UART。
3個12位的us級的A/D轉換器(16通道):A/D測量范圍:0-3.6 V。雙采樣和保持能力。片上集成一個溫度感測器。
2通道12位D/A轉換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。
最多高達112個的快速I/O埠:根據型號的不同,有26,37,51,80,和112的I/O埠,所有的埠都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內的輸入。
最多多達11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數器。2個16位的6通道高級控制定時器:最多6個通道可用於PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數器。2個16位基本定時器用於驅動DAC。
最多多達13個通信介面:2個IIC介面(SMBus/PMBus)。5個USART介面(ISO7816介面,LIN,IrDA兼容,調試控制)。3個SPI介面(18 Mbit/s),兩個和IIS復用。CAN介面(2.0B)。USB 2.0全速介面。SDIO介面。
ECOPACK封裝:STM32F103xx系列微控制器採用ECOPACK封裝形式。

51單片機的特點:
8位CPU·4kbytes程序存儲器(ROM) (52為8K)
·128bytes的數據存儲器(RAM) (52有256bytes的RAM)
·32條I/O口線·111條指令,大部分為單位元組指令
·21個專用寄存器
·2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)
·一個全雙工串列通信口
·外部數據存儲器定址空間為64kB
·外部程序存儲器定址空間為64kB
·邏輯操作位定址功能·雙列直插40PinDIP封裝
·單一+5V電源供電
CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;
RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;
ROM:用以存放程序、一些原始數據和表格;
I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出
T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;
五個中斷源的中斷控制系統;
一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;
片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M-12M。

② 51單片機智能小車製作,求通俗易懂的講解

系統的單片機程序:

#include"reg52.h"

#definedet_Dist2.55//

單個脈沖對應的小車行走距離,其值為車輪周長

/4#defineRD9//

小車對角軸長度。

#definePI3.1415926

#defineANG_9090

#defineANG_90_T102

#defineANG_180189/

全局變數定義區。

/sbitP10=P1^0;//

控制繼電器的開閉sbitP11=P1^1;//

控制金屬接近開關。


(2)51單片機小車實習心得擴展閱讀:


控制器部分:接收感測器部分傳遞過來的信號,並根據事前寫入的決策系統(軟體程序),來決定機器人對外部信號的反應,將控制信號發給執行器部分。好比人的大腦。

執行器部分:驅動機器人做出各種行為,包括發出各種信號(點亮發光二極體、發出聲音)的部分,並且可以根據控制器部分的信號調整自己的狀態。

對機器人小車來說,最基本的就是輪子。這部分就好比人的四肢一樣。 感測器部分:機器人用來讀取各種外部信號的感測器,以及控制機器人行動的各種開關。好比人的眼睛、耳朵等感覺器官。




③ 用51單片機做的小車如何實現小車走迷宮

硬體電路我就不說了,主要說說演算法.
1. 先從一種比較簡單的迷宮說起,我稱之為"二叉樹"迷宮,即每個節點上最多連接三條支路,換句話 說,就是當你面對岔路時,你最多隻有三個選擇,要麼左轉,要麼右轉,要麼回頭.
假如,我們將左轉編碼為0,右轉編碼為1,則迷宮的從入口到出口的路徑為一串二進制編碼.對於最短路徑,我們可以讓機器人多走幾次迷宮,得到一系列二進制串,位數最少的即為"局部最短路徑".我們還可以通過這些二進制串,得到迷宮"局部拓撲結構",一種二叉樹結構.
注意,在上面的結果上我都加有"局部"兩字,這是因為機器人走迷宮的次數如果不夠多,或則說少於迷宮的總路徑數,我們得到結果都是不完整的,只有當機器人走迷宮的次數足夠大,以致於走遍了迷宮所有的路徑,這時我們才能得到完整的結果,然而這對於大多數迷宮來說都是不可實現的,也就是說,我們得到的結果都是局部的,最多是趨近於全局結果.
不知大家發現沒有,上面還有一種情況我沒有編碼,那就是回退.這個問題處理起來比較復雜,因此不能僅僅用一位二進制碼來表示,必須有專門的處理機制.
這個機制分為三個方面,
一是,每次只回退一步,即當前方無路可走時,回到上一個叉路口,選擇另一條支路,程序上就是將當前二進制串減少一位,並將改變後的二進制串的最後一位取反,代表選另一條支路.
二是, 回退一步後,仍無路可走時,再回退一部,重復上述過程,直至有岔路可選.
三是,整個回退過程中,記錄並保存每次回退的路徑,即左右轉向的二進制編碼,一個回退過即既是由開始回退到開始前進的整段過程.保留這些二進制串,是因為可以通過他們反推得出迷宮的一些局部的拓撲結構

2. 熟悉上面"二叉樹迷宮"後 ,對於一般迷宮通過如下方法設計
一、估計出迷宮最大的支路數,即一個叉路口最多有幾條岔路,這里假設為a
二 、用a為二進制碼對每一個岔路編碼,例如我們可以按順時針編碼
三、 將a為二進制編碼代替「二叉樹迷宮 」的一位二進制,其它步驟相仿即可。
當然,我們也可以用變長二進制碼表示一次路徑選擇,不過這時得記錄保存每次選則對應的二進制碼的長度。

補充:
上面的演算法,我說的都很籠統,但總體思路是明確的,即:以迷宮入口為根節點,每個叉路口為一個節點,每個岔路為一段樹枝,每個樹枝用一定位數的二進制碼編碼,以樹形結構表示迷宮的拓撲結構,於是迷宮的通路可以表示為從樹的根節點到某一葉節點的路徑。
硬體電路上,主要有兩個方面的設計:一是,前進河和回退兩個狀態的識別與轉換;二是,岔路的識別與選擇。

以上都是個人觀點,思考並不周全,還望大家指正補充。

④ 學習單片機會心得

首先,學習單片機要有一定的基礎:電子技術方面要有數字電路和模擬電路等方面的理論基礎,特別是數字電路;編程語言要求匯編語言或C語言。要想成為單片機高手,建議初學者首先學習匯編語言,學的差不多的時候,轉入C語言學習。盡管匯編語言屬於低級語言,編程效率低,但是較C語言具有目標代碼簡短,佔用內存少,執行速度快等優點,更重要的是能使初學者盡快熟悉單片機的內部結構,並能對其進行精確的控制。匯編語言在單片機教材裡面都會涉及,不需要單獨購買教材和學習。C語言是一門學問,有很多專業書籍來講解,並且對我們今後的編程生涯有絕對的好處,因此要深入學習,千萬不要自以為看了某某的視頻教程就以為掌握了C語言,那隻是C語言的一部分。在這里給大家推薦一本單片機C語言程序設計參考書,馬忠梅等著,北京航空航天大學出版社出版的《單片機的C語言應用程序設計》,要求C語言基礎。如果沒學過C語言,建議學習清華大學譚浩強編寫的C語言程序設計,這本書寫的不錯,通俗易懂。

其次,是單片機教材選擇。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?剛開始時,也許你看不明白,但這並不要緊,因為你還缺乏實踐經驗。現在單片機應用廣泛,因此各個廠家分別推出了自己的單片機,按內部結構體系派系分:51系列、PIC系列、AVR系列、摩托羅拉等等……我們沒必要每樣都學!因為他們的編程方法和調試過程以及內部指令結構有一定的相似,只要學精通一款就OK了!尤其是用C語言編程,就幾乎不用分什麼派系,但是我們要選擇一款有代表性的知識范圍廣,並且入門容易,書籍多。一般來說,MCS-51系列單片機已經得到廣泛的普及和應用,市場上它的資料也比較多,用的人也很多。

⑤ 學習51單片機怎樣才能熟練掌握使用編程

自學MCS-51單片機心得體會
無論是作為一名業余的電子愛好者還是一名電子行業的相關從業人員,掌握單片機技術無疑可以使您如虎添翼,為您的電子小製作或者開發設計電子產品時打開方便的大門! 而且現在學習單片機技術的熱潮正在不斷升溫,時下多家電子類的報刊雜志如:《電子製作》《無線電》《電子報》《電子世界》都開設了詳細的單片機學習專欄,對於想學習單片機的朋友來說幫助很大,可以說現在的單片機學習環境是最好的,經過一段時間的努力,採用單片機來開發設計電子產品已經不再是專業電子工程師的「專利」!作為一個普通的電子愛好者完全可以通過一番努力後熟練掌握!國外的電子愛好者採用單片機來設計小製作非常普及,一些智能機器人、智能自動裝置內部都離不開單片機的身影~~~
現今單片機學習環境真的是太好了,有網路,有書籍,有報刊雜志,還有視頻教程,元件的采購方面也非常充足,相關的器材又多有便宜,相比而言,本人當初的學習條件就只可以「寒磣」二字來形容了:
站長的單片機技術是通過看書、動手自學學會的。 又因為站長的專業不是電子專業,所以單片機對於我來說是完全陌生的——最初我對單片機的概念都不清楚,還弄了一年多時間的單板機(i8085)——直到後來在圖書城「蹲點」(當時上網還是件奢侈的事情,何況我也沒電腦),才總算明白什麼是單片機。 當時(7年前,我還上高中的時候),可以供選擇的單片機種類並不如現今這么多,因此通常說起單片機就是特指MCS-51,因此我也就學了它。不過,正是因為用它的人多,所以能夠獲得的資料也多,元件也比較好購,因此我的自學之路才得以順利走下去。 當時那個窮啊,不敢買新零件,只能在廢舊家電上拆,參數不匹配也將就著用,而且還多虧了商鋪老闆看我可憐而以6折的價給了我一片i8051和一片2864,要知道當時這兩個東東加起來有七十多塊啊,夠我三個月的零花錢了(都高中了,三個月才這么點零花錢!)。 元件基本上差不多了,沒有電腦寫程序怎麼辦呢,好在我買的那本書上提供了指令的機器碼,所以我就先用筆在紙上把匯編源程序寫出來,然後根據書上的指令表把源程序手工翻譯成機器碼,就是10001111這樣的代碼,寫在源程序旁邊。這就是我的「編輯環境」和「編譯器」! 程序也有了,可是怎樣把它弄到存儲器里去呢,買編程器是不現實的,一來沒有電腦,二來,當時一隻編程器上千元的價格也只能讓我嘖嘖搖頭。
那怎麼辦呢……想來想去,找來找去,最後我利用以前做小實驗的那幾塊麵包板,拼在一塊合適大小的木板上,然後把存儲器按照要求插好,用插線連好電源和地,用電阻做出高低電平,然後通上電,再根據地址和數據的狀態,用鑷子把那些連線一根一根插到高或低電平,核對之後再把WR引線接一下地,這樣就可以寫入一個位元組,寫下面的位元組的時候就重復以上這些步驟就行了。若是程序要改動一點,那個工作量就「非常龐大」了。
這就是我的「編程器」! 我寫的第一個MCS-51單片機程序——點亮一隻LED,以及後來的流水燈程序等,就是在這樣的條件下來完成的。 現在,一個最廉價的模擬器也才人民幣幾十元,一塊功能多些的單片機實驗板也才上百元,簡直就是學習者的天堂了。 網路也給愛好者提供了很多很好的資料,例如平凡的單片機網站。平凡的單片機網站上有非常詳細的51單片機基礎知識教程,寫得非常生動朴實,對初學者來說幫助極大,其它還有不少網站也提供這些內容,還有專供愛好者討論交流的論壇。 學習單片機技術有一定的難度,不花費一番努力是很難學會的,但是只要不斷努力就一定能成功,學習單片機永遠記住一句話:實踐是檢驗真理的唯一方法。多動手做,哪怕是從點亮一隻指示燈開始,也要動手去做,否則就會永遠停留在書本上。 從51系列開始學單片機是個不錯的選擇:
1.書多、資料多
2.掌握51技術的人多,碰到問題能請教的老師也就多了
3.51系列的實驗晶元AT89C51價格低廉而且很容易買到,AT89C51晶元而且可以反復擦寫1000次以上,對於初學者來說真是太合適了,就算以後考慮工業運用,也可以先學透51後再學其他類型的單片機,畢竟技術是相通的。
4.相關的器材很廉價,具有絕大多數功能的下載型模擬器才幾十元,最簡單的專用編程器也才幾十元,如果有能力自己做編程器就更便宜。 學習單片機的第一步是看書,單片機是一個知識密集的東東,不看書是絕對不行的,北航出版社(北京航空航天大學出版社)出版了大量單片機方面的好書,可以直接登錄他們的網站進行郵購。本人認為第一本書應該是8051單片機的基礎原理書。我看的第一本書是咬牙買的兵器工業出版社的《8051/8098單片機原理幾介面設計》,這本書不是別人向我推薦的,也不是教材,但它比較系統地介紹了51晶元的基礎知識,我正是通過這本書入門的,可以很系統地了解51單片機。對比我後來買的其它51方面的書籍,我還是推薦這本。雖然這些書籍一開始不一定能懂,不過確實很有用,很有嚼頭,可以先大致看一遍,不消化的可以以後在試驗實踐中反復研究。 學習單片機的第二步是購買工具,單片機晶元必須藉助編程器才能寫入程序,本人用的編程器是一種性能較好的TOP2003通用編程器,通用編程器的特點是專為開發單片機和燒寫各類存儲器而設計的通用機型,它的編程可靠性高,支持的器件品種很多,不過這些商品化的設備價格偏高,不太適合初學者,或者說有一定程度上的浪費。 本人向初學者推薦一類廉價的編程器,注意,我說的是「一類」,而不是一種特定型號的。
這種編程器一般具有以下特點:
1.沒有外殼,而是以裸露的線路板直接銷售
2.通常支持常用的單片機和一些其它的晶元,例如存儲器等
3.通常不是USB介面,一般採用串列或並行介面連接電腦
4.價格一般在一兩百元左右
本站暫時不打算做這樣的編程器,但若朋友們有需要,本人也可以考慮做一些提供給大家。
不過從長遠的方面考慮,購置一台通用編程器還是有必要的,需要了解的朋友可以搜索一下「單片機編程器」。 學習單片機的第三步是反復編程實踐,一個好的實驗平台非常重要,實驗平台的類型有許多,那些專業的產品動輒幾千元,不是普通愛好者能承受的,也完全沒有必要使用那樣的產品。象編程器一樣,有廉價實驗板作為替代,有的產品比那些專業器材更好,例如本站推出的MCS-51 Study Board V3.0和V5.0板,就是非常貼近實際使用的設計,如果給它們配上適當的軟體,是完全可以直接作為工業控制板而安裝在機械設備中使用的。 模擬器對單片機初學者來說既是那麼耳熟,同時又有些陌生,這主要是因為市場上傳統的模擬器價格都在千元以上,對經濟不是非常寬裕的人來說是不小的開支。同時模擬器是用來提高調試程序效率的,也不是非需不可的,所以站長在自學單片機的時候沒有用過模擬器,碰到程序出錯的時候,只好苦思冥想,或者在程序中插入一些驅動埠的指令,然後再接上一些發光二極體做簡單指示,一般調試一個程序,反復燒寫幾十次晶元是很經常的。 具備了必要的工具以後就可以開始學習單片機了,對單片機進行編程可以採用匯編語言或者C語言,匯編語言的特點是代碼緊湊,對初學者的電腦水平要求低、上手快,但是程序編寫工作量大,站長網站的程序範例就是採用匯編語言編寫的,這里說的C語言是專用於51單片機的C語言,它的特點是編寫效率高,但是對使用者的電腦水平要求高,最好是已經會C語言了,站長網站上也有單片機C語言教程,是磁動力工作室網站明浩站長編寫的,站長不會C語言,所以是從匯編語言開始學編程的。我認為初學單片機的人最好懂一些匯編語言,匯編語言可以直接控制單片機的資源,比如具體的單片機引腳、內存地址,掌握這些也是很有必要的,學會匯編語言可以打下比較好的基礎,很多參考書也是這么說的,如果你是專業單片機開發人員,那麼C語言效率高,更適合你。 自學匯編語言,首先要學會看懂別人的匯編語言程序,可以將匯編語言的指令翻譯成自己容易理解的功能描述性文字,詳細注釋在程序後面,這樣便於自己以後引用或者別人容易看懂。站長看到別人寫的一些匯編程序的注釋都非常少,這非常不利於初學者學習和互相交流,所以只要是站長寫的程序都做了非常詳細的注釋。 學習匯編語言可以參考相關的書,匯編語言有100多條指令,但是常用的指令也就二三十條,可以先記住常用的匯編指令,如果一時記不住可以列印在紙上慢慢熟悉,然後對別人的匯編程序再加以試驗驗證,最後還可以在自己理解的基礎上對匯編程序的相關參數修改再反復試驗。 最後告訴朋友們一個秘密:學習單片機沒有捷徑!

⑥ 我們做51單片機尋跡小車,走直線的時候小車會左右扭,拐彎的時候有時又拐不過(速度慢時可以 )求指教!

走直線的時候小車會左右扭,可能是因為你循跡路線的寬度與你循跡模塊中感測器的寬度不是很適宜,也有可能是你的程序沒處理好(如延時),拐彎的時候有時又拐不過(速度慢時可以 )說明你的程序有待修改,沒見你的實物與程序,具體情況還得具體分析,我說的僅供參考!

⑦ 大一想要自己做小車, 要學啥.。 比如 51單片機原理什麼的。。

首先是學習C語言,可以買基本C語言的數據(不是C/C++,而是C語言),然後是學習51單片機(最好就是到淘寶花個一兩百塊買一塊「單片機開發板」,還會附帶電路圖和程序以及教程,用STC的單片機更加簡單),然後在買一本有關51單片機的書籍,再看看我這兩篇文章:
http://blog.csdn.net/supermanking/article/details/5826294

http://blog.csdn.net/supermanking/article/details/5821603

初步認識一下單片機的軟體開發和硬體製作的理念。
然後再去了解如超聲波測距的器件(淘寶有賣),至於單片機控制車子驅動這種東西就不用多說了,通常是驅動電機,要不用步進電機也可以,看你喜歡了,想控制電機速度可以用PWM,這些東西你看完我介紹的資料就慢慢懂了。如果快的話半個月就能搞定,慢的話就不知道你要多久啦。

⑧ 學會51單片機能做什麼工作

例如,工業控制領域方面,儀器儀表方面,汽車行業,通訊方面,航海航空。

⑨ 51單片機小車速度控制

你好!
1、建議採用PWM控制小車速度以及啟停等
2、可以增加無線部分,傳輸PWM控制指令
3、電機驅動,可以採用L298模塊
4、具體小車實物和程序,都能完成

閱讀全文

與51單片機小車實習心得相關的資料

熱點內容
linuxoracle命令行登錄 瀏覽:224
android深度休眠 瀏覽:169
php微信開發例子 瀏覽:843
醫得app登錄密碼是什麼 瀏覽:140
spring開發伺服器地址 瀏覽:411
伺服器上如何查看伺服器的埠 瀏覽:678
單片機伺服器編譯 瀏覽:770
單口usb列印機伺服器是什麼 瀏覽:859
戰地五開伺服器要什麼條件 瀏覽:956
在word中壓縮圖片大小 瀏覽:255
javatomcat圖片 瀏覽:419
程序員生產智能創意 瀏覽:67
匯和銀行app怎麼登錄 瀏覽:383
騰訊伺服器如何上傳源碼 瀏覽:747
單片機的原理概述 瀏覽:512
火控pdf 瀏覽:269
如何復制雲伺服器centos環境 瀏覽:988
債權pdf 瀏覽:305
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:704