A. 求一篇單片機實訓總結......
這里有抄,但襲是無法復制,你自己看看吧
http://blog.sina.com.cn/s/reader_4b14a217010008ur.html
B. 學期末了老師讓寫一篇單片機學習心得,哪位大神可以幫幫我
單片機是一門應用性和綜合性很強的學科,它綜合了電子技術中的模擬電路和數字電路方面的知識,特別是數字電路,因為數字電路在裡面的應用很多。學習單片機最好先從匯編語言入手,雖然匯編語言是低級語言,編程效率低,但它比C語言佔用內存小,執行速度快等優點,在剛接觸單片機時更容易學習。由於單片機涉及的知識很多,所以我們只能循序漸進的學習,
逐步的積累,沒有什麼捷徑可循。剛開始學習的時候,對單片機沒有什麼認識,不知道什麼是單片機,更不知道它有什麼作用。通過學習才大體知道了單片機的一些知識。
由中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、I/O介面、定時器/計數器以及串列通信介面等集成在一塊晶元上,構成了一個單片微型計算機,簡稱為單片機。
它的應用范圍很廣,在工業自動化中應用有數據採集、測控技術。在智能儀器儀表中應用
有數字示波器、數字信號源、數字萬用表、感應電流表,自動取款機等。在消費類電子產品中應用有洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。在通訊方面應用有數據機、程式控制交換技術、手機、小靈通等。在武器裝備方面應用有飛機、軍艦、坦克、導彈、太空梭、魚雷制導、智能武器等。學習單片機要投入大量的時間,如果只想速成,幾乎是不可能的。由於單片機涉及的知識面很廣,不可能在朝夕間就學會,只能一點點的積累。不積跬步,無以至千里。只有當你一步步去學習、去積累之後,你的單片機水平才會
提高。
學習過程中還要注重理解,要逐漸養成自己的編程思路,在編程過程中還要注意細節問題,
如果因為粗心大意將程序寫錯,將會無形間給自己帶來更大的工作量,隨著學習的深入,我們編寫的程序將越來越長,如果出現很多錯誤,在改錯時將會很麻煩,出錯越多你改的時間將會越長,就會無形間給自己帶來更多麻煩 。
單片機(micro control unit)是一種集CPU、RAM、ROM、I/O、中斷、定時/計數等功能為一體的完整的計算機,只需外加主頻振盪器和電源,灌入應用程序就可以實現一定的功能。單片機的的應用特點是「面向測控」。因此,它必須有強力的信息處理、檢測、控制的功能。學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編指令系統或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
一、匯流排:我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中 ,連連線並不成為一個問題,因為各器件間一般是串列關系,各器件之間的連線並不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各 器件之間的工作必須相互協調?所以就需要的連線就很多了,如果仍如同模擬電路一樣 ,在各微處理器和各器件間單獨連線線,則線的數量將多得驚人,所以在微處理機中引 入了匯流排的概念,各個器件共同享用連線,所有器件的8根數據線全部接到8根公用的線 上,即相當於各個器件並聯起來,但僅這樣還不行,如果有兩?器件同時送出數據,一 個為0,一個為1,那麼,接收方接收到的究竟是什麼呢?這種情況是是不允許的,所以 要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發送數據(可以有 多個器件同時接收)。器件的數據線也就被稱為數據匯流排,器件所有的控制線被稱 控制 匯流排。
在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配 地址,才能 用,分配地址當?也是以電信號的形?給出的,由於存儲單元比較多,所以 ,用於地址分的線也較多,這些線被稱為地址匯流排。
二、數據、地址、指令:之所以將這三者放在一起,是因為這三者的本質都是一樣的─數字,或者說都是?串『0』和『1』組成的序列。換言之,地址、指令也都是數據 。指令由單片機晶元的設計者規定的一種數字,它與我們常用的指令助記符有著嚴格的 一一對應關,不可以由 單片機的開發者更改。
三、P0口、P2口和P3的第二功能用法
初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間
要有個切換的過程,或者說要有一條指令,事實各埠的第二功能完全是自動,不需要指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微片理機外接RAM或有外部I/O口 時,它們揮作第二功能,不能作為通用I/O口使用,只要一微處理機一執行到MOVX指令,就會有相應的信號從P3. 或P3.7送出,不需要事先用指令說明。事實上『不能作為通用I/O口使用』也並不是『不能而是(使用者)『不會』將其作為通用I/O口使用。你完全可以在指令中按排一條S ETB P3.7
的指令,並且當單片機執行到這條指令時,也會使P3.7變為高電平,但使用者不會這么做,
因為這通常這會導致系統當潰(即死機)。
四、程序的執行過程
單片機在通電復位後8051內的程序計數器(PC)中的值為『0000,所以程序總是從『0000』單元開始執行,也就是說:在系統的ROM中一定要存在『0000』個單元,並且在『0000』單元中存放的一定是一條指令。
五、堆棧 堆棧是一個區域,是用來存放數據的,這個區域本身沒有任何特殊之處,就是內部RAM的一份,特殊的是它存放和取用數據的方式,即所謂的『先進後出,後進先出』,並且堆棧有特的數據傳輸指令,即『PUSH』和甈OP,有一個特殊的專為其服務的單元,即堆棧指針SP
每當執一次PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執行一次POP指令,SP
就(在原來值基礎上)動減1。由於SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP值,就可以把堆棧設置在規定的內存單元中,如在程序開始時?用一條MOV SP,#5FH指令,就時把堆棧設置在從內存單元60H開始的單元中。一般程序的開頭總有這么條設置堆棧指針的指令,因為開機時,SP的初始值為07H,這樣就使堆棧從08H單元
開始往後8H到1FH這個區域正是8031的第二、三、四工作寄存器區,經常要被使用,這會造成數據的渾亂
六
:中斷當單片機應用於測控系統時,實時性就顯得特別重要了。而中斷技術就是處理這種實時性要求高的場合。單片機的特點是一段程序反復執行,程序中每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能是需要合理控制的,在使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等。
中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,
監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情。
這就是中斷功能的強大之處。
七:匯編語言與C語言
匯編指令有自己的一套繁瑣的指令系統,不容易熟練掌握,編寫程序不得不注意硬體細節。相對於C語言,匯編語言也有不可忽略的優勢,就是在某些特殊場合需要高效的,佔用存儲空間小的地方。但隨著技術的發展硬體的限制越來越小,C語言比較好理解,通用性和可移植性都很不錯。也不用記專門的指令集合來,所以我還是比較傾向於用C編寫程序的
接觸單片機已經有一段時間了,我感覺自己動手學習編寫程序,調試然後在開發板上做學習的很快,看到自己看到的結果通過自己親手做出來的感覺很有成功感。
有時候單片機的學習很單調,有些知識學起來很抽象,不容易理解,只能慢慢適應,一邊學習理論知識,一邊編寫程序,將程序刷入單片機進行調試,通過這種方式才能更快速的學習單片機。同時也會從學習中體會成功的喜悅。
C. 單片機學習的建議,初學者的我
樓主,
單片機的定義:
就是相當於電腦的簡化版。根據CORE(內核)可分為:
如8051內核稱為51系列單片機;
如arm7內核稱為ARM7系列單片機;
如arm920T.940T/926內核稱為ARM9系列單片機;
因為現在所有8/16/32位(51系列,MSP430系列,ARM系列;
此外還有MSP430和AVR、PLC等
學習方法:
1,你首先要學習C語言基礎,就相當於80%會單片機了,因為現在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C語言。
2,先看內核8051的單片機:台灣宏晶的STC89C51-DIP40/或其它如新茂,到網上買一個開發板,價格不會超過200元。
3,看一下單片機功能:包換內部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。
4,編譯環境、編程軟體KEIL。
5,打開開發板的例子程序,在KEIL編譯,下載到板,看結果和說明是不是相符,達到這樣效果時,你心裡肯定很激動,這時你真正學會了單片機,你成功了!!!!!。
6,單片機C語言舉例:
sbit SPEAK = P1^5; //IO口定義為蜂鳴器控制
如果蜂鳴器正極接電源,SPEAK =0;蜂鳴器就會響,你看就是這么簡單。
unsiggne char temp;//定義TEMP為單位元組變數。
sfr PORTA P1;//將P1口定義為PORTA
7,當你過渡到ARM時,你就要學習LINUX和WINCE這兩個最基本的操作系統運用在單片機上。
8,同樣的理,你也要買ARM2410/2440為代表的開發板,慢慢按照說明書一步一步地操作,練習,不停地做實驗,就學會。
9,當然,你得打一份工作,關於我上所說的,開始工資不要要求太高,等你做完幾個項目後,你真正學會了,才跟老闆或上司提,這樣繼續或或另尋高就才有資本。
10,你也抽點時間看看《郭天祥十天學會單片機和c語言編》一書,鞏固一下理論知識。
總結:多做開發板上的實驗,你要多參與這樣的項目開發,慢慢就會了。
D. 學習單片機會心得
首先,學習單片機要有一定的基礎:電子技術方面要有數字電路和模擬電路等方面的理論基礎,特別是數字電路;編程語言要求匯編語言或C語言。要想成為單片機高手,建議初學者首先學習匯編語言,學的差不多的時候,轉入C語言學習。盡管匯編語言屬於低級語言,編程效率低,但是較C語言具有目標代碼簡短,佔用內存少,執行速度快等優點,更重要的是能使初學者盡快熟悉單片機的內部結構,並能對其進行精確的控制。匯編語言在單片機教材裡面都會涉及,不需要單獨購買教材和學習。C語言是一門學問,有很多專業書籍來講解,並且對我們今後的編程生涯有絕對的好處,因此要深入學習,千萬不要自以為看了某某的視頻教程就以為掌握了C語言,那隻是C語言的一部分。在這里給大家推薦一本單片機C語言程序設計參考書,馬忠梅等著,北京航空航天大學出版社出版的《單片機的C語言應用程序設計》,要求C語言基礎。如果沒學過C語言,建議學習清華大學譚浩強編寫的C語言程序設計,這本書寫的不錯,通俗易懂。
其次,是單片機教材選擇。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?剛開始時,也許你看不明白,但這並不要緊,因為你還缺乏實踐經驗。現在單片機應用廣泛,因此各個廠家分別推出了自己的單片機,按內部結構體系派系分:51系列、PIC系列、AVR系列、摩托羅拉等等……我們沒必要每樣都學!因為他們的編程方法和調試過程以及內部指令結構有一定的相似,只要學精通一款就OK了!尤其是用C語言編程,就幾乎不用分什麼派系,但是我們要選擇一款有代表性的知識范圍廣,並且入門容易,書籍多。一般來說,MCS-51系列單片機已經得到廣泛的普及和應用,市場上它的資料也比較多,用的人也很多。
E. 單片機的學習方法
從剛開始接觸單片機,到現在已經有3年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,LPC2138,PIC16F887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然後將其用於項目中的過程,對於如何學習一款單片機,自己做了如下的總結。
大家都知道,51單片機是最容易入門的,不僅因為其編程簡單,更重要的是網上的資料非常豐富。所以一般學習單片機開發的都將51單片機作為入門開發的首選。我學習51單片機的時候是採用這樣的一個步驟進行學習的:
第一步(熟悉的過程):在網上找學習資料,在網上看了很多。印像最深的要數王雲老師的雲龍51單片機視頻教程,因為這個教程從基礎到復雜的編程慢慢深入,邊講邊寫代碼,講的比較的全面,而且也生動,所以那一階段,也是我學習單片機進步最快的階段,這時對51單片機也就沒有感到陌生了。通過視頻讓我知道了該怎樣學習單片機,學習單片機,要從實驗入手,先熟悉單片機再說,開發語言開始使用的是C語言比匯編更好理解。
第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,買了一款51單片機開發板,然後就開始了我的學習之旅,每次聽課的時候,按照上面的實驗,以及課堂上面調試程序時出現的一些問題,自己認真的在電腦上進行調試,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了視頻教程之後,後面又對基礎的知識進行了下補習,主要是看單片機原理性的教材,因為有些細節性的東西還是要從教材上面獲得。圍繞單片機的LED燈進行控制,通過控制LED燈的亮、滅,熟悉了51單片機的內部的各種資源,這樣就能使我在很短的時間內,將51單片機內部的各個功能部件全部都使用到了。
第三步(項目實戰的階段):學習單片機的時候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行項目實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於單片機的液體點滴監控系統。做這個系統時,就將以前單片機所學的知識,做了一個綜合的應用,包括有LCD1602控制,串口的控制等。
經過以上三個步驟的學習之後,對於51單片機的開發基本上就算入門了。而對於其他類型的單片機,如飛思卡爾單片機,LPC2148 ARM7單片機,PIC16F887等,雖然每個系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟體等差別,所以有了51單片機的開發基礎之後,學習其他單片機所採用的方法就是一個差異化的學習,學習各種單片機不同的地方,這樣,就能很快的熟悉一款新的型號的單片機。
F. 單片機實訓心得
兄弟。我也是實習這個,真有緣。 把我的借你抄吧。
單片機實訓心版得
這個星期參加單片機實習,讓權我受益匪淺,讓我對這個書本大小的電路板有了更深刻的認識。這次實習我們使用控制電路的單片機是AT89S52。開始點亮第一個發光二極體就出問題,這對准備大幹一場的我是個不小的打擊。老師過來檢查發現我用的是P0口,而其他同學用的是P1口,十分欣慰,指正P0口應從第二個埠接線。之後的實習也是波折起伏,發光二級管,數碼管,獨立按鍵,定時計速器,程序調試無數次,從中也總結出不少調試的技巧,寫好一個漂亮的程序,首先需要冷靜的思考,其次需要細心的排序,排除先後主次的關系。接著邏輯性要明顯,每一句要明確存在的意義。其中有很多程序是我自己寫的,因為一個跟著老師板書的學生是永遠沒有自己的作品的。雖然其中存在很多錯誤,但是我在調試中成長。一個星期的實習很快就過去了。在此我感謝老師的教導,感謝同學們的鼓勵,感謝自己的獨樹一幟,讓我對這個小小的電路板有了大大的認識。
(其實我覺得單片機實習真的沒什麼好寫的,隨便扯。要不就抄實習報告上面的任務指南。單片機說來說去就是一個板子,又不可能說成一朵花。哎。。。)
G. 關於學習單片機的問題
朋友,我來和您探討一下這個問題。
首先,您手上已經有有一塊開發板了,這是個非內常棒的容學習材料,要好好利用一下。可以先從最簡單的實驗開始,每個實驗都會涉及到一些硬體電路,那麼就一個一個實驗的做,同是電路也是一個一個實驗的弄懂。待您開發板的實驗都做完後,慢慢積累起來的硬體知識相信也會對您繼續學習單片機的信心有很大的增加。
單片機的C語言與計算機裡面的不太一樣,還要通過實驗加深理解。
硬體方面的書沒必要過於苛求,弄懂開發板上的電路相信對您下一步要研究什麼樣的硬體電路會起到一個指引的作用。有了先前的知識,相信您會找到適合自己的硬體書籍的。
祝您成功!
H. 單片機心得
靜下來心來,先去運動一會不要想自他,等一段時間再去嘗試,這個方法的可行性要先檢查一下,實在不行就換另一種實現方法去嘗試一下,祝你成功。
單片機寶典從硬體到軟體 chm
http://hi..com/lsxshaoxin/blog/item/d6911973ebea5b028701b0be.html
電子電路基礎知識手冊 chm
http://hi..com/lsxshaoxin/blog/item/feacc003fff157f209fa937e.html