❶ 哪你們學了多久才學會單片機啊!我早兩年就想學了,可是到現在還是不會啊!看書又看不懂
世上無難事,就怕有心人
我自己決定不難學習
最主要是多動手。
動手份為兩方面:
一是動手製作硬體,這是首要的,沒有硬體的支撐,寫出程序了也沒有東西來試驗。做什麼硬體呢?你可以做歷屆全國大學生電子設計大賽的題目,也可以去買點書,做書上的東西,一般的單片機應用為名的這些書上都會有相關的開發應用。入門建議做書上的,可以挑一本好一點的書,書上有硬體電路設計和程序參考,在提升上會有很大幫助,也繞過了自己琢磨的那些艱難。但是調試電路是需要一定的理論指導和經驗積累的,這個就需要多學了,書上和網路上一般只給電路,不給調試的方法,所以需要自己多多琢磨,這段艱難時間是做電子的必須經歷的。
二就是動手編程了。沒有程序,要單片機干什麼?我經驗是抄寫程序,首先拿到一個硬體電路,看明白了硬體電路,就開始用電腦「抄」程序,抄得多了,就知道了要怎麼編了。要學會融匯貫通,懂得了一方面就需要貫通到另一方面,這對深入學習單片機很有幫助。學編程,最重要的是學會人家的思想,學會了思想,編起來就容易了。當然了,編程也講究積累,積累得多了,一些東西自然信手拈來。
你的問題說得不怎麼清楚,我不知道你具體是要什麼,你是要以上的方法呢,H還是你不知道怎麼入門。
現在常用的網咯視頻教程是郭天祥的,還有力天電子的,傳說周立功的也很厲害,我沒看過。郭天祥的一段片子太長了,而且廢話挺多,編的程序有些也是亂七八糟的,但是對入門的人來說,是不錯的入門視頻教程,很多入門的學生都用他的視頻,可見影響力之大,他對單片機介紹的挺清楚的,學的時候要是用的不是他的板子你就不要抄他的程序了,變通點就行。力天的沒怎麼仔細看,他那個做的也不錯,集合了C的教學和單片機的教學,對入門的人來說應該會有很大的幫助。
**************************************************************************************************************************************************************************************************************************************************************************
學習的步驟
當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。然而 51 單片機畢竟過於基礎,後來的很多單片機在功能上都有很大的擴展,因此按照我們實驗室多數人的路線接下來大多數人會學習 AVR 單片機, AVR 單片機在功能上較 51 有很大提升,集成了 A/D 、快速 PWM 等很多實用的功能,而且和很多大型的單片機在功能上有很多類似之處,因此如果以後還想掌握其他單片機 AVR 無疑是一個很好的跳板。
學習的過程
學習單片機最終要的是當然是練,我所說的學習跟課堂上的單片機學習不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內部結構,這些東西對於我們暫時並不需要,等以後開課的時候在學習好了。現在要學習的是暫時拋開內部結構原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發,網上有一種說法稱之為先實踐後理論的學習方法。
因此我的觀點如下,單片機的硬體結構首先要有一個基本的了解,最起碼要知道各引腳的功能、區別,能自己動手搭一個單片機的最小系統,然後就可以直接從程序入手,程序最好還是用 C 語言編程,從簡單的跑馬燈做起,逐漸深入,陸續可以做一些數碼管、液晶、 DS1302 、 DS18B20 等電子元器件的應用,在深入就可以結合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的 C 語言其實很有限,課堂上學習 C++ 的很大一部分內容在初期單片機編程中都用不到,因此沒必要因為覺的自己的 C 語言基礎不是很好而對單片機望而止步!
學習的工具
軟體方面方面, 51 單片機用的是 KEIL 軟體,這個軟體在學校圖書館軟體下載和其他網站上都有,具體用法自己查找相關資料, AVR 的軟體就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟體,這要看個人喜好了,建議有了一定的 51 基礎再學。另外就是燒寫軟體,燒寫軟體的作用就是將編譯器生成的 HEX 文件燒寫至單片機里,這要配合下載線實用,如果有並口的話最好用並口下載線,軟體最好用廣州雙龍的 SLISP 軟體,如果是筆記本沒有並口的話則要自己買一個下載器了,名稱為 USBASP ,網上電子市場有賣 20 塊錢左右,軟體會隨光碟自帶。
硬體方面,首先是要有單片機,對於單片機有一點要注意, 51 單片機最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機常用的就是 ATmega16L 其它型號的區別也不是很大,甚至有些兼容。至於單片機開發板,目前的價格都很貴,從一百到幾百不等,不過像上次學校里廣告的那個六十多塊錢的最好還是免了,沒什麼作用。能買一塊當然好,沒有的話也不要緊,自己動手買個電路板搭一下也很方便,引出 ISP 介面,燒寫程序十分容易,然後將 I/O 口引出擴展也很方便。
學習單片機的其它幾個注意點:
1 .理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將所用到的指令理解、吃透、紮根於腦海,甚至 「 根深蒂固 」 。也就是說,當你學習完幾條指令後 ( 一次數量不求多,只求懂 ) ,接下去就該做實驗了,通過實驗,使你感受到剛才的指令產生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉化成信號去實現控制的,通過實驗看到自己所學的成果不僅有一種成就感也能提升你對單片機的興趣。說句實在話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好。
2 .合理安排時間持之以恆
學習單片機不能 「 三天打魚、兩天曬網 」 ,要有持之以恆的毅力與決 4 心。學習完幾條指令後,就應及時做實驗,融匯貫通,而不要等幾天或幾個星期之後再做實驗,這樣效果不好甚至前學後忘。另外要有打 「 持久戰 」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。
3 .遇到問題耐心檢查
單片機有軟硬體兩方面的內容,有時一個程序怎麼調都不出效果,然而從理論分析卻又是對的,這是就要仔細找原因了,學習單片機經常碰到很多問題,有時一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個錯誤都會有一個新的收獲。切不可輕言放棄!!!
4 .對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時間後 (1-2 個月 ) 再重新學一遍,學過的知識要經常運用,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。
5 .要進行適當投資購買實驗器材及書籍資料
單片機技術含金量高,一旦學會後,給你帶來的效益當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材。另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。一本好的書籍真的很重要,可以隨時翻閱,隨時補充不懂或遺忘的知識。
❷ 請推薦幾本好的51單片機教程
看這篇帖子的,我想都是電子愛好者或電類專業學生。不知道大家都處於什麼一個階段,這篇帖子是寫給入門者的,要解決一個問題:初學者應重點掌握什麼電子知識,大學階段如何學習?
先說點貌似題外的東西——3個謬論。
謬論一:高中老師常對我們說,大家現在好好學,考上了大學就輕鬆了,愛怎麼玩怎麼玩。這真是狗屁。別的專業我不好說,電氣、電子、電力、通信、自動化等電類專業,想要輕松那是不可能地(當然你是天才就另說),專業課上講的東西對決大多數人來說那是雲里霧里,從來都是一知半解,需要你課下大量時間精力地消化。有些東西甚至需要你若干年後在工作中遇著時才回過味:「哦,原來以前學的那東西是干這使的。」你要能想得起,並知道怎麼回頭去補,就算是上學時專業課學得很扎實了。
謬論二:填志願時經常有人對我們說:專業不重要,學校最重要,進了個好學校想學什麼再學。這亦是狗屁。進了學校,本專業的課程就可能會壓得你喘不過氣來,還有多少人有時間和毅力選修第二專業?而所學專業幾乎就是決定了你今後一生的職業生涯。而學校,說實在話本科階段我覺得從老師那學到的東西各校間差別不是很大。課上講的大同小異,課下也不會有什麼好老師給你單獨指導和點撥,若能遇著,那是你的幸運。越牛的學校的越牛的老師就越忙,不要指望他們會在教學上花多少心思,更不要指望他們對你另眼相看。反倒是一些普通院校的小老師們可能跟學生走得更近,輔導更多些,雖然他們可能水平一般,但對於你大學的學習來說還是足夠的。綜上所述,我覺得對於一個電子愛好者來說,成為一名普通重點大學的電子系學生比成為北大的哲學系學生更重要。當然看帖的應該大多數都是學電的,那恭喜你,這個專業不錯的,雖不是什麼「朝陽產業」,但絕對是個「常青行業」。
謬論三:上了大學,可能又有不少人對你說,在大學專業不重要,關鍵的是學好計算機和英語,這樣就不愁找不到好工作了。這也是屁話。你要明確一點:你將來不是純靠英語吃飯的,也不是做編程、搞軟體開發或動畫創作的。我是想說:若果你性格偏內向沉穩、肯鑽研、愛好電子行業,將來想從事電子設計和研發工作,那你一定要學好專業課。當然英語也很重要,但以後工作中用得多的是你的專業英語,即能讀懂英語技術文檔,而不是跟別人比你口語多正宗多流利。至於計算機,那就是一工具,不要花太多時間去學photoshop、3dmax、Flash、網頁製作等流行軟體,這些在你今後的工作中用不著,也會牽扯你大量時間精力。好鋼用在刀刃上,多進進實驗室多搭搭電路吧。當然,電類學生對電腦也有特殊要求,那就是用熟Protel、
Multisim,學好匯編語言、C語言、選學PLD相關軟體。任務也是很重的。
以上說了3個謬論,下面言歸正傳吧。那麼進了大學,讀了電類專業,這4年你該學些什麼呢?
首先要了解:電類專業可分為強電和弱電兩個方向,具體為電力工程及其自動化(電力系統、工廠供變電等)專業屬強電,電氣工程及其自動化以強電為主弱電為輔,電子、通信、自動化專業以弱電為主。其他更進一步的細分要進入研究生階段才劃分。但無論強電還是弱電,基礎都是一樣的。
首先高數是要學好的,以後的信號處理、電磁場、電力系統、DSP等不同方向的專業課都用得著。
專業基礎課最重要的就是電路分析、模擬電路、數字電路。這3門課一定要學好。這3門課一般都是大一下學期到大三上學期開設,對大多數對電子知識還了解不多的同學來說,通常是學得一知半解,迷迷糊糊。所以,最好是在開課之前或是開課的同時讀一兩本通俗淺顯的綜合介紹電子知識的書籍,對書中的知識你不需要都懂,能有個大致感覺就行。
對這這種入門讀物的選擇很重要,難了看不懂可能興趣就此喪失或備受打擊,反而事與願違。在此推薦一本《電子設計從零開始》(楊欣編著,清華大學出版社出版),該書比較系統全面地介紹了電子設計與製作的基礎知識,模電、數電、單片機、Multisim電路模擬軟體等都有涉及,一冊在手基本知識就差不多了,關鍵是淺顯易懂,有一定趣味性。另外科學出版社引進出版的一套小開本(32開)電子系列圖書也不錯,是日本人寫的,科學出版社翻譯出版,插圖較多,也較淺顯,不過這一系列分冊較多,內容分得較細。
除了看書,還要足夠重視動手實踐。電路、模電、數電這些課程進行的同時都會同時開設一些課程試驗,珍惜這個動手機會好好弄一弄,而不要把它當作一個任務應付了事。跟抄作業一樣,拷貝別人的試驗結果在高校中也是蔚然成風,特別是幾個人一個小組的實驗,那就是個別勤奮好學的在那折騰,其他人毫不用心地等著出結果。
我只想說,自己動手努力得來的成果才是甜美的,那種成就感會讓你充實和滿足。游手好閑的,到臨近畢業找工作或在單位試用時,心中那種巨大的惶恐會讓你悔不當初。這種教訓太多了,多少次我們都是蹉跎了歲月才回過頭來追悔莫及。除了實驗課好好准備好好做之外,許多學校都設有開放性實驗室,供學生平時課余自覺來弄弄。珍惜這種資源和條件吧,工作後不會再有誰給你提供這種免費的午餐了。
當然有些學校沒有這么好的條件,或缺少器件,那同學們就在電腦上模擬一把試驗平台吧,就是學好用好Multisim軟體。Multisim是一種電路模擬軟體,筆者上學時叫做EWB,後來隨著版本更新,先後更名為Multisim2001、Multisim7、Multisim8。這個軟體可模擬搭建各種模擬電路和數字電路,並可觀測、分析電路模擬結果。大夥可以把模電、數電中學習的電路在這軟體裡面模擬一下,增加感性認識,實驗前後也可把試驗電路在軟體里模擬,看跟實際試驗結果有多大差別。可以說,只要你是學電的,這個小軟體就是你上學時必須掌握的,對你的學習助益很大。另一個必須掌握的軟體那就是protel了。
上學時,從小學期的綜合設計實驗到畢業設計,最後都會要求你用Protel繪出設計的電路原理圖和PCB版;工作後,Protel也是你必須掌握的基本技能,部分同學畢業後一兩年內的工作,可能就是單純地用這軟體畫板子。Protel的版本也走過了Protel98、Protel99、Protel99SE、ProtelDXP、Protel2004的發展道路。Protel99SE、ProtelDXP、Protel2004這三個版本現在用得最多,目前許多學校教學或公司內工程師使用的都還是Protel99SE,當然若作為新的自學者直接從Protel2004學起似乎好一些。
綜上所敘,作為最基本的EDA(電子設計自動化)軟體,Multisim和Protel是所有電類學生在上學時必須掌握的。其他的如Pspice、Orcad、SYstemview、MATLAB、QuartusII等等,需根據不同的專業方向選學,或是在進入研究生階段或工作後在重點學習使用。那Multisim和Protel好學么?入門應該問題不大,讓師兄師姐指導指導,或是找一兩本入門書看一看就OK了。這里推薦一本《電路設計與模擬——基於Multisim 8與Protel 2004》(也是楊欣編著,清華社出版),作為這兩款軟體的入門學習挺不錯的,關鍵是一本書包含了兩款軟體學習,對窮學生來說比較劃算,若是花錢買兩本書分別去學這兩個軟體,就不值了,因為Multisim的入門不是很難。另用Protel畫PCB電路板學問挺大的,有必要多看一些技術文檔或是買一本高級應用類的圖書。
2.大三大四(學習專業課,嘗試應用)
進入大三,就涉及到專業課的學習了,本文只討論以應用為主的專業課,其他如《電力系統分析》、《電機學》、《自控原理》、《信號與處理》、《高電壓》、《電磁場》等等以理論和計算為主的專業課,咱就不多提了。當然這些課對你今後向研究型人才發展很重要,也都很讓人頭疼,要有建議也只能說是努力學、好好學,懂多少是到少(不過別指望全都懂),以後工作或接著深造用得著時再回過頭來接著補接著學,那時有工作經驗或接觸多了有感性認識,可能學著就容易些了。
那以應用為主的專業課又有哪些呢?不同專業方向有不同的課程,很難面面俱到。這里先簡單羅列一下,有微機原理與介面技術(也稱單片機)、開關電源設計、可編程邏輯器件(PLD)應用、可編程邏輯控制(PLC)應用、變頻器應用、通信電路、數字集成電路分析與設計、DSP、嵌入式等等。可能有同學要問:這么多東西,大學階段要想都學好不容易吧?答案是不僅是不容易,而且是不可能。這些技術每一門展開來都是復雜的一套知識,可以說,你只要精通其中一門,就可以到外邊找個不錯的工作了。
而且在大學階段,這些課程也不是都要學的,而是針對不同專業方向選修其中幾門(具體選哪幾門,多研究研究你們各自的專業培養方案,多請教老師),學的時候爭取能動基本用法即可,真正的應用和深入是要到工作後的;當然你若很勤奮或有天賦,能熟練掌握某一門達到開發產品的程度,那畢業後找個好工作就輕而易舉了。到這里我們需要再明確一點:電子領域知識繁多、浩如煙海,所以一般搞硬體的公司都有較多的員工,一個研發項目是多人細致分工、共同完成的,所以我們經常會聽到團隊意識這個名詞。因為一個人的能力有限,不可能掌握所有的知識。比如一些人專門負責搞驅動,一些人專門從事邏輯設計,一些人專門搞高頻無線,一些人專門搞測試,一些人專門設計外殼,一些人專門設計電路板等等。
看到這里可能有的同學頭都大了:那說來說去大學階段到底究竟應該學些什麼呢?說實話寫到這里我的頭也大了,電子設計涉及方方面面的東西太多了,實在不是一篇文章甚至一本書能說得清楚的。所以我決定剔除這些生澀的課程名目,大致說一下我所認為的一個電類學生或是想要成為電子工程師的自學者應該掌握的基本的專業技能。
現在應該說單片機不知道那是相當嚴重的問題。單片機的知識和應用的技巧成了求職面試中必備的問題。但是單片機的知識較難入手,但是你如果看了《51單片機應用從零開始》(清華大學出版社,王玉鳳,劉湘黔,楊欣編著)就不是這么感覺的了,這是一本中學生都讀得懂的單片機基礎和應用教程。這本教程凝結了國內幾所重點大學中站在科研、教學第一線教師們的心血,也得到了英國劍橋大學、牛津大學、倫敦帝國理工大學、倫敦大學、加的夫大學等世界著名大學多位博士生導師的指導意見。經過多位學者的精心裁剪,本書的脈絡、線索、內容才真正符合讀者學習單片機的需要。
《51單片機應用從零開始》以生動活潑、平實易懂的語言講述。盡量讓單片機學習過程中不斷涌現的專業詞彙,在不知不覺的情況下通過多方面的使用而掌握。本書沒有用專業的描述方法來敘述知識點,取而代之的是以「講故事」的形式把應該了解的內容和盤托出。
十分注重基礎知識的鋪墊。在單片機學習之前,需要對計算機原理和電子技術有一定的了解。本書考慮到不同讀者的知識背景不同,把這兩個基礎理論融入到了單片機的講解當中,使閱讀起來感覺不到有什麼障礙。
構建了全面的學習支撐體系。每章最後的「實例點撥」除了鞏固每章的學習知識外,更重要的是開辟單片機應用的視野;再加上「器件介紹」環節,補足單片機從基礎到應用所需要的知識;以及豐富的附錄內容可作為學習和應用單片機的強力參考。這便構建了一個完整學習單片機的支撐體系。
既授人以魚,也授人以漁。書中有充足的實例應用,可以用在單片機實驗、單片機課程設計當中。但更重要的是,這些實例前後都伴隨著仔細的講解,一個例子下來就能摸清來龍去脈。
敘述的內容全面、新穎、權威。嚴格按照單片機官方的技術參考對其進行講解,包括所有51單片機學習與應用需要的基礎知識。無論敘述的內容或是實例,都是目前世界上單片機應用的主流。
全書渾然一體。雖然每章各具標題,實際上互有聯系。而這種聯系如果在書中忽略不談,則會對理解和記憶產生障礙。本書在正文中多次有知識點的相互映射,這不但能加深前後內容的聯系,而且能深化理解與記憶。
我認為:除了最初提到的電路分析、模擬電路、數字電路、單片機外,應了解並掌握電子元器件識別與選用指導、基本儀器儀表的使用、一些常用電路模塊的分析與設計、單片機的應用、PLD的應用、模擬軟體的應用、電路板設計與製作、電子測量與電路測試。
電子元器件的識別與使用就不用說了,這是元素級的基礎,不過要想掌握好也並不容易,一些電子系學生畢業了,還認不出二極體、三極體實物、分不清電解電容的正負極等等,也不是沒有的事。還是一句話,多進進實驗室,多跑跑電子市場,多看看書。
儀器儀表的使用,大學的實驗課中你至少會用過數字萬用表,波形發生器、電源、示波器、小電機、單片機模擬機,至少要把這些東西的接線方法和用法弄懂吧。
常用電路模塊也是包羅萬相,各種放大電路、比較器、AD轉換電路、DA轉換電路、微分電路、積分電路,還有各種數字邏輯單元電路等等,只能說,大致了解吧,並學會怎麼去查資料、查晶元查管腳。最基本的,做實驗或課程設計中用到的各種晶元要弄熟。
單片機,這是應該掌握的。時下單片機種類繁多,但各大小企業用得最多的還是51系列單片機,而且價格便宜、學習資料也最全,故給自學者推薦。當然各學校開課講的單片機型號會有所不同,沒關系,學好單片機編程,學好了一種,再學別的單片機就容易了。
PLD(可編程邏輯器件),一種集成電路晶元,提供用戶可編程,實現一定的邏輯功能。對可編程邏輯器件的功能設定(即要它實現什麼功能)要有設計者藉助開發工具,通過編寫程序來實現,這跟單片機類似。開發工具可學習Altera公司的Quartus II軟體(這是該公司的第4代PLD開發軟體,第3代是MAX+PLUS II軟體)。編程語言學習硬體描述語言VHDL或Verilog HDL。
模擬軟體最基本的就是前面說的Multisim了,另外還可學MATLAB。其他的試專業情況選學或是工作後學。電路板設計與製作主要是用Protel軟體輔助進行。這在前面已有介紹,讀者應該也比較熟悉。
最後建議同學們積極與各類電子競賽賽事,參加一場比賽一個項目做下來,電子設計的一個流程和各環節的基礎知識就能串起來了,對知識的融會貫通及今後走向工作崗位都有莫大裨益。
以上這些東西我說得籠統,深入下去又是一大堆要學的東西。還是那句話,多啃書本、多實踐!清華大學出版社有一套「電子電路循序漸進系列教程」是按照上面我所講的那個思路出的,可惜好像還沒出全,現在好像只有《單片機在電子電路設計中的應用》、《電路設計與制板——Proetl應用教程》、《模擬軟體教程——Multisim和MATLAB》、《常用電路模塊分析與設計指導》幾本。另外聽聽你們老師的意見、師兄師姐的意見,問問他們應讀些什麼書,當然也不能盡聽盡信,翻開一本書我想你先大致看看他講得是否通俗,自己琢磨著能看懂幾分?我想能有5分懂這本書就值得一看了,示自己現階段的知識情況,太淺顯的書不用看了,太深的書也不要去看,看得迷迷糊糊還打擊自信心喪失了興趣。
好了,就此停筆吧。本來是要寫個書目推薦,可干癟癟的羅列一堆書目有什麼意義?還是寫下這些字,讓同學們自己去思考去選擇去深入吧,希望能對你們有所幫助。
最後一句老生常談也是我的切膚之痛:大學四年會一晃而過,要學的東西太多太多,不要虛度光陰。及時當努力,歲月不待人!
❸ MCS-51單片機原理及應用技術教程的介紹
《MCS-51單片機原理及應用技術教程》由高洪志編寫,人民郵電出版社於2009年出版發行。該書以MCS-51單片機為學習平台,講解了單片機的組成原理、各功能模塊的使用方法及擴展方法。全書共10章。內容包括單片機的種類、功能及用途;MCS-51單片機的組成;MCS-51單片機指令系統和匯編語言程序設計;單片機內部各種硬體資源的組成、工作原理及編程使用方法;C語言在單片機編程中的使用方法;單片機擴展和介面技術,包括I/O擴展、存儲器擴展、人機介面擴展以及模擬介面擴展;串列通信技術,並給出了案例;系統設計開發方法、調試方法和抗干擾技術以及用C51語言編寫了單片機課程的部分實訓案例。