單片機編程???
你還是想學簡單的編程??
單片機編程基本上就是匯編語言編程,匯編語言是機器最底層語言,比較枯燥,有老師帶你,還比較好,如果是自學,那你計算機基礎一定要過關哦,要不然,機器最底層語言還是^^^^有點惱火呢~
單片機還是比較好學的,我好幾個朋友這個都比較好,我自己也比較感興趣.如果要學單片機,那你要去買一些"工具",比如模擬器等等.
㈡ 單片機編程如何快速入門
肯定是先學C51基礎啊,哈工大的一本書不錯的,新編MCS-51單片機應用設計。裡面肯定是要教你匯編的。等到最後上工程的時候肯定是要用keil,C語言編程的,所有人走的都是這條路。勸你別一上手就學C編程,因為匯編語言會更讓你了解單片機寄存器等是怎麼工作的,理解更透徹。希望好運
!
㈢ 學習單片機怎麼入門
循序漸近,一點點吃透學習,方法如下:
1、選擇一本好教材,建議《51單片機輕松入門
基於STC15W4K系列》這本,內容新,講解透徹,有配套視頻可輔助參考,不管是初學入門還是已經懂得單片機皮毛,滿足所有需求。
2、有了書就要理解意思,所以要吃透教材,看不懂也不要緊,多看,多問,在問題中尋找學習方向。
3、選擇配套產品,不要在乎板子的資源多少,推薦吳鑒鷹的單片機,開發板性價比高;軟體建議用Keilc51,硬體要有pc機和開發板,開發板要求有流水燈、數碼管、獨立按鍵、矩陣鍵盤、ad轉換、液晶屏、蜂鳴器,這就差不多了。其它不明白的就網上找視頻找教程,總會有解答的東西。
4、操練起來,從最基本的流水燈開始,試著先控制一個發光管,慢慢的變換花樣,做出自己的個性來。
5、帶著問題解決問題,一開始先不要找人請教,自己試,這樣記憶最深刻,也最有效果,但也不要鑽牛角尖,實在不行就問,要不剛建立起來的那點想法就打擊沒有了。
6、當技術水平,學習方法,心理素質都達到一定的境界了,就算入門了,接下來就要看個人的努力和悟性怎樣了,當然在學習單片機的過程中必須遵循一定的原則,堅守住一定的底線,這樣才能用最少的經歷,在最短的時間內獲得大的進步。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
㈣ 單片機學習入門基礎
學習單片機的最有效方法是理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,能夠產生什麼實際效果,那麼也許用不了幾天就會覺得枯燥乏味而半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將用到的指令理解、吃透、紮根於腦海,甚至「根深蒂固」。也就是說,當你此次學習完某幾條指令後(一次數量不求多,只求懂),接下去就該做實驗了,通過實驗,使你感受剛才的指令產生了控制效果,眼睛看得見(燈光)、耳朵聽得到(聲音),更能深刻理解指令是怎樣轉化成信號去控制電子產品的。說句過分的話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。《電子製作》2003~2004的《手把手教你學單片機》講座就是基於這樣一種邊學邊練的理念展開的,從眾多的讀者反饋來看,效果特別好,許多讀者經3~6個月的學習已能開發簡單的產品了(如霓紅燈廣告牌控制、累加計數器等)。
學習單片機要合理安排學習時間持之以恆
學習單片機可不能「三天打魚、二天曬網」 ,要有持之以恆的毅力與決心,學習完幾條指令後,就應及時做實驗,融會貫通,而不要等幾天或幾個星期有時間後再做實驗,這樣效果不好甚至前學後忘。另外要有打「持久戰」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。
學習單片機要使用循環學習法使之根深蒂固
《手把手教你學單片機》講座入門起點低,很多朋友覺得好學、易學,很快就能將講座從頭至尾學完、學懂,但過了幾個月,在開發產品時對指令的具體作用就有些淡忘了。根據現代科學的研究,對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是,過一段時間後(1~2個月)再重新做一遍,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。有道是:若人生能細看《水滸傳》10遍,那麼裡面的故事內容、人物場情將永生不忘。
學習單片機要進行適當投資購買實驗器材及書籍資料
單片機技術是一門含金量高的技術,一旦學會後,它給你帶來的效益回報當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景是光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材,另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。總之,春天不播種哪來秋天的收獲?考慮到初學者的學習成本,《手把手教你學單片機》講座主要採用「程序完成後軟體模擬→單片機燒錄程序→試驗板通電實驗」的方法(現在的快閃型單片機其程序可燒寫1000次以上),而沒有採用價格昂貴的在線模擬器(ICE)進行實驗,這樣整套實驗器材(不包括PC機)只有幾百元,對大部分已工作的愛好者來說都有這個經濟能力承受。一旦當你掌握了單片機的編程技術,成為一個水平較高的單片機設計人員時,再買在線模擬器也不遲。
准備:
單片機燒錄器
單片機模擬器
單片機(89c2051,便宜)
軟體(Keil)
1、先找本單片機入門的書來看,對於寄存器不必很深的了解
2、照書上的電路圖搭好電路(復位、晶振、IO……)
3、將書上的范常式序燒入單片機跑(或者模擬,看程序運行)
4、當你做完IO流水燈實驗、串口收發數據實驗,再回去看書,能有更深的體會。
5、高級應用的書,或者做更多的東西~~
㈤ 單片機用C語言的基礎
單片機的外部結構:
1、 DIP40雙列直插;
2、 P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平)
3、 電源VCC(PIN40)和地線GND(PIN20);
4、 高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位)
5、 內置振盪電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍)
6、 程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序)
7、 P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1
單片機內部I/O部件:(所為學習單片機,實際上就是編程式控制制以下I/O部件,完成指定任務)
1、 四個8位通用I/O埠,對應引腳P0、P1、P2和P3;
2、 兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1)
3、 一個串列通信介面;(SCON,SBUF)
4、 一個中斷控制器;(IE,IP)
針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有埠的定義。針對MCS51系列單片機的C語言擴展變數類型。
C語言編程基礎:
1、 十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。
2、 如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。
3、 ++var表示對變數var先增一;var—表示對變數後減一。
4、 x |= 0x0f;表示為 x = x | 0x0f;
5、 TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。
6、 While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;}
㈥ 單片機需要什麼基礎
1,首先要學習C語言基礎,就相當於80%會單片機了,因為現在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C語言。
2,聽起來單片機比較陌生,不是因為不懂,而是不知道方法和流程。現簡單說說,僅供參考;
3,先看內核8051的單片機:台灣宏晶的STC89C51-DIP40/或其它如新茂,到網上買一個開發板,價格不會超過200元。
4,看一下單片機功能:包換內部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。
5,編譯環境、編程軟體KEIL。
6,打開開發板的例子程序,在KEIL編譯,下載到板,看結果和說明是不是相符,達到這樣效果時,心裡肯定很激動,這時真正學會了單片機,成功了。
7,然後再學會看電路圖,電路圖其實很簡單,就是一根線從一個地方連接到另一個地方,寫代碼時,只記住單片機是哪一個管腳,然後對它寫代碼即可,具體可以去創客學院看看。
㈦ 單片機編程和"一般編程"區別
如果你是想學計算機軟體開發的話,就不要去理會什麼單片機編程了。
但如果你是想學電子產品開發(嵌入式系統開發),那麼單片機編程就是基礎了。
電腦和單片機的區別是:電腦屬於通用計算機,而單片機是嵌入式微機。
通用計算機上的C語言和匯編編寫出來的程序是在本台計算機上運行的,當然你也可以讓它在其他電腦上運行。而單片機編程就不同了,單片機編程有專門的編譯器,不同的單片機編程軟體是不同的,而不像電腦上的c++6.0、TC或其他什麼編程軟體寫出來的程序就在本台電腦上運行,單片機的編程是在電腦上編寫程序並生成可執行文件。讓後把可執行文件下載到單片機裡面,也就是說單片機編程是面向單片機的,而通用計算機編程時面向通用計算機的。這就說明了為什麼不同的單片機需要不同的編程軟體,因為編程生成的可執行代碼都需要硬體的支持,通用機的硬體是「通用的」「兼容的」,而單片機型號不同硬體就會有差別
,所以需要不同的編譯器來支持了。
你會發現單片機編程的C語言和標准C會有差別,很多單片機C語言在標准C里是不被承認的,這個也能說明單片機和電腦的區別吧。
㈧ 學習單片機需要什麼基礎自學可以嗎
學習單片機的八大步驟(轉)
推薦 學習使用單片機就是理解單片機硬體結構,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。
第二步:定時器的使用
學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。
第三步:中斷
單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某
種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等 。
中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。
第四步:與PC機進行RS232通信
單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。
USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!
第五步:學會A/D轉換
MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。
使用A/D轉換功能的簡單的例子是設計一個電壓表。
第六步:學會PCI、I2C介面和液晶顯示器介面
這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
第七步:學會比較、捕捉、PWM功能
這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。
如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。
第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計
學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。
到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。順便說一句,MSP430單片機的技術支持是非常好的,負責任的工程師大蝦會在關鍵時候,挺身而出,使你化險為夷。
㈨ 怎樣開始學習單片機的編程
最佳答案第一階段:是先瀏覽教科書里的硬體部分,大至了解單片機的硬體結構。如ROM、RAM、地址、I/O口等,以及看一些廠家的MCU資料(Data Sheet),來加強MCU所提供各項資源的印象。呵呵,還是得先看書。看不懂的就問老師,問知道的人。可以理解,我以前在學校也是對單片機一點兒也不理解,其實簡單點的說單片機就是一塊集成晶元,但是不同的地方就是可以通過編程來改變其引腳的電平高低。大二學了數電沒有?學過數點你就會理解高低電平的含義。另外,大一的時候學過計算機基礎了吧。你可以用計算機的原理來理解單片機。比如說 ROM 其實就像計算機的硬碟一樣,是用來裝東西的,裝你運行的程序。
第二階段:就是了解二進位數字、十六進位數和軟體方面的內容。盡管有很多高級語言可用於單片機的編程,但我覺得初學還是以匯編語言為好,更有利於和硬體結合,掌握硬體結構。知道匯編語言、機器語言、指令、 程序等概念後,從MOV指令開始,學習匯編語言和編程,在此如51的MCU匯編語言系統有11條指令,簡單又好理解它們怎樣和硬體聯系,更有助於一般學習單片機的指令整合與運用.因此其方法可先了 解幾條基本的MOV指令和它的機器語言,大致建立起單片機的硬體和軟體概念,來知道單片機的硬體是由指令控制指揮的。
第三階段按照編程環境的使用手冊,熟悉使用編程環境。現在的編程環境一般都和電腦相連,只要具備基本電腦知識的人都可很快掌握操作步驟。
第四階段是依靠實驗板,學習掌握單片機的匯編語言指令系統和簡單編程。同時和前面所學硬體知識結合組裝,起到主學軟體,鞏固硬體的雙重作用。
開始 時可用別人編的簡單程式在實驗板上進行驗證、分析,主要是熟悉該學習方法,在應用方面主要針對單片機I/O各項介面的使用,如A/D,D/A,PWM輸出的應用,LCD與VFD的控制,以及如何規范各項串列輸出入口的通訊協定等,對其所控制的各項元器件須先分析驅動能力,如電流電壓問題等。
匯編語言熟悉後,建議盡快學習C語言的編程,畢竟C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛採用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟體開發中採用模塊化 程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟體 開發的一個主流。用C語言來編寫目標系統軟體,會大大縮短開發周期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、性能更完備的系統。
另外,我覺得一開始很多的概念可能你都不怎麼理解的,光看書也難理解,還得多問人,還有找一樣好的模擬軟體,一定要會用。在學指令的時候一條一條的驗證,那樣才會理解。
就比如一個非常簡單的 REG 0000H
AJMP 30H
MOV 20H #05H
END
看看模擬軟體的寄存器,內部數據存儲器裡面的數據有什麼改變。當你看到20H單元上的值變成了5,你就知道 MOV 20H #05H 的含義。但是光看書,可能就理解不出來。