導航:首頁 > 操作系統 > PIC單片機基礎與實例進階

PIC單片機基礎與實例進階

發布時間:2022-12-23 01:54:30

㈠ pic單片機與51單片機有什麼區別

1、匯流排結構不同

MCS-51的匯流排結構是馮-諾依曼型,計算機在同一個存儲空間取指令和數據,兩者不能同時進行;而PIC的匯流排結構是哈佛結構,指令和數據空間是完全分開的,一個用於指令,一個用於數據,由於可以對程序和數據同時進行訪問,所以提高了數據吞吐率。

正因為在PIC系列單片機中採用了哈佛雙匯流排結構,所以與常見的微控制器不同的一點是:程序和數據匯流排可以採用不同的寬度。數據匯流排都是8位的,但指令匯流排位數分別位12、14、16位。

2、流水線結構不同

MCS-51的取指和執行採用單指令流水線結構,即取一條指令,執行完後再取下一條指令;而PIC的取指和執行採用雙指令流水線結構,當一條指令被執行時,允許下一條指令同時被取出,這樣就實現了單周期指令。

3、寄存器組

PIC的所有寄存器,包括I/O口,定時器和程序計數器等都採用RAM結構形式,而且都只需要一個指令周期就可以完成訪問和操作;而MCS-51需要兩個或兩個以上的周期才能改變寄存器的內容。

(1)PIC單片機基礎與實例進階擴展閱讀:

單片機的應用

1、單片機在智能儀表中的應用單片機廣泛地用於各種儀器儀表,使儀器儀表智能化,並可以提高測量的自動化程度和精度,簡化儀器儀表的硬體結構,提高其性能價格比。

2、單片機在機電一體化中的應用機電一體化是械工業發展的方向。機電一體化產品是指集成機械技術、微電子技術、計算機技術於一體,具有智能化特徵的機電產品。

例如微機控制的車床、鑽床等。單片機作為產品中的控制器,能充分發揮它的體積小、可靠性高、功能強等優點,可大大提高機器的自動化、智能化程度。

3、單片機在實時控制中的應用單片機廣泛地用於各種實時控制系統中。例如,在工業測控、航空航天、尖端武器、機器人等各種實時控制系統中,都可以用單片機作為控制器。單片機的實時數據處理能力和控制功能,可使系統保持在最佳工作狀態,提高系統的工作效率和產品質量。

㈡ 單片機工作總結

單片機工作總結

總結是對過去一定時期的工作、學習或思想情況進行回顧、分析,並做出客觀評價的書面材料,它可以促使我們思考,因此十分有必須要寫一份總結哦。我們該怎麼去寫總結呢?下面是我幫大家整理的單片機工作總結,希望對大家有所幫助。

單片機工作總結1

單片機是一門應用性和綜合性很強的學科,它綜合了電子技術中的模擬電路和數字電路方面的知識,特別是數字電路,因為數字電路在裡面的應用很多。學習單片機最好先從匯編語言入手,雖然匯編語言是低級語言 ,編程效率低,但它比C語言佔用內存小,執行速度快等優點,在剛接觸單片機時更容易學習。由於單片機涉及的知識很多,所以我們只能循序漸進的學習,逐步的積累,沒有什麼捷徑可循。

剛開始學習的時候,對單片機沒有什麼認識,不知道什麼是單片機,更不知道它有什麼作用。通過學習才大體知道了單片機的一些知識。由中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、I/O介面、定時器/計數器以及串列通信介面等集成在一塊晶元上,構成了一個單片微型計算機,簡稱為單片機。它的應用范圍很廣,在工業自動化中應用有數據採集、測控技術。在智能儀器儀表中應用有數字示波器、數字信號源、數字萬用表、感應電流表,自動取款機等。在消費類電子產品中應用有洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。在通訊方面應用有數據機、程式控制交換技術、手機、小靈通等。在武器裝備方面應用有飛機、軍艦、坦克、導彈、太空梭、魚雷制導、智能武器等。剛開始學習是總覺得指令語句太過復雜,怎麼也記不住,這時只能多練、多記,剛開始連一個最簡單的控制一盞小燈的亮滅的程序都不會寫,只能抄寫別人做成功的程序,一遍一遍的寫,直到能熟練的獨自將程序寫出來,從簡單的入手,逐步的積累,對單片機就會有新的認識,能夠自己獨立的寫一些小的程序,能夠將小的程序結合到一起,拼接成較為復雜一些的程序。剛接觸KEIL時確實很讓人頭疼,使用 KEIL不會建項目、不會使用實驗板。遇到困難要一件件攻克,不會建項目,就到教學視頻里找,仔細看一下,做幾次就懂了。然後可以參考已經成功的程序,抄過來,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎麼一回事,無論寫大程序還是小程序,要做的工序不會差多少,總得建個項目,再配置一下項目,然後建個程序,加入項目中,再寫代碼、編譯、生成HEX,刷進單片機中、運行。

我的英文得到了提高,自己也愛上了單片機,下面是我學習單片機中的一些經驗總結:

1. 萬事開頭難,要勇敢的邁出第一步。開始時候是有點難度,但不要為自己找借口,要勇敢的邁出第一步,以後的路就會慢慢地順起來了。

2. 知識點用到才學,不用的暫時放在一邊。這個世界,如果每樣東西都學,自己就會太累,但這並不是說有些東西可以不學,像在哪裡都可以用到的時序圖等就要好好的研究一下了。

3. 程序不要光看別人的而不寫,一定要自己看了別人怎麼寫後自己再寫一遍,最好這時什麼都不要參考,憑自己的印象去寫,遇到錯誤時再好好看下,可以收到事半功倍效果。

4. 必須學會掌握調試程序的方法,自己的程序遇到錯誤時一定要自己慢慢的把它調出來,有些人寫好程序後發現問題,就到q群里或論壇上發表帖子,等著別人來回答,這對自己是沒有好處的。

5. 找到解決問題的思路比找到代碼更重要,世界上的事情千變萬化,就像不可能找到兩片相同的葉子一樣,世界上也找不到使用同一個代碼的項目,所以要學會自己分析問題,找出解決問題的方案。

6. 開動腦筋,運用多種方法,不斷優化自己的程序,這是鍛煉你寫程序能力的一個很好的方法,這對於提高元器件執行的效率也是很重要的。

7. 看別人的代碼,學習別人的思路。這是一種很有用的方法,可以把別人的思路與自己的相比較,發現自己的優缺點。

8. 著重培養自己解決問題的能力,而不是看自己寫過多少代碼或者做過什麼,這個最好的方法就是做一些具體的項目,從中培養自己解決問題的能力。

