肯定是先學C51基礎啊,哈工大的一本書不錯的,新編MCS-51單片機應用設計。裡面肯定是要教你匯編的。等到最後上工程的時候肯定是要用keil,C語言編程的,所有人走的都是這條路。勸你別一上手就學C編程,因為匯編語言會更讓你了解單片機寄存器等是怎麼工作的,理解更透徹。希望好運
!
⑵ 單片機如何編程
建議你看一下單片機編程入門書籍來看,前提是要學會c語言。。
⑶ 單片機怎麼編程
1、下個keil3軟體,新建工程之後,新建文件,寫文件名的時候,寫.asm後綴的就是寫匯編語言,寫.c後綴的就是寫C語言。
2、至於怎麼編程,單片機編程,重點就是掌握單片機有哪些I/o口,哪些寄存器,哪些特殊寄存器。
3、推薦看一下視頻《十天學會單片機》,搜一下都有的,對初學者非常有幫助。
4、另外補充一點,學單片機,光看書一年都學不會,邊看邊學,一個月就能入門了,所以最好弄一塊板子,在上面跑跑程序。
⑷ 我想學習單片機編程該怎麼做
學習單片機首先應該對數電、模電有一定的了解,還有C語言,剛開始入門的話建議用C語言,當然課本也是少不了的,看看單片機的基本的東西。 推薦一款視頻:《10天學會51單片機和C語言》 http://www.txmcu.com/web/viewdownfile.asp?userid=1070303&lanmuid=7418502&contentID=79659 順便看看他寫的這篇文章: http://www.txmcu.com/web/viewarticle.asp?userid=1070303&lanmuid=7472654&contentID=1620790 希望可以幫到你!
⑸ 單片機學習怎麼入門
使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或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招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了。
⑹ 學習單片機怎麼入門
循序漸近,一點點吃透學習,方法如下:
1、選擇一本好教材,建議《51單片機輕松入門
基於STC15W4K系列》這本,內容新,講解透徹,有配套視頻可輔助參考,不管是初學入門還是已經懂得單片機皮毛,滿足所有需求。
2、有了書就要理解意思,所以要吃透教材,看不懂也不要緊,多看,多問,在問題中尋找學習方向。
3、選擇配套產品,不要在乎板子的資源多少,推薦吳鑒鷹的單片機,開發板性價比高;軟體建議用Keilc51,硬體要有pc機和開發板,開發板要求有流水燈、數碼管、獨立按鍵、矩陣鍵盤、ad轉換、液晶屏、蜂鳴器,這就差不多了。其它不明白的就網上找視頻找教程,總會有解答的東西。
4、操練起來,從最基本的流水燈開始,試著先控制一個發光管,慢慢的變換花樣,做出自己的個性來。
5、帶著問題解決問題,一開始先不要找人請教,自己試,這樣記憶最深刻,也最有效果,但也不要鑽牛角尖,實在不行就問,要不剛建立起來的那點想法就打擊沒有了。
6、當技術水平,學習方法,心理素質都達到一定的境界了,就算入門了,接下來就要看個人的努力和悟性怎樣了,當然在學習單片機的過程中必須遵循一定的原則,堅守住一定的底線,這樣才能用最少的經歷,在最短的時間內獲得大的進步。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。
⑺ 單片機怎麼快速入門
樓主你好,
有C語言的基礎,入門就不算喃。有點數電的基礎就更好了。
初學者最好不要看什麼書,看不懂,打擊信心,還不如拿這個時間把C語言基礎夯實。
建議你網上找郭天祥的《十天學會51單片機》,拋開大部分的原理,主講編程,和一些典型應用模塊。都C的基礎都看的懂,在看的時候,最好能買一個板子,自己跟著做實驗,寫代碼。
看完了。知道怎麼用的情況下,再看看書。很容易就懂了。
這是我學單片機的一點點經驗。希望能對你有幫助
⑻ 單片機的快速入門
先別急著看晶元手冊
試試用麵包板入門單片機:http://www.doyoung.net/video/BREAD_1/index.html
無需焊接,修改方便
簡單入門:http://www.doyoung.net/video/STC/index.html
單片機入門製作專輯:http://www.doyoung.net/articles/0711_MCU_entry_album/MCU_entry_album.rar
單片機編程魔法學校:http://www.doyoung.net/articles/0802_MCU_Magic_School/MCU_Magic_School.rar
推薦本書《愛上單片機》
如何看懂晶元手冊:(完整版的帶圖片的在單片機編程魔法學校最後一篇)
要想徹底了解AT89S52,那就要看它的技術手冊,因為這是單片機生產商提供的資料,是最正確、最權威的數據,
我們在其它文章中看到的對S52單片機的介紹都是從技術手冊里看到,然後添枝加葉寫出來的,實質性的東西萬變
不離技術手冊。我在這里千言萬語也不如你靜下心來認真去看一看它,如果英語不好的朋友也可以先看看51 系列
的中文翻譯版然後再對照英文的看一遍,總之英語的一定要看,記住一些重要詞彙,其它類似的手冊中也會出現。
一般我們要了解一款晶元都要在技術手冊上找以下幾個重點,介面定義、主要技術參數(如電壓范圍、功耗)、時
序、操作方法、封裝形式等。理論總是有點抽象,舉一個實用的例子吧,我們一般不會找電阻和電容的技術手冊,
也是相當少見,一般我們需要的是晶元的手冊,主要的還是和單片機的介面晶元,我們就是來學單片機的嘛。我們
拿一款常用的實時時鍾晶元DS1302 開刀,雖然熟悉的朋友感覺講這個沒有什麼新意,不過用它更容易講明道理。
想一想一個時鍾晶元我們需要它的什麼功能?很簡單,它要提供給單片機一個時間,這是最基本的。我們的目的就
是讓單片機得到這個時間。首先要有一個硬體電路,是電路都得有電源吧,我們要在技術手冊里先找到晶元的工作
電壓什麼范圍,再看一下哪一個介面是連接電源的,備用電池接到哪個介面。其次就是看通信介面是哪幾個,是什
么通信方式的,I2C、ISP、還是其它協議,最後看看它還有什麼別的功能。圖1 所示是DS1302 時鍾晶元技術手冊
上關於介面的定義和說明,雖然是英文的,但是為了想當高手也得學著看呀,不會的查詞典去。在軟體上要了解芯
片的通信時序,不管是什麼晶元無非就是讀和寫兩個操作,圖2所示是技術手冊上關於數據讀、寫的時序。
時序圖這個地方應該說道說道,可能有一些朋友還不太明白、不懂分析。圖2 所示的時序圖是讀和寫兩個時序圖,
上面的是讀時序。所謂時序就是按照時間順序的一個操作過程,在讀時序部分有三條彎延曲折的橫線,左邊有它們
的名字,分別是RST、SCLK、I/O,這是對應著晶元上的三個介面,時間從左邊開始向右走,橫線向上走了就表示
在單片機控制上要拉成高電平(操作數據為1),橫線向下走則控製成低電平(操作數據為0),如果又有上走又有
下走(像I/O 時序線上的)就表示根據實際情況定義電平高低。現在我們用一個尺子豎在圖表上,從左向右滑動來
模擬時序的行走。一開始三條線都是平靜的,突然RST 向上走了,表示RST 介面需要變成高電平。繼續走突然I/O
線又變成高或者低電平了。I/O 是數據線,所以這個高或低可能是讀出來的值或是需要寫入的值,I/O 時序部分下
面有一行字寫著「WRITE COMMAND BYTE(寫入指令位元組)」意思說這個值是需要單片機寫入的,至於寫什麼內容要
看數據指令對照表。假設我們的單片機在這時向I/O 介面寫入0 或1,繼續向下走。突然SCLK 變高電平了,我們
要讓單片機把SCLK 介面變成高電平,之後就這樣一直走下去。這個識圖的過程就好像我們剛學習識別電路圖一樣,
需要一個過程。現在經驗告訴我RST 是一個晶元使能介面,高電平使晶元允許讀寫數據。單片機向SCLK 寫入高低
電平變化的時鍾信號,I/O 按照這個時鍾信號在SCLK從低電平變成高電平的時候將晶元寫入0、1 數據或是讀出數
據。可能有些朋友暫時還看不明白,不過沒有關系,只要多看多思考就會有效果的,要知道能看懂數據手冊就變成
設計者了,這還不夠你顯擺的嗎。在寫程序的時候就可以根據時序表的順序操作,[程序1]是一個簡單的示範,並
不能真正應用,它就是按時序表順序編寫的,時序表和數據指令對照表是晶元驅動程序編寫的本源,不信你找一找
別人寫過的DS1302 驅動程序,看看是不是和這個時序表中所介紹的一樣呢。
技術手冊是一個好東西,每當你見到不熟悉的晶元時首先就要想到找一找它的技術手冊,當你可以獨立欣賞技術手
冊時,你就已經不簡單了。如果還可以根據技術手冊寫出驅動程序來,那你就可以考慮向《無線電》雜志投稿了,
至於能不能發表是另一回事情,因為事實已經證明你從初學者一躍成為設計者兼教育者的高手。