9. 嘗試寫一下綜合應用的程序,這個是很重要的,因為獨立可以的綜合在一起後並不一定可以正常工作。

10. 如果有可能,多學習一下計算機專業的課程,例如數據結構,畢竟單片機與程序的設計也是不能分開的,這是一個綜合的科目。

11. 面對一個新的項目,要先自己想下怎麼做,而不是單單地找別人的代碼,這是很重要的,因為只有這樣做,自己才能獨立去思考一個新的東西,也更有可能創造出一個更好的程序。 有時候單片機的學習很單調,有些知識學起來很抽象,不容易理解,只能慢慢適應,一邊學習理論知識,一邊編寫程序,將程序刷入單片機進行調試,通過這種方式才能更快速的學習單片機。同事也會從學習中體會成功的喜悅。

好了,自己的單片機的學習心得也就這么幾句,若有不對的地方,請多包涵,也願學習單片機的人能學有所成。

單片機工作總結2

作為一個剛剛從事單片機工作不久的我來說,對於單片機我了解了一段時間,但總感覺無從入手,理論性的東西看了幾遍也不會把它用到實處,通過這次彩燈控制實驗,我也對單片機有了一定的了解。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?以前看學長做的流水燈我還不知道原理,現在總算清楚了。

在短短的幾周工作時間里,真的學了很多,對我來說,編程是個問題,但我知道這是任重而道遠的。我上的第一節課是關於流水燈左右循環移動在實驗箱上的實現,這個程序老師教了但還是搞不懂,後來通過同學之間相互探討,終於理解了,最重要的還是C語言沒學好,二進制轉換為十六進制是很普通的但我還是不會,現在已經掌握了。『紙上得來終覺淺,絕知此事要躬行。』在短暫的學習過程中,我深深感覺到自己在實際應用中的專業知識的匱乏,總以為自己還可以,一旦接觸到實際,才知道自己知道的是多麼少,這時才真正領悟到「學無止境」的含義。

「千里之行,始於足下。」這是一個短暫而充實的話。每看懂一個程序自己試著學人家編,去修改,去記錄,終於能略懂,這確實讓人深有體會。興趣是最好的老師,這樣才能堅持,要在以後積累很多經驗。主要肯不恥下問,那就會學到很多東西。最後一句:基礎很重要,實踐也同樣重要。必須要有學習單片機的熱情,這樣才能學好單片機。謝謝老師幾周以來的指導。

單片機工作總結3

經過一周的課程設計,我收獲頗多,有深刻的心得體會。實訓讓我們受益匪淺。首先是關於單片機方面的。我們學到了許多關於單片機系統開發的知識,從最開始選題到最後的結題,更使我們得到了充分的鍛煉。其次,它讓我體會到了什麼才是teamworkspirit。一如:團隊管理的經驗、團隊意識的提升和協調能力等等,這些都會讓我們終身受益。

通過此次課程設計,使我更加扎實的掌握了有關電子線路單片機方面的知識,在設計過程中雖然遇到了一些問題,但經過一次又一次的思考,一遍又一遍的檢查我終於找出了問題所在,也暴露出了前期我在這方面的知識欠缺和經驗不足。實踐才能出真知,實踐才是檢驗真理的唯一標准,唯有通過親自動手製作,才能令我們掌握的知識不再是一些紙上談兵的東西。

在這次的課程設計中,我們遇到了很多困難,過程很艱難,但是我們都克服了,這是對我們自己的肯定。我們不斷發現錯誤,不斷改正,不斷領悟,不斷獲取。我們也曾灰心,也曾茫然,也曾不知所措,從一開始的自信滿滿,到最後的緊張繁雜,所有的這些都令我們回味無窮,這已經成為了我們人生的一個寶藏。我想今後的學習和工作也是這樣的,汗水見證著成功,我想十年過後,但我們都已經走入了社會,在某個陽光明媚的夏日,午後醒來,突然想起大學經歷的時候,最先映入腦海里的就是這門課程吧,就是這些為了一個共同的目標,相互合作,共同奮斗的日子吧。

不可否認,單片機是一門比較難的專業學科。但是經過這一學期的學習,我們覺得單片機這門課很好,讓我們在設計中掌握課程,具有很強的實用性。在社會上,單片機也應用極其廣泛。通過這次課程設計,我掌握了常用元件的識別和測試;熟悉了常用儀器、儀表;了解了電路的連線方法;以及如何提高電路的性能等等。我相信在接下來的日子裡,我會更深刻地去研究它,發掘它。

在這次的實訓里,我覺得過得很充實。實訓,不僅培養了我們獨立思考、動手操作的能力,在各種其它能力上也都有了提高。更重要的是,在實驗課上,我們學會了很多學習的方法。而這是日後最實用的,真的是受益匪淺。要面對社會的挑戰,只有不斷的學習、實踐,再學習、再實踐。這對於我們的將來也有很大的幫助。以後,不管有多苦,我想我們都能變苦為樂,找尋有趣的事情,發現其中珍貴的事情。汗水,是我們努力的過程,更是成功的使者。它是希望的凝聚。

回首此次實訓,我們真的學到了很多很多。鞏固了以前所學過的知識,將理論與實際結合起來,不斷提高自己的實際動手能力和獨立思考的能力,並學會去使用知識。當然不僅僅是這些課本上的知識,更重要的是一些課本上沒有但是也很重要的知識,像是團隊合作精神等。當我們都已經走入了社會,在某個陽光明媚的夏日,午後醒來,突然想起大學經歷的時候,回憶起這些泛著汗水的時光的時候,定然會被我們的團隊感動。

成功後會很喜悅,但過程一樣令我們回味無窮。此次設計也讓我明白了思路即出路,學問學問,有學必問。只要認真鑽研,動腦思考,動手實踐,就沒有弄不懂的知識。親歷親為,親手實踐才是硬道理。希望這樣的實訓能夠繼續下去,並不斷地前進,幫助更多的學生更好地學習單片機,並能夠在使用中發現它的無窮魅力!

單片機工作總結4

從剛開始接觸單片機,到現在已經有4年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,lpc2138,pic16f887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然後將其用於項目中的過程,對於如何學習一款單片機,自己做了如下的總結。

大家都知道,51單片機是最容易入門的,不僅因為其編程簡單,更重要的是網上的資料非常豐富。所以一般學習單片機開發的都將51單片機作為入門開發的首選。我學習51單片機的時候是採用這樣的一個步驟進行學習的:

第一步(熟悉的過程):買了一款51單片機開發板,然後就開始了我的學習之旅,剛開始的時候沒有去看視頻教程,而是對著一本實驗教材進行學習,那本實驗教材的名字記不清楚了,但是其內容就是圍繞單片機的led燈進行控制,將51單片機內部的各個功能部件全部都使用到了,這樣就能使我在很短的時間內,通過控制led燈的亮、滅熟悉了51單片機的內部的各種資源,這時對51單片機也就沒有感到陌生了。所以,個人覺得,學習單片機,要從實驗入手,先熟悉單片機再說,開發語言開始使用的是c語言。

第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,當時,我看的是郭天祥十天學會單片機的視頻教程,因為這個教程從基礎到復雜的編程慢慢深入,講的比較的全面,而且也生動,所以那一階段,也是我學習單片機進步最快的階段,每次聽課的時候,按照上面的實驗,以及課堂上面調試程序時出現的一些問題,自己認真的在電腦上進行調試,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了視頻教程之後,後面又對基礎的知識進行了下補習,主要是看單片機原理性的教材,因為有些細節性的東西還是要從教材上面獲得。

第三步(項目實戰的階段):學習單片機的時候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行項目實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於單片機的`液體點滴監控系統。做這個系統時,就將以前單片機所學的知識,做了一個綜合的應用,包括有lcd1602控制,串口的控制等。

經過以上三個步驟的學習之後,對於51單片機的開發基本上就算入門了。而對於其他類型的單片機,如飛思卡爾單片機,lpc2148arm7單片機,pic16f887等,雖然每個系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟體等差別,所以有了51單片機的開發基礎之後,學習其他單片機所採用的方法就是一個差異化的學習,學習各種單片機不同的地方,這樣,就能很快的熟悉一款新的型號的單片機。

如在學習pic16f887這個系列的單片機時,我首先做的工作不是去閱讀數據手冊,而是先拿著demo代碼,在編譯軟體中編譯、鏈接、生成hex文件,然後將其下載到開發板中跑起來,這個過程主要就是學習其軟體的基本操作,有了這個基礎之後,就能自己進行編程、測試。之後就是熟悉其編程的模式,所謂其編程模式,就是寄存器的控制,中斷程序的編寫,熟悉了這個操作,也就能控制其他的功能模塊了,如串口的控制、i2c硬體控制器的控制。這些基本的開發熟悉了之後,接下來便是學習差異的部分,例如pic單片機c語言中,其堆棧深度不能超過8級,超過了之後,將會使得程序出現跑飛的現象。而且內存的分配完全要靠自己來控制,分成了4個bank的數據,bank0,bank1,bank2,bank3等。這些就是每個系列單片機所獨有的一些東西,這些東西需要詳細的了解,因為它們可能為你的編程帶來很大的便利。

以上就是我學習單片機的總結,如果大家有更好的學習方法,希望大家能夠提出來,一起討論,共同進步。

單片機系統學習總結[篇2]

人的一生是一個不斷學習、不斷成長的過程。轉眼間,研究生的學習生涯結束了,走上新的工作崗位。回頭看看,發現自己不知不覺已經走過了五年的單片機學習之旅。

在20xx年最初接觸單片機的時候,在我心中覺得51就是單片機,單片機就是51,根本不知道還有其他單片機的存在。那時候老師只教會了我們匯編語言,根本不知道用c語言也可以進行單片機開發。幸運的是,我加入了單片機興趣小組,在老師的指導下,做了一系列實驗,有「基於ds18b20的溫度採集系統」、「有基於164的移位寄存器的燈光控制系統」、「有步進電機和直流電機的控制系統」。這時候我才發現,這是學習單片機的一個最好途徑——在實踐中領悟理論,用理論指導實踐。在上課的整整一個學期中,雖然老師講得很詳細,但是大部分概念都是到了實際動手做東西的時候才弄明白的。而且在經歷了迷惑之後再搞清楚,印象就特別深刻。直到現在我對那些概念和介面都非常清晰。其實我也很慶幸學習和使用了兩年多的匯編語言。由於有這些鍛煉,我對單片機底層結構和介面時序就弄得很清楚。在使用c語言開發的時候,優化代碼和處理中斷也就不會太費勁。我覺得,雖然現在絕大部分單片機開發都使用c語言,甚至有些公司還推出了圖形化編程的工具,這樣對於項目的開展從時間上快了很多,在管理上也規范了不少,但是從學習和想深入掌握單片機精髓的角度來說,還是需要熟練掌握匯編語言的使用。

機會總是青睞於有準備的人。也許有了前面一段時間的理論和實踐的積累,我才慢慢得到了一些參加科技競賽和參與科研項目的機會。在參加第一屆浙江省機械設計競賽的時候,我們設計的由多單片機系統協調控制的「月球車」機器人奪得了唯一的一個特等獎。這個競賽給我最大的收獲是我對單片機的認識改變了,它不再僅僅是一門學科了,它是一個可以讓你的創意得到充分發揮的平台。後來參與了「基於視頻分劃技術的鋼捲尺自動切零位機」、「電能表渦杠渦輪嚙合深度檢測系統」、「基於公共電話網的水表集抄數據路由器」、「高精度電感微位移測量系統」等一些實際的項目。在這些過程中,我發現只是精通單片機技術還不能很好的解決問題。體會最深的是,單片機只有融合到各種應用領域中,才能展現它的最大活力。然而單片機僅僅是一個工具而已,要做好單片機系統還需要各種應用領域的專業知識的支持。例如,在「基於視頻分劃技術的鋼捲尺自動切零位機」中,就需要搞清楚全電視信號的時序,弄明白鋼捲尺切零位機的工作原理,懂得怎麼利用疊加在視頻信號中的橫豎線來進行刻度的瞄準等。沒有這些專業知識,就算單片機技術再厲害也不可能做好這個項目。脫離應用背景的單片機開發,就像一個沒有靈魂的軀體一樣。

隨著arm的出現,我曾經認為,8位單片機可能在32位單片機的沖擊下就此走進歷史,可是很快就認識到我是錯誤的。隨著技術的革新和時間的推移,各大單片機公司紛紛將單片機朝著片上系統這個方向發展,集成了現在各種流行的技術和常用的模塊。我相信,在當前國內和國外的這個市場中,8位單片機應用的市場仍然是充滿生機,活力無限。在市場的不斷變化和技術的不斷更新過程中,8位單片機也會順應潮流不斷革新。

從我五年走過的路來看,單片機學習的過程應該是一個循序漸進、不斷學習、不斷積累的過程,可以分為三個階段。

第一階段:掌握開發單片機的必備基礎知識。首先是熟練掌握單片機的基本原理,其實各家各門的單片機其基本結構和原理都差不多,特別是共有的知識需要好好理解和掌握。例如,內核結構、內存分配、中斷處理、定時計數、串列通信、埠復用等一些最基本的概念和原理。除此之外,我們還需要具備模擬電子、數字電子、c語言程序開發知識以及原理圖和pcb設計等一些技能。在進行系統開發的時候,進行原理設計、pcb布板、程序編寫、系統聯調這些工作都是在所難免的。

第二階段:在掌握好一款單片機原理和應用的基礎上,開始學習其他各家單片機的獨有技術,學不了那麼多也要多了解了解。同時盡可能多地掌握單片機的一些外圍器件和常用電路,以備不時之需。有時候客戶要求低成本,那我們只好選用合鈦、義隆、華邦等這類那個島晶元;如果客戶要求工業級的性能,那麼我們就得從pic、nec、飛思卡爾、nxp等這些歐美和日式單片機中選擇;若要進行功耗的開發,選用msp430系列應該有一定優勢;在進行測量儀器設計的時候,c8051和ac842這類數模混合晶元就顯得比較方便。所以說最好每個類型的單片機都會一兩款,在實際項目選型中可以更加靈活。另外,要注意平時的技術積累。比如,在項目開發過程中將一些常用的介面程序和控制演算法整理成模塊或者函數,在其他的項目開發中,有同樣或者接近的需求時馬上就可以使用,又快又好。

第三階段:在實際的項目開發過程中,不斷深化單片機應用技術,不斷積累應用行業的專業知識。例如,我完成了「高精度電感微位移測量系統」,就會對電感感測器的測量機理和信號特性、測量電路的設計、電磁兼容處理、誤差修正和非線性處理等測控方面的專業技術有很深的認識。以後碰到類似的項目時,很多東西就可以直接利用了。有了扎實的單片機應用相關的基礎知識,並且熟悉掌握了幾款不同類型單片機的開發方法,再結合實際的應用背景,那麼就可以隨心所欲,設計出性能最優、結構最合理的單片機應用系統。這是我最大的奮斗目標,我覺得這也應該是單片機應用的最高境界吧。

在這五年的學習中,有感慨、有遺憾、有憧憬、有希望,更重要的是我對單片機應用這個領域充滿熱情。由於才疏學淺、涉世未深,希望能與行業里的各位老師多多交流,不斷學習,不斷成長。

單片機系統學習總結[篇3]

基於本人學習單片機的痛苦經歷,特編寫本教程,以此獻給廣大的單片機初學者,希望您能從中受益。

作者提示:本教程乃最通俗易懂之單片機教材也,如果您還是看不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_*

拿到這本教程您首先就會想,什麼是iap教學法?是不是一種什麼全新的教學方法?當然不是,我可沒有那麼大的本事,其實這只是我杜撰的一個新名詞,意思就是inapplicationsprogram(在應用中編程),當然這只是針對單片機教學,說法是否正確,還得您說了算。

至於為什麼要提這種說法,那我倒想說幾句。大家都知道,學習電子技術是一件非常無聊和枯燥的事情,為什麼會有這種想法,就是因為我們傳統的教學方法只重理論而忽略了實踐,要一個人記住那些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的學習了一些電子基礎知識。

接下來我們應該進一步掌握些什麼知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可不是一件容易的事,倒不是因為單片機很難學,而實在是我們身邊很難找到一本專為單片機入門者而編寫的教材。翻一下傳統的單片機教材,都好象是為已經懂單片機的人而寫的,一般總是以單片機的結構為主線,先講硬體原理,然後是指令,接著講軟體編程,再是系統擴展和外圍器件,最後舉一些實例(隨

,很少涉及單片機的基礎知識,如果按照此種學習方法,想便說一點:很多書中的實例都是有錯誤的)

進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。孰不知,單片機不象模擬電路和數字電路那樣,只要搞懂了電路原理,再按照產品要求設計好相應的電路就可以了。它是一種以簡單的硬體結構,復雜而有靈活的軟體系統來完成設計的通用性產品,不同的設計者只會使用其不同的功能,幾乎沒有人會把它的全部指令都使用起來,所以學習使用單片機只能靠循序漸進的積累,而不可能先把

。它全部掌握了再去做產品開發(當然天才就例外了*_*)

基於以上原因,本人想嘗試一種全新的單片機教學方法,打破傳統的循序漸進式的教學方法,以單片機的應用為藍本,結合基本的工業控制系統和實踐工作中的具體應用,不分先後順序,將各條指令貫串於一個又一個的實驗中,通過所見即所得的實驗來講解各種指令的編程方法,順便講解相關的基本概念,使您盡快地熟悉單片機應用的基本步驟,掌握軟體編程的基本方法。

如果您學完了就能成為單片機的入門者,完全可以進行一般產品的開發;下冊部分是單片機應用的提高部分,主要學習單片機的系統擴展(比如:rom和ram存儲器的擴展,並行口的擴展,串列口的擴展,a/d和d/a與單片機的介面)以及相關開發工具和軟體的使用(包括kellc51的應用與調試技巧,硬體模擬器的使用)等等,如果您學完了下冊部分,那就得恭喜您成為了單片機開發的高手了,不過單片機的技術是在不斷的發展和提高的,您也不要太驕傲哦!

為了盡量把最新的單片機知識和應用成果收錄進我們的教程,希望您能不吝賜教,共同來努力把我們的教程不斷的改進和完善。還是那句題外話,技術是靠不斷的積累和交流才會進步的,固封自守只會更加落後。

由於時間和精力的限制,我還是希望在您學習本教程之前,自己先熟悉一點相關的電子技術知識,特別是數字電路基礎,這對您學習中碰到的相關概念會有很大的幫助。

;

㈢ 學PIC單片機需要學什麼軟體

需要:
1、MPLAB IDE,這個是所有PIC單片機的開發平台,目前最高版本是8.83,這個軟體是免費的,可以到MICROCHIP公司網站上下載;
2、PICC,這個是PIC 16系列單片機的C編譯器,建議直接學C,所以要用它,這個是收費軟體,但網上可以找到的最高版本破解版,版本是9.8,上網可以找到;
3、PROTEUS,這個是目前世界上最好的單片機的模擬軟體,因為大多數人沒有實驗條件,用這個最好,這個也是收費軟體,網上可以找到破解片,目前最高版本是7.8;
4、要買相應的書,沒有書你會學得很辛苦,建議你買北航出版社的《PIC16系列單片機C程序設計與PROTEUS模擬》,這本書介紹上面的所有東東,有很多實例,包括線路圖和程序。

㈣ pic單片機timer0怎麼用啊

實例說明:

假設時鍾周期為4MHZ,每隔50MS點亮LED,每隔50MS滅掉LED。這樣的程序要如何做到呢。

這50ms如何做到.

1,得到指令周期

4MHz/4=1MHz

1/1MHz=0.0000001s=1us

2,得到預分頻

定時器定時的最大時間要超過這50mS,所以預分頻器要選擇256

預分頻X256=最大的定時時間。256X256=65536us=65.536ms 大於50ms

3, 計算定時器初始值

(定時器最大值+1)- (定時時間/預分頻)=定時器的初始值。

255+1=256

50000/256=195.3125

256-195.3125=60.6875 四捨五入 定時器初始值為61.

設置相關的寄存器。

OPTION_REG寄存器中我們一般需要設置三處。

PS<2:0>設置用來設置預分頻預分頻范圍從2 ~256

PSA設置成0 講預分頻器分配給Timer0模塊

TMR0CS設置成0 內部指令周期時鍾。

實常式序:

/*開發環境 MPLAB X IDE 型號PIC16LF1823*/

#include<pic.h>
__CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF

&BOREN_ON&CLKOUTEN_OFF&IESO_ON&FCMEN_ON);
__CONFIG(PLLEN_OFF&LVP_OFF) ;
#define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 輸出電平的時候,直接控制LATA5執行速度更快,因為傳給RA5的數據最終也是傳給LATA5才執行的*/
void init_fosc(void)
{
OSCCON= 0x68;//時鍾設置為4MHz
}
void init_gpio(void)
{
PORTA = 0;
LATA = 0;
ANSELA = 0;
TRISAbits.TRISA5=0; //RA5口設置成輸出 用來控制LED
}
void init_timer0(void)
{
OPTION_REG=0x87; //預分頻為256
}
int main(int argc, char** argv)
{
init_fosc();
init_gpio();
init_timer0();
TMR0IF=0;//清除TMR0中斷標志位
TMR0=61;//設置中斷初始值61
while(1)
{
if(TMR0IF==1)//定時時間到了嗎??
{
LED = ~LED;//改變LED的狀態
TMR0IF=0;//清除TMR0中斷標志位
TMR0=61;//設置中斷初始值61為下次50ms定時做准備

}


}


}


㈤ 想學習PIC編程要先學習什麼

基礎--PLC指令,這兩者必須要學的

㈥ pic 單片機 參考文獻

PIC8位單片機的基本組成

PIC系列8位單片機為適應各種不同的用途,有多種型號可供選用。但是,盡管PIC單片機有不同的檔次和型號,但其最基本的組成則大同小異。因此,在這里先從型號PIC16F84的單片機入手,討論其基本組成。PIC16F84是雙列直插式(DIP)塑料封裝,最大時鍾頻率可達4MHz。現為Microchip公司的獨家產品,關於其具體技術指標,可查閱該公司的產品手冊,或在網址www.microchip.com上查找。
PIC16F84單片機的引腳排列可參閱本期本版的16F8X系列簡介一文。本文的附圖是該器件的主要組成部分。PIC16F84雖然體積不大,但仍然是一個完整的計算機,它有一個中央處理器(CPU)、程序存儲器(ROM)、數據寄存器(RAM)和兩個輸入/輸出口(I/O口)。
和其它品種的單片機一樣,CPU是此單片機的「首腦」,它從程序存儲器中讀取和執行指令。在取指和執行時,還可同時對數據寄存器進行取數(前已介紹PIC16F84採用哈佛結構)。由附圖可明顯看出,程序存儲器和數據存儲器各有一條匯流排與CPU相連。有些CPU將CPU內部的寄存器與其外部的RAM是分開管理的,但PIC單片機不是這樣,它的通用數據RAM也歸為寄存器,稱為File寄存器。在PC16F84中,有68個位元組的通用RAM,其地址為0CH~4FH。
除了通用數據寄存器外,還有一些專用寄存器,其中最常用的工作寄存器為「W寄存器」。CPU將工作數據存放在W寄存器中。寄存器W的作用與其它單片機中的「累加器A」相似。此外,還有幾個專用寄存器,它們分別以某種方式控制PIC的運作。
PIC16F84的程序存儲器是由Flash(閃速)EPROM構成,它可用電來記錄和擦除,而在斷電時,仍可保留其內容。PIC單片機有些型號的程序存儲器用的是EPROM,需要用紫外線來擦除;還有一些型號是一次性可編程(OTP)的產品(一經編程便不能再擦除)。
PIC16F84有兩個輸入/輸出口,即A口和B口。每個口的每個引腳可單獨設定為輸入或輸出。各個口的位是從0開始編號的。當A口為輸出方式時,其第4位(即RA4)為開路集電極(或開路漏極)輸出,而B口及A口其它各位為常規的全CMOS驅動電路。這些功能必須注意,否則會在編程時出錯。CPU對每個埠都按一個位元組8位來處理,但A口只有5位引腳。
PIC輸入與COMS兼容,所以PIC輸出可驅動TTL或CMOS邏輯晶元。每個輸出引腳可以流出或吸入20mA電流,即使一次只用了一個引腳亦是如此。

摘 要:在介紹空調室內機控制器功能的基礎上,從軟體的規劃著手,詳細介紹了室內機軟體的總體設計過程、詳細設計過程以及編碼的實現,並在此基礎上重點給出了空調室內機運行模式的特點和結合這些特點如何用MPLAB集成開發環境去實現各運行模式。
關鍵詞:空調;控制器;單片機;軟體設計
單片機軟體實現是單片機系統應用的重點,他是在硬體設計基礎上實現程序設計的重要環節。單片機程序設計一般包括以下幾個步驟:軟體規劃、流程圖編制、代碼編寫。由於單片機系統具有軟硬體緊密結合的特點,因此在基於某種單片機系統的軟體開發時,應充分了解該系統實現的硬體環境,同時也應該在系統設計與硬體設計階段,對軟體設計有一個大體的規劃。因此,本文在介紹室內機控制器功能的基礎上,重點討論如何用軟體實現該室內機的功能。

一:PIC16C71的問題和對策

問題1:在晶元進入低功耗睡眠模式 (SLEEP MODE)後,其振盪腳將處於浮態,這將使晶元的睡眠功耗上升,比原手冊中的指標高了10μA以上。

對策:在振盪腳OSC1和地 (GND)之間加一10MΩ電阻可防止OSC1進入浮態,且不會影響正常振盪。

問題2:RA口方向寄存器TRISA目前只是一個4位寄存器,對應於RA0~RA3,並非手冊中所言是8位寄存器,對應於RA0~RA4,即RA4並沒有相應的輸入/輸出方向控制位,它是一個具有開極輸出,施密特輸入I/O腳。

對策:避免使用對RA口進行讀-修改-寫指令(如BCF RA, BSF RA),以免非意願地改變RA4的輸入/輸出狀態。對於RA口的操作應採用寄存器的操作方式(MOVWF RA)。

問題3:當CPU 正在執行一條對INTCON寄存器進行讀-修改-寫指令時,如果發生中斷請求,則讀中斷常式會被執行二次。這是因為當中斷請求發生後INTCON寄存器中的GIE位會被硬體自動清零(屏蔽所有中斷),並且程序轉入中斷常式入口(0004H)。當GIE位被清零後,如果這時正好CPU在執行一條對 INTCON的讀-修改-寫指令(如BSF INTCON等),則 GIE位還會被寫回操作重新置1,這樣會造成CPU二次進入中斷常式。

對策:如果在程序中需對INTCON的某一中斷允許位進行修改,則應事先置GIE=0

,修改完成後再恢復GIE=1。

…………..

BCF INTCON, GIE

BSF INTCON, ×××

BSF INTCON, GIE

…………..

圖1

問題4:當晶元電壓VDD加電上升時間大於100μs時,電源上電復位電路POR和電源上電延時器PWRT可能不能起正常的作用,而使晶元的復位出現不正常(即PC≠復位地址)。一般在這種情況下建議不要採用PWRT。

對策:如果VDD上升時間很長,此晶元一般需較長的電源上電延時,可靠的電源上電延時方法如圖1所示,在MCLR端外接復位電路。

問題5:如果在A/D轉換中用RA3作為參考電壓輸入,則最大滿量程誤差(NFS)要大於手冊中的指標。實際情況如表1所示。

表1 A/D滿量程誤差表

VREF源
(5.12V) 滿量程誤差
(NFS)
VDD <±1 LSb
RA3 <±2.5 LSb

二:PIC16C84的問題和對策

問題1:PIC16C84的內部的E2PROM數據存儲器的E/W周期偶爾會超出最大值(10ms)。

對策:在程序中應該用EECON1寄存器中的WR位來判斷寫周期的完成,或是啟用「寫周期完成中斷」功能,這兩種方法可保證寫入完成。

問題2:VDD和振盪頻率的關系如表2所示。

VDD 振盪方式 最高頻率
2V-3V RC, LP 2MHZ,200MHZ
3V-6V RC,XT,LP 4MHZ,200MHZ
4.5V-5.5V HS 10MHZ

㈦ PIC單片機看門狗

樓上沒用過PIC的就不要胡亂猜測發言。PIC10、12、16、18、24、32雖然是Microchip公司的PIC系列單片機。但結構卻是完全不相同的:
首先,PIC10/PIC12/PIC16是pic八位中檔單片機,匯編指令只有三十多條,沒有乘法除法指令(用匯編寫乘除,只能循環做移位計算),其晶元的引腳數從六個引腳的到六十四個引腳的不等,引腳多的所集成的外設功能也多……第二PIC18系列也是八位的PIC單片機,較前者高檔點,集成的功能也多比如USB、CAN匯流排等等。匯編指令有八十多條,和前者不同,帶乘法除法指令和硬體乘法器。
第三PIC24系列的是16位單片機, 近七十條匯編指令。有硬體乘法器和硬體除法器(有了它就可以在一個指令周期內完成一個17*17或32/16的演算法)。內部集成的存儲器較大。還有一種晶元上面沒提到,就是dsPIC系列,這其實就是集成了DSP(數字信號處理)功能的PIC24單片機,在進行某些信號控制的時候需要用到它,但它功耗較大。
第四種就是PIC32,它是三十二位的單片機,它出現的目的就是MICROCHIP公司為了用它來盒和ARM做市場競爭的。簡單點說,它跟ARM是一個級別的。
雖然MICROCHIP公司的PIC晶元都是用RICS指令結構,但其內部結構不盡相同,如果你要學PIC單片機,建議先學PIC16F887,這款晶元幾乎包括了PIC10~16系列中的大部分外設。推薦這個系列的最好先學匯編指令。先把這個學懂了,然後再用PIC10~16系列的其他晶元,你只需要從Microchip的網站上下載Datasheet仔細閱讀以下和PIC16F887的區別就可以(指令都一樣的)。而PIC18和PIC24和dsPIC系列的,你需要在原有的基礎上,多看DATAHSEET,主要是看指令集的區別。這三個系列的可以直接學C,但也要了解一下匯編。
而PIC32,現在它還比不過ARM晶元,市場前景很難估計,也沒有幾個企業用這晶元的。不建議你現在學這個。
你的第一個問題,看門狗用了預分頻的話,那定時器0就不能再用預分頻了。有的PIC晶元還帶有看門口自己獨用的分頻器,這樣的話可以給TIMER0讓出一個預分頻來(比如PIC16F886)。 看門狗如何設成最優,那隻能是從你的指令里計算了,還必須根據你的單片機所運行的環境來看,如果電磁環境很惡劣,最好是較短時間就設置一調喂狗指令。

啊,寫了一大堆,如果有不明白的可以網路HI問我。 除了PIC32和PIC10外,其他系列的我都用過一些晶元

㈧ PIC單片機常用模塊與綜合系統設計實例精講的目 錄

第1章 PIC單片機概述 2
1.1 PIC單片機的特點 2
1.2 PIC單片機的系列產品 5
1.2.1 基本級PIC系列單片機 6
1.2.2 中級PIC系列單片機 6
1.2.3 高級PIC系列單片機 8
1.3 PIC16F87X單片機的硬體
1.3 結構 10
1.3.1 PIC16F87X的主要特色 10
1.3.2 PIC16F87X的內部結構 11
1.3.3 PIC16F87X的引腳功能 16
1.4 本章小結 21
第2章 PIC單片機的CPU和中斷系統 22
2.1 PIC單片機的CPU 22
2.1.1 系統配置 22
2.1.2 振盪器配置 24
2.1.3 復位 26
2.1.4 中斷 33
2.1.5 監視定時器WDT 33
2.1.6 睡眠模式 35
2.1.7 在線調試 37
2.1.8 程序代碼保護 37
2.1.9 用戶標識碼 37
2.1.10 在線串列編程技術ICSP(In-Circuit Serial Programming) 37
2.2 中斷系統 38
2.2.1 中斷的基本概念 38
2.2.2 PIC16F87X的中斷源及中斷邏輯 39
2.2.3 與中斷相關的寄存器 44
2.2.4 CPU對中斷的處理 48
2.3 本章小結 51
第3章 PIC單片機的指令系統 52
3.1 PIC匯編語言指令格式 53
3.2 PIC16F87X指令集 54
3.3 偽操作指令 60
3.4 定址方式 64
3.5 本章小結 67
第4章 PIC單片機的開發工具 68
4.1 PIC系列單片機的模擬器 68
4.2 PIC系列單片機的編程器及開發套件 73
4.3 MPLAB-IDE 7.4版集成開發環境 77
4.3.1 MPLAB-IDE 7.4概述 77
4.3.2 MPLAB-IDE 7.4工程創建實例 80
4.3.3 幾個常用的菜單項 83
4.4 本章小結 85 第5章 I/O輸入輸出模塊 88
5.1 44掃描鍵盤設計實例 88
5.1.1 實例說明 88
5.1.2 鍵盤知識介紹 88
5.1.3 硬體電路設計 90
5.1.4 軟體設計 90
5.1.5 實例總結 93
5.2 直接驅動LED顯示 94
5.2.1 實例說明 94
5.2.2 LED數碼管知識 94
5.2.3 硬體電路設計 94
5.2.4 軟體設計 95
5.2.5 實例總結 96
第6章 LCD液晶顯示模塊:溫度測量系統設計實例 97
6.1 實例說明 97
6.2 DS18B20與YMSC-G12864
6.2 IDYEWWD 98
6.2.1 溫度感測器DS18B20 98
6.2.2 液晶顯示屏YMSC-G12864I-DYEWWD 100
6.3 硬體電路設計 103
6.4 軟體設計 105
6.4.1 溫度感測器DS18B20的軟體設計 105
6.4.2 液晶顯示屏YMSC-G12864-IDYEWWD的軟體設計 109
6.5 實例總結 116
第7章 定時器模塊:用定時器控制埠輸出實例 117
7.1 實例說明 117
7.2 定時器Timer0介紹 117
7.3 硬體電路設計 118
7.4 軟體設計 119
7.5 實例總結 120
第8章 A/D模塊:壓力測量系統設計實例 121
8.1 實例說明 121
8.2 A/D轉換相關知識 121
8.2.1 A/D轉換的原理說明 121
8.2.2 單片機相關寄存器介紹 122
8.2.3 A/D轉換操作對時間的要求 124
8.3 硬體電路設計 125
8.4 軟體設計 125
8.4.1 程序設計流程 126
8.4.2 程序代碼說明 126
8.5 實例總結 128
第9章 存儲器模塊:基於I2C對EEPROM 24C02的讀寫 129
9.1 實例說明 129
9.2 24C02與I2C介面介紹 129
9.2.1 24C02簡介 129
9.2.2 PIC16F877 I2C介面簡介 130
9.2.3 I2C匯流排規則 130
9.3 硬體電路設計 131
9.4 軟體設計 132
9.5 實例總結 136
第10章 比較與檢測模塊 137
10.1 利用CCP模塊控制繼電器 137
10.1.1 實例說明 137
10.1.2 定時器TMR1介紹 137
10.1.3 硬體電路設計 139
10.1.4 軟體設計 140
10.1.5 實例總結 141
10.2 脈沖頻率的檢測設計 141
10.2.1 實例說明 141
10.2.2 定時器TMR2介紹 141
10.2.3 硬體電路設計 142
10.2.4 軟體設計 143
10.2.5 實例總結 144
10.3 電壓測量模塊 144
10.3.1 實例介紹 144
10.3.2 硬體電路設計 145
10.3.3 軟體設計 145
10.3.4 實例總結 147
第11章 步進電機模塊 148
11.1 實例說明 148
11.2 步進電機驅動工作原理 148
11.3 硬體電路設計 149
11.4 軟體設計 150
11.4.1 軟體設計流程 151
11.4.2 程序代碼說明 152
11.5 實例總結 153
第12章 信號發生模塊 154
12.1 PWM實現DA轉換 154
12.1.1 實例說明 154
12.1.2 PWM模塊架構 155
12.1.3 硬體電路設計 156
12.1.4 軟體設計程序 157
12.1.5 實例總結 158
12.2 正弦波發生器 158
12.2.1 實例說明 158
12.2.2 TLC5620介紹 158
12.2.3 硬體電路設計 160
12.2.4 軟體程序設計 160
12.2.5 實例總結 162
第13章 數字PID控制模塊 163
13.1 PID控制概述 163
13.2 位置式PID控制演算法 164
13.3 增量式PID控制演算法 165
13.3.1 增量式控制演算法流程 166
13.3.2 數字PID控制演算法的改進 167
13.4 數字PID控制演算法代碼 168
13.5 實例總結 170
第14章 直流數控穩壓電源模塊 171
14.1 實例說明 171
14.2 設計思路分析 171
14.2.1 D/A轉換器DAC0832 172
14.2.2 步進0.1V實現 172
14.3 硬體電路設計 172
14.3.1 模數轉換電路 172
14.3.2 電流放大電路 173
14.3.3 人機介面電路 173
14.3.4 穩壓電源電路 174
14.4 軟體設計 174
14.4.1 程序設計流程 174
14.4.2 程序代碼說明 174
14.5 實例總結 177
第15章 網路通信與數據傳輸模塊 178
15.1 USART串列通信模塊實例 178
15.1.1 實例說明 178
15.1.2 列印機並口介紹 178
15.1.3 硬體電路設計 180
15.1.4 軟體設計 181
15.1.5 實例總結 182
15.2 I2C匯流排通信模塊實例 182
15.2.1 實例說明 182
15.2.2 I2C匯流排介紹 183
15.2.3 硬體電路設計 187
15.2.4 軟體設計 188
15.2.5 實例總結 195
15.3 SPI匯流排通信模塊實例 195
15.3.1 實例說明 195
15.3.2 SPI模塊相關的寄存器 195
15.3.3 硬體電路設計 197
15.3.4 軟體設計 198
15.3.5 實例總結 200
15.4 通信模塊:CAN匯流排模塊實例 200
15.4.1 實例說明 201
15.4.2 設計思路分析 202
15.4.3 硬體電路設計 206
15.4.4 軟體程序設計 207
15.4.5 實例總結 212
15.5 通信模塊:USB數據傳輸模塊實例 212
15.5.1 實例說明 212
15.5.2 設計思路分析 213
15.5.3 硬體電路設計 219
15.5.4 USB固件程序設計 220
15.5.5 實例總結 225 第16章 智能手電筒開發實例 228
16.1 系統功能說明 228
16.2 系統工作原理與實現方法 229
16.2.1 系統的供電 229
16.2.2 燈珠和LED點亮或熄滅的實現 229
16.2.3 按鍵掃描電路和A/D轉換電路圖原理 230
16.2.4 數據的顯示 231
16.2.5 蜂鳴器驅動和背光源驅動 235
16.2.6 電池的自動充電實現 236
16.3 軟體設計與代碼分析 237
16.3.1 軟體設計 237
16.3.2 主程序 239
16.3.3 中斷子程序 244
16.3.4 時鍾處理子程序 245
16.3.5 2ms到處理子程序 247
16.3.6 A/D中斷子程序 252
16.4 實例總結 255
第17章 汽車應急啟動器系統開發實例 257
17.1 系統功能說明 257
17.2 系統硬體框圖 258
17.3 系統各模塊工作原理與實現方法 259
17.3.1 系統電源部分 259
17.3.2 蜂鳴器驅動與系統檢測按鍵掃描電路 259
17.3.3 燈管驅動與燈管按鍵掃描電路 260
17.3.4 發光二極體驅動與內部電池電壓按鍵掃描電路 261
17.3.5 液晶顯示器(LCD)驅動電路 261
17.3.6 內部電池與外部電池連接正確與否檢測電路 264
17.3.7 應急啟動控制電路 264
17.3.8 輪胎壓力檢測電路 265
17.3.9 輪胎氣泵啟動控制與輪胎
17.3.9 充氣按鍵掃描電路 267
17.3.10 加鍵與減鍵掃描電路 268
17.3.11 外部電池檢測按鍵掃描電路 269
17.3.12 電池電壓檢測與電池充電電路 269
17.4 軟體設計與代碼分析 270
17.4.1 主程序 271
17.4.2 氣泵處理程序 280
17.4.3 燈管處理程序 280
17.4.4 外部電池檢測程序 282
17.4.5 系統檢測程序 283
17.4.6 時鍾中斷程序 284
17.4.7 內部電池充電程序 288
17.5 實例總結 289
第18章 無功功率補償控制器設計實例 290
18.1 系統功能說明 290
18.2 系統硬體框圖 292
18.3 系統各模塊工作原理與實現方法 292
18.3.1 系統的供電 292
18.3.2 按鍵掃描電路 293
18.3.3 電流和電壓相位差檢測電路 294
18.3.4 電流和電壓的A/D轉換電路 297
18.3.5 八段數碼管和LED指示燈電路 298
18.3.6 十路電力電容驅動電路 298
18.3.7 EEPROM的驅動電路 300
18.4 軟體設計與代碼分析 301
18.4.1 初始化、欠流判斷和開機按鍵掃描程序 301
18.4.2 檢測電力電容容量程序 308
18.4.3 檢測功率因數程序
18.4.3 (主程序) 310
18.4.4 參數設置程序 323
18.5 實例總結 325

㈨ 單片機的學習方法

從剛開始接觸單片機,到現在已經有3年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,LPC2138,PIC16F887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然後將其用於項目中的過程,對於如何學習一款單片機,自己做了如下的總結。
大家都知道,51單片機是最容易入門的,不僅因為其編程簡單,更重要的是網上的資料非常豐富。所以一般學習單片機開發的都將51單片機作為入門開發的首選。我學習51單片機的時候是採用這樣的一個步驟進行學習的:
第一步(熟悉的過程):在網上找學習資料,在網上看了很多。印像最深的要數王雲老師的雲龍51單片機視頻教程,因為這個教程從基礎到復雜的編程慢慢深入,邊講邊寫代碼,講的比較的全面,而且也生動,所以那一階段,也是我學習單片機進步最快的階段,這時對51單片機也就沒有感到陌生了。通過視頻讓我知道了該怎樣學習單片機,學習單片機,要從實驗入手,先熟悉單片機再說,開發語言開始使用的是C語言比匯編更好理解。
第二步(進階的過程):有了第一步的基礎之後,接下來的便是進階的過程,買了一款51單片機開發板,然後就開始了我的學習之旅,每次聽課的時候,按照上面的實驗,以及課堂上面調試程序時出現的一些問題,自己認真的在電腦上進行調試,並分析產生故障的原因,讓我有了一定的開發基礎。在看完了視頻教程之後,後面又對基礎的知識進行了下補習,主要是看單片機原理性的教材,因為有些細節性的東西還是要從教材上面獲得。圍繞單片機的LED燈進行控制,通過控制LED燈的亮、滅,熟悉了51單片機的內部的各種資源,這樣就能使我在很短的時間內,將51單片機內部的各個功能部件全部都使用到了。
第三步(項目實戰的階段):學習單片機的時候,雖然也編寫了一些程序,但是那些都是一些很小的模塊程序,並沒有起到綜合應用的目的,所以在這之後,我和另外一個學習硬體的同學一起組成了一個小的團隊,進行項目實踐開發,那時候,實驗室的條件比價好,有很多的器件可以自己使用。所以,我們就設計了我們的第一個作品,基於單片機的液體點滴監控系統。做這個系統時,就將以前單片機所學的知識,做了一個綜合的應用,包括有LCD1602控制,串口的控制等。
經過以上三個步驟的學習之後,對於51單片機的開發基本上就算入門了。而對於其他類型的單片機,如飛思卡爾單片機,LPC2148 ARM7單片機,PIC16F887等,雖然每個系列的功能不一樣,但是最基本的編程思想還是一樣的,不同的可能就是編譯器,程序下載的軟體等差別,所以有了51單片機的開發基礎之後,學習其他單片機所採用的方法就是一個差異化的學習,學習各種單片機不同的地方,這樣,就能很快的熟悉一款新的型號的單片機。

閱讀全文

與PIC單片機基礎與實例進階相關的資料

熱點內容
松餅pdf 瀏覽:667
萌新如何獲得命令 瀏覽:138
java設計模式及代碼 瀏覽:7
命令恢復資料庫 瀏覽:192
linuxoracle11gr2 瀏覽:972
攜程APP簽到在哪裡 瀏覽:389
dwg解壓方法 瀏覽:422
雲伺服器數據溝通 瀏覽:849
android地圖定位源碼 瀏覽:632
鴻蒙系統如何解除app安裝限制 瀏覽:497
阿里雲伺服器應用鏡像選哪個 瀏覽:343
win7策略更新命令 瀏覽:299
android源碼分析之設計模式 瀏覽:294
qq郵箱上的文件怎麼解壓在電腦上 瀏覽:504
業余學python是如何掙錢的 瀏覽:416
方舟伺服器連接超時顯示什麼 瀏覽:226
php繪制emoji 瀏覽:35
安卓桌面工具怎麼刪除 瀏覽:54
外六角螺絲套頭演算法 瀏覽:838
程序員特殊招數是什麼意思 瀏覽:351