導航:首頁 > 操作系統 > 單片機交通燈ad原理圖

單片機交通燈ad原理圖

發布時間:2024-09-19 07:38:55

1. 怎麼學習單片機外圍器件

單片機學習心得體會
一:

時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機綜合課程設計也在一周內完成了。

俗話說「好的開始是成功的一半」。說起課程設計,我認為最重要的就是做好設計的預習,認真的研究老師給的題目,選一個自己有興趣的題目。其次,老師對實驗的講解要一絲不苟的去聽去想,因為只有都明白了,做起設計就會事半功倍,如果沒弄明白,就迷迷糊糊的去選題目做設計,到頭來一點收獲也沒有。最後,要重視程序的模塊化,修改的方便,也要注重程序的調試,掌握其方法。

雖然這次的課程設計算起來在實驗室的時間只有三天,不過因為我們都有自己的實驗板,所以在宿舍里做實驗的時間一定不止三天。

硬體的設計跟焊接都要我們自己動手去焊,軟體的編程也要我們不斷的調試,最終一個能完成課程設計的勞動成果出來了,很高興它能按著設計的思想與要求運動起來。

當然,這其中也有很多問題,第一、不夠細心比如由於粗心大意焊錯了線,由於對課本理論的不熟悉導致編程出現錯誤。第二,是在學習態度上,這次課設是對我的學習態度的一次檢驗。對於這次單片機綜合課程實習,我的第一大心得體會就是作為一名工程技術人員,要求具備的首要素質絕對應該是嚴謹。我們這次實習所遇到的多半問題多數都是由於我們不夠嚴謹。第三,在做人上,我認識到,無論做什麼事情,只要你足夠堅強,有足夠的毅力與決心,有足夠的挑戰困難的勇氣,就沒有什麼辦不到的。

在這次難得的課程設計過程中我鍛煉了自己的思考能力和動手能力。通過題目選擇和設計電路的過程中,加強了我思考問題的完整性和實際生活聯系的可行性。在方案設計選擇和晶元的選擇上,培養了我們綜合應用單片機的能力,對單片機的各個管腳的功能也有了進一步的認識。還鍛煉我們個人的查閱技術資料的能力,動手能力,發現問題,解決問題的能力。並且我們熟練掌握了有關器件的性能及測試方法。

再次感謝老師的輔導以及同學的幫助,是他們讓我有了一個更好的認識,無論是學習還是生活,生活是實在的,要踏實走路。課程設計時間雖然很短,但我學習了很多的東西,使我眼界打開,感受頗深。

二:

熟悉單片機的人都知道,要學好單片機可不是一件容易的事,倒不是因為單片機很難學,而是很難找到一本專為單片機入門者而編寫的教材。翻一下身邊的單片機教材,都好像是為已經懂單片機的人而寫的,一般先介紹單片機的硬體結構和指令系統,再是系統擴展和外圍器件,順便講一些應用設計(隨便說一下,很多書中的電路設計已經過時,並且有些程序還是錯誤的)。如果按照此種學習方法,想進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。學習使用單片機只能靠循序漸進的積累,下面就本人學習單片機的過程和經驗做簡要介紹。

首先,學習單片機要有一定的基礎:電子技術方面要有數字電路和模擬電路等方面的理論基礎,特別是數字電路;編程語言要求匯編語言或C語言。要想成為單片機高手,建議初學者首先學習匯編語言,學的差不多的時候,轉入C語言學習。盡管匯編語言屬於低級語言,編程效率低,但是較C語言具有目標代碼簡短,佔用內存少,執行速度快等優點,更重要的是能使初學者盡快熟悉單片機的內部結構,並能對其進行精確的控制。匯編語言在單片機教材裡面都會涉及,不需要單獨購買教材和學習。C語言是一門學問,有很多專業書籍來講解,並且對我們今後的編程生涯有絕對的好處,因此要深入學習,千萬不要自以為看了某某的視頻教程就以為掌握了C語言,那隻是C語言的一部分。在這里給大家推薦一本單片機C語言程序設計參考書,馬忠梅等著,北京航空航天大學出版社出版的《單片機的C語言應用程序設計》,要求C語言基礎。如果沒學過C語言,建議學習清華大學譚浩強編寫的C語言程序設計,這本書寫的不錯,通俗易懂。

其次,是單片機教材選擇。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?剛開始時,也許你看不明白,但這並不要緊,因為你還缺乏實踐經驗。現在單片機應用廣泛,因此各個廠家分別推出了自己的單片機,按內部結構體系派系分:51系列、PIC系列、AVR系列、摩托羅拉等等……我們沒必要每樣都學!因為他們的編程方法和調試過程以及內部指令結構有一定的相似,只要學精通一款就OK了!尤其是用C語言編程,就幾乎不用分什麼派系,但是我們要選擇一款有代表性的知識范圍廣,並且入門容易,書籍多。一般來說,MCS-51系列單片機已經得到廣泛的普及和應用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學習時只需要一本就足夠拉。書名:《新編MCS-51單片機應用設計》,哈爾濱工業大學出版,作者:張毅剛;書名:《單片機原理及應用》,高等教育出版社,作者:張毅剛等;書名:《單片機高級教程:應用與設計》,北京航空航天大學出版社,作者:何立民。相關教材還有很多,在這不一一列舉。

然後,是開發工具和開發環境的選擇。選擇一塊合適的學習板,對於初學者來說一般無力接受,如果經濟條件允許、本人又對單片機很感興趣、有從事相關工作意向的話,鼓勵大家購買。隨便說一句,學習板功能要求太全,具有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價格比較高。模擬器對單片機初學者來說既是那麼耳熟,同時又有些陌生,這主要是因為市場上傳統的模擬器價格都在千元以上,對經濟不是非常寬裕的人來說是不小的開支。同時模擬器是用來提高調試程序效率的,也不是非需不可的,如果你沒有模擬器,遇到程序出錯的時候,只好苦思冥想,反復燒寫調試。隨便推薦一下,學林電子的51tracer模擬器,有興趣的朋友可關注一下。有了單片機教程板以後,先看下指導說明書,熟悉一下學習板,開卷有益。以後就得靠自己多練習了,將學習板與電腦連接好,先學會開發軟體的使用,然後從最簡單的流水燈實驗做起,按照你自己的意願控制流水燈,當你完成時,你會發現這是多麼愜意的事情。太好玩了,你會覺得這不是在學習,而是在玩,當你發現,單片機能夠按照你編寫的程序工作時,你會覺得非常興奮,比做什麼事情都開心,這樣你會慢慢迷上單片機,真的。不少網站上說搞定某個實驗,就恭維的告訴你一聲」恭喜你,學會了」自己學會了單片機,這有點可笑,這只能說明你算過關了,對單片機有了一定了解和會使用它了。但是單片機能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設計出許多意想不到的產品.因此除了入門外,精通可千萬別輕易說出口。

最後,在熟練掌握和應用後,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。最終,自己完全設計具有個人風格的電路,產品,這樣你就是單片機高手拉。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。時下多家電子類的報刊雜志如:《電子製作》《無線電》《電子報》《電子世界》都開設了詳細的單片機教程專欄,對於想學習單片機的朋友來說幫助很大,可以說現在的單片機教程環境是最好的,有網路,有書籍,有報刊雜志,還有視頻教程,元件的采購方面也非常充足,相關的器材又多有便宜。如果每天能抽出兩小時的時間去學習,快的一個月,慢的三個月就入門拉。

以下是一些經驗:

(1)學習單片機沒有捷徑,別指望兩三天就學會,要堅持不懈,重在積累。

(2)別崇拜高手,別相信天才,大部分人都不是天才(相信你也不是)!

(3)單片機是一門應用性和實踐性很強的學科,要多動手,多做實驗。

(4)要學會參考別人的程序,減少自己琢磨的時間,迅速提高自己的編程能力。

(5)碰到問題可以藉助網路來搜尋答案和對自己有幫助的問題,可以大大減少你的開發時間。

(6)要多交一些朋友,多交流。技術是靠不斷的積累和交流才會進步的,封閉自守只會更加落後。

希望大家多上網看看前輩的經驗,可以少走很多彎路。最後,祝願大家早日成為單片機高手。

三:

我從大二起,就去實驗室去學習。在這里與老師和一些電子設計愛好者的交流中,我學到了更多的專業知識。我從此走上了學習嵌入式的道路。這豐富了我的大學生活,是我在大學的最大收獲。

我是從學習單片機開始我的嵌入式學習的。

我接觸單片機的方式是在圖書館看書,我看了很多本書,但是大多數書寫的大同小異。書裡面講解的單片機的寄存器我看了很多遍也沒有看懂。我都不知道改怎麼學習它了。慢慢的我悟出了一個道理:電子的學習實踐是最重要的,這樣,我在大二的時候就買了一塊學習板,我一邊看視頻一邊仿照視頻的程序,自己編寫程序,在很短的時間里,我的單片機有了很大的提高。那些難懂的寄存器通過編寫程序,我慢慢的弄懂了它們,現在回頭看去,原來它還是很簡單的。

用哪種編程語言最適合我們。

我看過的單片機的書籍,大部分的程序都是匯編寫的。它是一種基於機器硬體的低級語言,對於我們這些只學習過C語言的人來說,非常難懂。我認為剛開始學習單片機沒有必要一定要從學習匯編編程開始。我學習單片機就是用C語言編程的,我並不會匯編語言,也沒有妨礙我把單片機學好。

我的單片機學習心得。

很多人說,學單片機最好先學匯編語言,以我的經驗告訴大家,絕對沒有這個必要,初學者一開始就直接用C語言為單片機編程,既省時間,學起來又容易,進步速度會很快。在剛開始學單片機的時候,千萬不要為了解單片機內部結構而浪費時間,這樣只能打擊你的信心,當你學會編程後,自然一步步就掌握其內部結構了。

單片機的學習實踐。

單片機提高重在實踐,想要學好單片機,軟體編程必不可少。但是熟悉硬體對於學好單片機的也是非常重要的。如何學習好硬體,動手實踐是必不可少的。我們可以通過自己動手做一個自己的電子製作,通過完成它,以提高我的對一些晶元的了解和熟練運用它。這樣我們就可以多一些了解晶元的結構。我相信,你完成了一個屬於自己的電子製作,你的單片機水平就會有一個質的提高。

這就是我學習單片機的心得體會,希望給單片機的愛好者學好單片機有所幫助。

四:

在學校學習期間我有幸的參加了學校的單片機學習小組,在小組里我了解了什麼是單片機,單片機有哪些用途,利用單片機可以實現哪些功能來方便人們的生活如交通燈,時鍾,還有手機中,電子玩具等等,它們裡面都有單片機的存在來實現某種功能。通過在單片機小組里的學習我簡單總結了幾點心得和體會:

單片機學習心得體會6篇心得體會,學習心得

第一:萬事開頭難,要勇敢的邁出第一步,不要總找借口說沒有學習過就總推脫。凡事都有第一步可以先可簡單的來,然後可以逐步的向深層次學習。可以從建項目開始,然後可以找一個簡單的小程序先把它敲進單片機內然他運行起來,感覺一下單片機的運行,讓自己了解單片機整個運行。

第二:對於知識點,學過的要掌握牢固,對於沒有學的和暫時用不到的先不用學習。比如:小燈得點亮就沒有用到中斷可以先不用看。這樣可以避免知識過多記不住的麻煩。對於程序這里的知識點不能只停留在理論層次上,一定要結合著程序進行學習這樣才能掌握的很牢靠,當用到哪裡的知識點不記得了可以去看書,對於用不到的可以不去看。

第三:程序不要只是看別人得,一定要自己寫過才是自己的。開始不懂可以參考別人的,看看每一句代表著什麼意思,能夠實現什麼現象。明白之後自己再重新寫一遍,你會發現看別人的能懂到自己寫的時候很困難。當你自己能寫出來的時候說明你真懂了。

第四:一定要學會程序調試的方法。有時候把程序寫完瞭然後運行時不能實現理想的現象。這時有人就暈了不知該怎麼辦,然後就去問別人。當別人找出問題出在哪裡時就會恍然大悟。其實當遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人。自己一定要掌握解決問的方法和思路。

第五:在學習初期看別人的代碼,學習別人的思路這個很有用。通過看別人的代碼特別是有多年編程經驗的人的程序,可以迅速提高自己的編程水平。也可以結合著別人的手法,與自己的想法結合在一起寫出更好的程序。但是切記將學習變成抄襲,不能認為抄襲別人的你就學會了,這樣只能使你退步。第六:面對一個新項目時,自己一定要多想想,不要急著去看別人是怎麼寫的。有的人看到新項目時就去找別人的然後抄一小段,自己在寫幾句,放在一起完成任務,雖然省時間但不利你的學習。當你遇到一新項目時你應該先想一下程序的構架,想想如何來完成。然後自己動手去寫,當你遇到實在是沒辦法解決的問題時再去請教別人,看他是怎麼處理的,學習他的方法。這樣起碼你自己想過了,有自己的思路不會受到別人的影響,這樣更容易提高自己。

在單片機的學習開始時感覺很吃力,在不斷的學習過程中慢慢的對單片機產生了些好感,而且在編寫程序過程中吃力的感覺慢慢的淡了。在這其中基礎知識掌握牢固是非常重要的,然後在學習過程中要學會提問題和自己解決問題,慢慢的對於學習單片機你也會產興趣。雖然在開始學習單片機時感覺很青澀,但只要堅定自己的學習信心,在付出持之以恆的努力,我相信自己能進一步加深對單片機的了解,在單片機的學習道路上走得更遠!

2. 跪求單片機課程設計 要完全呦

題 目:單片機課程設計報告
目 錄
一、設計目的
二、程設計具體要求
三、單片機發展簡史
四、8051單片機系統簡介
五、8051單片機內部定時器/計數器簡介
六、程序電路
七、程序流程
八、程序代碼
九實驗總結-要求寫出完整的論文以及心得體會
十參考資料及小結
原 文 : 一.目的
1. 進一步熟悉和掌握8051單片機的結構及工作原理。
2. 掌握單片機的介面技術及相關外圍晶元的外特性,控制方法。
3. 通過課程設計,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。
4. 通過實際程序設計和調試,逐步掌握模塊化程序設計方法和調試技術。
5. 通過完成一個包括電路設計和程序開發的完整過程,使學生了解開發一單片機應用系統的全過程,為今後從事相應打下基礎。
二.課程設計的體要求
a) 原理圖設計。
1. 原理圖設計要符合項目的工作原理,連線要正確,端了要不得有標號。
2. 圖中所使用的元器件要合理選用,電阻,電容等器件的參數要正確標明。
3. 原理圖要完整,CPU,外圍器件,擴器介面,輸入/輸出裝置要一應俱全。
b) 程序調計
1. 根據要求,將總體項能分解成若干個子功能模塊,每個功能模塊完成一個特定的功能。
2. 根據總體要求及分解的功能模塊,確定各功能模塊之間的關系,設直出完整的程序流程圖。
c) 程序調試將設計完的程序輸入,匯編,排除語法錯誤,生成*OBJ文件。
1. 按所設計的原理圖,在實驗平台上連線,檢查無誤。
2. 將匯編後生成的*OBJ文件傳送到實驗裝置的,執行該程序,檢查該程序、是否達到設計要求,若未達到,修改程序,直到達到要求為止,
d) 說明書
1. 原理圖設計說明
簡要說明設計目的,原理圖中所使用的元器件功能及在圖中的作用,各器件的工作過程及順序。
2. 程序設計說明
對程序設計總體功能及結構進行說明,對各子模塊的功能以及各子模塊之間的關系作較詳細的描述。
3. 畫出工作原理圖,程序流程圖並給出程序清單。
目前,單片機已廣泛應用到圖民經濟建設和日常生活的許多領域,成為測控技術現代化必不可少的重要工具。下面介紹一本單片機課程設計的好書,介紹了很多實例有興趣者可以去買哦,價格不貴【圖書目錄】 - 8051單片機課程設計實訓教材
第1章 緒論
1.1 課程設計所需硬體工具
1.2 專題製作所需軟體使用工具
1.3 8051程序開發測試平台
1.4 使用免費匯編編譯
1.5 89CXX燒錄模擬器操作實例
1.6 自製8051微電腦單板IO51
1.7 IO51操作實例
1.8 以Windows98 工作模式結合DOS模式來執行
第2章 8051單片機課程設計中的基本軟硬體設計
2.1 8051各種基本的硬體設計
2.2 工作指示燈LED
2.3 8051延遲時間計算
2.4 基本按鍵設計
2.5 建立8051通信介面
2.6 簡易8051調試界面
2.7 壓電喇叭測試
2.8 鍵盤掃描
2.9 掃描控制七段顯示器
2.10 LCD介面控制
2.11 8051定時器模式的工作
2.12 定時器模式0測試
2.13 定時器模式1測試
2.14 定時器模式2測試
2.15 以定時器產生各種頻率的聲音
2.16 以定時器演奏—段旋律
第3章 帶單片機的LCD時鍾
第4章 定時鬧鈴
第5章 定時鬧鈴LCD
第6章 音樂倒數定時器
第7章 密碼鎖控制
第8章 可存儲式電子琴
第9章 8051八音盒
第10章 紅外線遙控器研究
10.1 紅外線遙控器動作原理
10.2 如何觀察紅外線遙控器信號
10.3 紅外線遙控器解碼功能說明
第11章 紅外線家電遙控
第12章 8051伺服機控制
12.1 伺服機工作原理及改裝
第1.3章 8051伺服車控制
13.1 功能說明
13.2 伺服車組裝及實驗
第14章 紅外線遙控伺服車
14.1 功能說明
14.2 遙控伺服車組裝及實驗
14.3 控制電路
14.4 控製程序
第15章 無線電家電遙控
15.1 功能說明
15.2 遙控編碼解碼控制
第16章 8051聲控設計
16.1 聲控基本知識介紹
16.2 系統組成
16.3 聲控模塊介紹
16.4 基本控制電路
16.5 基本控製程序
16.6 聲控課題設計

附錄H 如何使用KEIL 8051開發系統匯編和編譯程序及調試
附錄I EPM89 890XX燒錄模擬器特性
附錄J 1051 8051 10控制板特性
附錄K VCMM聲控模塊特性
附錄L IO51控制板完整電路圖
附錄M 需要從網站下載的相關資料的使用說明
附錄N 硬體介面板版權聲明及如何訂購
附錄A 簡易穩壓電源製作
附錄B 本書實驗所需軟硬體工具及零件
附錄C 8051內部控制寄存器介紹
附錄D 8051指令集
附錄E 如何自製8051單板
附錄F 課程設計報告參考內容
附錄G IO51控制板窗口版驅動程序使用說明

3. 求dac0832與51單片機介面電路圖,

我做的濾波器

#include<reg51.h>

#include"math.h"

#defineN25

#definePI3.1415926

sbitda_wr1=P3^6;

sbitda_cs=P2^7;

voidInputWave();

floatFIR();

voidda0832();

floatfHn[N]={0.0,0.0,0.001,-0.002,0.01,-0.09,

-0.018,0.049,-0.02,0.11,0.28,0.64,0.28,

-0.11,-0.02,0.049,-0.018,-0.009,0.01,

-0.002,-0.002,0.001,0.0,0.0

};

floatfXn[N]={0.0};

floatfInput,fOutput;

floatfSignal1,fSignal2;

floatfStepSignal1,fStepSignal2;

floatf2PI;

inti;

floatFIN[256],FOUT[256];

intnIn,nOut;

main(void)

{

nIn=0;nOut=0;

f2PI=2*PI;

fSignal1=0.0;

fSignal2=PI*0.1;

fStepSignal1=2*PI/30;

fStepSignal2=2*PI*1.4;

while(1)

{

//fInput=InputWave();

InputWave();

//FIN[nIn]=fInput;

//nIn++;nIn%=256;

fOutput=FIR();

FOUT[nOut]=fOutput;

nOut++;

if(nOut>=256)

{nOut=0;da0832();

}

}

}

/*floatInputWave()

{

for(i=N-1;i>0;i--)fXn[i]=fXn[i-1];

fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;

fSignal1+=fStepSignal1;

if(fSignal1>=f2PI)fSignal1-=f2PI;

fSignal2+=fStepSignal2;

if(fSignal2>=f2PI) fSignal2-=f2PI;

return(fXn[0]);

} */

voidInputWave()

{

inti;

for(i=0;i<=15000;i++)

{

fXn[i]=(sin(PI*2*i/N*15000)+1)*5;

}

}

floatFIR()

{

floatfSum;

fSum=0;

for(i=0;i<N;i++)fSum+=(fXn[i]*fHn[i]);

return(fSum);

}

voidda0832()

{

unsignedchari;

da_cs=0;//da轉換輸出使能標志置位

da_wr1=0;//輸入寄存器的官寫選通信號,表示單片機要傳送數據了

for (i=0;i<255;i++)

P0=FOUT[i];

da_wr1=1;//數據傳送完成,使能鎖存

da_cs=1;

}

4. 51單片機該怎麼學

開發板的話就選 郭天祥的
淘寶上很多的
也不貴

1、熟悉單片機的原理,結構;
2、學好數電,模電,為設計電路打好基礎;
3、熟練使用C語言,多學習別人的程序;
4、對操作系統原理有一定的了解;
5、Protel至少要有點基礎;
6、要實際動手調試電路的能力。

學習單片機的步驟

當前的單片機種類很多,但是 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 .要進行適當投資購買實驗器材及書籍資料
單片機技術含金量高,一旦學會後,給你帶來的效益當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材。另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。一本好的書籍真的很重要,可以隨時翻閱,隨時補充不懂或遺忘的知識。

學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或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招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了
是否可以解決您的問題?

5. 請高人解釋一下集成電路設計中 可編程邏輯器件設計(PLD)和現場可編程邏輯陣列設計(FPGA)和兩者的區別

CPLD(Complex Programmable Logic Device)是Complex PLD的簡稱,一種較PLD為復雜的邏輯元件。
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。

發展歷史及應用領域:
20世紀70年代,最早的可編程邏輯器件--PLD誕生了。其輸出結構是可編程的邏輯宏單元,因為它的硬體結構
設計可由軟體完成(相當於房子蓋好後人工設計局部室內結構),因而它的設計比純硬體的數字電路具有很強的靈活性,但其過於簡單的結構也使它們只能實現規模較小的電路。為彌補PLD只能設計小規模電路這一缺陷,20世紀80年代中期,推出了復雜可編程邏輯器件--CPLD。目前應用已深入網路、儀器儀表、汽車電子、數控機床、航天測控設備等方面。

器件特點:
它具有編程靈活、集成度高、設計開發周期短、適用范圍寬、開發工具先進、設計製造成本低、對設計者的硬體經驗要求低、標准產品無需測試、保密性強、價格大眾化等特點,可實現較大規模的電路設計,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用中小規模通用數字集成電路的場合均可應用CPLD器件。CPLD器件已成為電子產品不可缺少的組成部分,它的設計和應用成為電子工程師必備的一種技能。

如何使用:
CPLD是一種用戶根據各自需要而自行構造邏輯功能的數字集成電路。其基本設計方法是藉助集成開發軟體平台,用原理圖、硬體描述語言等方法,生成相應的目標文件,通過下載電纜(「在系統」編程)將代碼傳送到目標晶元中,實現設計的數字系統。

這里以搶答器為例講一下它的設計(裝修)過程,即晶元的設計流程。CPLD的工作大部分是在電腦上完成的。打開集成開發軟體(Altera公司 Max+pluxII)→畫原理圖、寫硬體描述語言(VHDL,Verilog)→編譯→給出邏輯電路的輸入激勵信號,進行模擬,查看邏輯輸出結果是否正確→進行管腳輸入、輸出鎖定(7128的64個輸入、輸出管腳可根據需要設定)→生成代碼→通過下載電纜將代碼傳送並存儲在CPLD晶元中。7128這塊晶元各管腳已引出,將數碼管、搶答開關、指示燈、蜂鳴器通過導線分別接到晶元板上,通電測試,當搶答開關按下,對應位的指示燈應當亮,答對以後,裁判給加分後,看此時數碼顯示加分結果是否正確,如發現有問題,可重新修改原理圖或硬體描述語言,完善設計。設計好後,如批量生產,可直接復制其他CPLD晶元,即寫入代碼即可。如果要對晶元進行其它設計,比如進行交通燈設計,要重新畫原理圖、或寫硬體描述語言,重復以上工作過程,完成設計。這種修改設計相當於將房屋進行了重新裝修,這種裝修對CPLD來說可進行上萬次。

FPGA是Field Programmable Gate Array的縮寫,即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。

FPGA誕生於1985年,當時第一個FPGA採用2μm工藝,包含64個邏輯模塊和85000個晶體管,門數量不超過1000個,由名為Ross Freema所發明,當時他所創造的FPGA被認為是一個不切實際發明,他的同事Bill Carter曾說:「這種理念需要很多晶體管,並且那時晶體管是非常珍貴的東西。」,所以人們認為Ross的想法過於脫離現實。但是Ross預計:根據摩爾定律(每18個月晶體管密度翻一翻),晶體管肯定會越來越便宜,因此它就越來越常見。在短短的幾年內,正如Ross所預言的,出現了數十億美元的現場可編程門陣列(FPGA)市場。但是可惜的是,他無法享受這一派欣欣向榮的景象,在1989年Ross Freeman就與世長辭了,但是它的發明卻持續不斷地促進電子行業的進步與發展。

我們都知道構成數字邏輯系統最基本的單元是與門、或門、非門等,而他們都是用三極體、二極體和電阻等元件構成,然後與門、或門、非門又構成了各種觸發器,實現狀態記憶,FPGA屬於數字邏輯電路的一種,同樣由這些最基本的元件構成。一個FPGA可以將上億個門電路組合在一起,集成在一個晶元內,打破以往需要用龐大分立門電路元器件搭建的歷史,不僅電路面積、成本大大減小,而且可靠性得到了大幅度的提升。

一般的FPGA內部是由最小的物理邏輯單位LE、布線網路、輸入輸出模塊以及片內外設組成,所謂的最小物理邏輯單元是指用戶無法修改的、固定的最小的單元,我們只能將這些單元通過互聯線將其連接起來,然後實現用戶特定的功能。一個LE由觸發器、LUT以及控制邏輯組成,可以實現組合邏輯和時序邏輯;隨著FPGA集成度的不斷增加,其內部的片內外設也越來越多,內部可集成SRAM、Flash、AD、RTC等外設,真正實現單晶元解決整個系統功能的目的。所以我們所理解的FPGA最底層是一些實實在在的門電路構成,然後由門電路構成最小的物理邏輯單元,然後通過布線層將這些最小物理邏輯單元連接成用戶需要的特定功能,我們所需要控制的是布線層之間的互連開關,這也是我們編程的對象,通過這些開關來改變功能。

當今的FGPA按工藝分主要有SRAM工藝和Flash工藝(工藝是針對它們的編程開關來說的)兩類,SRAM工藝的FPGA最大的特點是掉電數據會丟失,無法保存,所以它們的系統除了一個FPGA以外,外部還需要增加一個配置晶元用於保存編程數據,每次上電的時候都需要從這個配置晶元將配置數據流載入到FPGA,然後才能正常的運行;但是Flash架構的FPGA掉電不會丟失數據,無需配置晶元,上電即可運行,它的特點非常類似ASIC,但是又比ASIC更加的靈活,可以重復編程。在一些小規模的公司或者產品量不是很大的時候往往更傾向於用FPGA來取代ASIC,不僅能夠降低風險,而且能夠降低成本。

1.2 為什麼要學習FPGA?

FPGA從誕生以來,經歷了從配角到主角的過程,從初期開發應用到限量生產應用再到大批量生產應用的發展歷程。從技術上來說,最初只是邏輯器件,現在強調平台概念,加入數字信號處理、嵌入式處理、高速串列和其他高端技術,從而被應用到更多的領域,正因為其飛速的發展,讓更多學FPGA的人看到了希望,其廣闊的前景正是我們選擇的原因之一。

1. 廣闊的發展前景

據市場調研公司Gartner Dataquest預測,2010年FPGA和其它可編程邏輯器件(PLD)市場將從2005年的32億美元增長到67億美元,未來還將有不斷往上增長的趨勢。FPGA及PLD產業發展的最大機遇是替代ASIC和專用標准產品(ASSP),由ASIC和ASSP構成的數字邏輯市場規模大約為350億美元。由於用戶可以迅速對PLD進行編程,按照需求實現特殊功能,與ASIC和ASSP相比,PLD在靈活性、開發成本以及產品及時面市方面更具優勢,所以未來FPGA將會是一個非常有前景的行業。

FPGA由於其結構的特殊性,可以重復編程,開發周期較短,越來越受人們的青睞,它的特點也更接近ASIC,ASIC比FPGA最大的優勢是低成本,但是FPGA的價格現在也是越來越低,例如:Actel的Nano系列更是打破了FPGA的價格屏障,提供超過50種低於1美金的FPGA,在一定程度上已經可以與ASIC相抗衡。

根據當前發展的趨勢,未來的FPGA勢必將會取代一部分ASIC的市場,雖然根據摩爾定律(Moore』s Law):每18至24個月能在相同的單位面積內多擠入一倍的晶體管數,這意味著電路成本每18至24個月就可以減半,但這只是指裸晶(Die)的成本,並不表示整個晶元的成本減半,這是由於晶圓製造更前端的掩膜(Mask)成本、晶圓製造更後端的封裝(也稱為:構裝、包裝)成本、人力成本等都不會隨摩爾定律而變化,反而晶元的成本有上升的趨勢,所以過去許多中、小用量的晶元無法用先進的工藝來生產,對此不是持續使用舊工藝來生產,就是必須改用FPGA晶元來生產……

因此,未來的趨勢告訴我們,FPGA將成為21世紀最重要的高科技產業之一,特別是國內的FPGA市場,更是一個「未開墾的處女地」,抓住現在的機遇意味著為我們將來的產品提供更多的競爭力。

2. 提供更多就業機會
雖然FPGA市場的廣闊,但是FPGA的技術人員是極度地缺乏,其原因是還未得到高校的重視,很多學校都未開FPGA的課程,導致學生畢業後連什麼是FPGA,什麼是Verilog都不知道,失去了很多就業的機會。我們公司(廣州單片機發展有限公司)這三年來跑遍了全國22個城市,每次宣講會場里場外都站滿了人,每個學生都渴望尋找一份好工作的心情由此可見一斑,但通過考試發現懂FPGA和Verilog的學生卻寥寥無幾,盡管我們每年都對招聘FPGA人才寄予了很大的希望,但每次都失望而歸,深深地體會到招聘FPGA開發工程師困難重重。

由此可見在應屆畢業生中熟練掌握FPGA的學生屬於稀缺資源,然而企業為培養FPGA開發工程師無不付出沉重的代價,所以對於在校電類專業的學生來說,這就是打造個人差異化競爭力的機會,事實上只要掌握FPGA就能夠找到一份薪水更好的工作。我們公司每次在考核員工時往往都會特別關注這些「特殊員工」的情況,一般來說這些員工的工作都會比其它崗位高500元,這就是學習FPGA的優勢,但是很多人不曾完全意識到掌握FPGA技術的重要性。

當前受金融危機的影響,對學生的就業更是巨大的考驗,據教育部的統計,2008年,全國普通高校畢業生達559萬人,比2007年增加64萬人,2009年高校畢業生規模達到611萬人,比2008年增加52萬人,如此多的大學生面臨著就業的問題,如果不具備一定的技能,將會淹沒在大學生的潮流之中而找不到理想的工作,而學習FPGA可以幫助學生多一技之長,大大提高就業的機會。

3.具有更大的技術擴展空間
我們都知道,以前IC半導體產業一直是國內比較薄弱的產業,與國外的發展步伐相比還差甚遠,我們所用的IC大部分都來自歐美地區,國內擁有自主產品的IC技術不多,多半需要引進國外先進的IC設計技術,但是自2000年以來,中國大陸的IC設計企業如雨後春筍般迅速涌現,企業數量5年增加了4倍多,2005年已經達到500多家,銷售收入過億元人民幣的設計企業達到17家,其中兩家超過5億元。概括地講,中國的IC設計公司可以分為四類,第一類是國有IC設計公司,一般是承擔政府研發任務的研究所轉制後設立;第二類是由系統廠商的設計部門獨立出來的IC設計公司;第三類是民營IC設計公司,以海歸型為主;最後一類是外資IC設計公司。

所以IC設計也是未來發展的一個重點方向,將會是國家大力扶持的產業之一,而IC的設計人員所必須掌握的是FPGA的技術,在晶元流片之前都是通過FPGA來進行前期的設計驗證,用的語言也是FPGA的設計語言,只是在後端的設計中才用到IC設計的特定技術,所以IC設計人員必定是懂得FPGA設計的人,掌握FPGA的技術是通往IC設計殿堂的必經之路,學習FPGA有助於給我們更大的技術擴展空間。

1.3 怎樣學FPGA?
既然FPGA對我們如此的重要,那對於初學者的我們又應該如何去學呢?學習一樣知識應該有好的老師教導,我們才能更快的掌握,可惜的是大部分的學校未開相關的課程,也缺少相關專業的老師,我們如何能夠找到一個捷徑或方法幫助我們學會這么極具競爭力的技術,讓我們通向成功的殿堂呢?筆者覺得應該需要有步驟,有目的、循序漸進地掌握相關的技術,我們公司從原來的1人的FPGA團隊,發展到如今30人左右的FPGA團隊,有著一些成長的經歷和經驗,也希望在此能與大家一起分享。

1. 掌握FPGA編程語言
在學習一門技術之前我們往往從它的編程語言開始,就如學習單片機一樣,我們從C語言開始,掌握了C語言,開發單片機就不是什麼難事了。學習FPGA也是如此,FPGA的編程語言有兩種:VHDL和Verilog,這兩種都適合用於FPGA的編程,VHDL比Veirlog早出現,由美國的軍方組織開發,在1987年成為了IEEE的標准;Verilog則是由民間一家普通的公司私有財產轉化而來,基於其優越性,在1995成為了IEEE標准。VHDL在歐地區應用的較為廣泛,而Verilog在中國、美國、日本、台灣等地應用較為廣泛,筆者比較推崇的是Verilog,因為它非常易於學習,很類似於C語言,如果具有C語言基礎的人,只需要花很少的時間便能掌握Verilog,而VHDL較為抽象,學習需要一段較長的時間。

如果是學生,學習Verilog最好的時期是在大學二年級,與數字電路同步學習,不僅能夠理解數字電路實現的方式,更能通過FPGA將數字電路得以實現,筆者發現華中科技大學康華光教授主編的《電子技術基礎(數字部分)》非常好,可以說是一本與時俱進的教材,在其中介紹了Verilog語言,並且在每一章的最後一節都介紹了如何使用Verilog建模實現相關數字電路的內容,非常適合大二學習FPGA的學生,本書同樣以《電子技術基礎(數字部分)》為背景,並與該書進行配套同步,在它的基礎上進行了升華和改進,源於它而又高於它,所以也可以同步學習。大三、大四的學生還可以進一步將Verilog進行強化,學習北京航天航空大學的夏宇聞教授編寫的《Verilog數字系統設計教程(第二版)》可以比較全面地、詳細地掌握Verilog的基本語法,對大二學習的內容進一步的鞏固和強化。

如果是其他初學者,可以直接藉助《Verilog數字系統設計教程(第二版)》和本書即能對Verilog的語法進行全面的掌握。這是學習FPGA的第一步,也是必不可少的一步。

2. 一個易學易用的硬體平台是成功的一半
除了學習編程語言以外,更重要的是實踐,將自己設計的程序能夠在真正的FPGA里運行起來,這時我們需要一個硬體平台的支持,然後以前的FPGA硬體平台的價格讓很多的初學者望而卻步,上千元的價格並不是一般的初學者(特別是學生)能夠承受的,而且不易學習。針對這樣的現狀,也是為了回饋社會,幫助更多想學FPGA又沒有經濟能力的愛好者,廣州周立功單片機發展有限公司開發了一套低成本的FPGA開發套件,售價僅99元,即使是學生也是完全能夠承受得起,這款開發套件可以說是根本不賺錢,我們不僅要提供硬體電路,我們還得配套提供一系列教程資料。

過去的一年來,我們一共投入了4位開發工程師圍繞EasyFPGA030開展工作,翻譯全部開發工具軟體技術資料,先自己吃透然後再根據自己的理解、實踐和多次討論,將技術資料通俗化,並且錄制了第一個「Actel FPGA快速入門視頻教程」供初學者免費下載,便於初學者快速入門,當第一版做出來銷售1000套之後,才發現初學者的焊接經驗不足,於是又開始設計第二版,這就是目前大家在網站上見到的一體化EasyFPGA030開發學習板。為了能夠帶給大家最准備、最權威的知識,我們還請了國內第一個EDA創始人之一的夏宇聞教授給我們進行Veirlog的培訓,培訓完後我們製作一系列Veirlog視頻教程和PPT供初學者學習,同樣免費提供給大家。同時,我們和夏老師一起共同合作編寫了本書,目的是希望能夠以最快的速度幫助初學者入門,另外我們還有一個30人的團隊全面的提供FPGA的技術支持和售後服務,解決用戶的後顧之憂。

所以通過EasyFPGA030的平台學習,不僅節約了前期學習的成本,而且該套件詳實的資料使得非常的易用易學,對於初學者來說是一個不可多得的FPGA開發平台。

3. 技術進行鞏固和升華
對於初學者來說,有了一定基礎後,應該將其繼續的鞏固和升華,筆者認為競賽是學生進行驗證所學知識很好的舞台,不僅能夠鍛煉學生的動手能力,而且能夠發揮學生的創造力和想像力。

廣州周立功公司已經成功舉辦了兩屆「Actel杯全國大學生FPGA電子競賽」,參加的隊伍分別是100隊和300隊,每支隊伍都將免費獲得價值1480元的一套FPGA開發套件作為競賽的平台,競賽完後該套件無需退回,而且設置了最高5000元的獎金,這種舉措對公司來說只有投入,很難看到產出,但是我們還堅持做了,主要是想給學生提供施展才華的舞台,讓更多的人了解FPGA,學會FPGA,2009年我們又將啟動了第三屆競賽,將隊伍擴大到1000支,給更多的人提供機會,我們的目標就是要將創新教育實踐活動進行到底,培養出一批又一批適合企業發展的人才。

1.4 小結
綜上所述,我們只有了解了什麼是FPGA,為什麼要學習FPGA,怎麼學習FPGA後,我們才能非常有目的、有計劃的去掌握這門技術,我相信通過我們的共同努力,一定能夠培養出一批又一批優秀的FPGA人員。

6. 《單片機》課程學習總結

《單片機》課程學習總結

篇一:《單片機》課程學習總結

《單片機》這門課程我已經學了一個學期了,在這一個學期的學習過程中,我一開始不怎麼懂得編程,但慢慢的我現在已經不僅會讀程序還會寫程序了。真為自己一個學期來努力學到的單片機知識只是而感到高興。

怎麼學單片機?也常看到有人說學了好幾個月可就是沒有什麼進展。當然,受限於每個人受到的教育水平不同和個人理解能力的差異,學習起來會有快慢之分,但我感覺最重的就是學習方法。一個好的學習方法,能讓你事半功倍,這里說說我學習單片機的經歷和方法。

我覺得學習單片機首先要懂得C語言,因為單片機大多說都是靠程序來實現的,如果看不懂程序或則不懂的編程是很難學會單片機的。學習單片機首先要明白一個程序是怎麼走的,要完全懂得程序每一個步驟的意思。其次要懂得每一條指令的意思,不能盲目地去靠背指令,這是記得不牢靠的,最主要的還是靠了解。學習單片機最主要的對89C51晶元內部結構有全方面的,只要了解了89C51才能知道單片機實現什麼樣的功能和作用,才能對單片機有更深一步的了解。 通過一個學期《單片機》這門課程的學習,我也從中有了不少心

得和體會想和大家分享一下。

萬事開頭難、要勇敢邁出第一步。開始的時候,不要老是給自己找借口,不要說單片機的程序全是英文,自己看不懂。遇到困難要一件件攻克,不懂指令就要勤奮看書,不懂程序就先學它,這方面網上教程很多,隨便找找看一下,做幾次就懂了。然後可以參考別的人程序,抄過來也無所謂,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,知道寫程序是怎麼一回事,無論寫大程序還是小程序,要做的工序不會差多少。然後建個程序,加入項目中,再寫代碼、編譯、運行。必須熟悉這一套工序。個人認為,一塊學習板還是必要的,寫好程序在上面運行一下看結果,學習效果會好很多,模擬器就看個人需要了。單片機是注重理論和實踐的,光看書不動手,是學不會的。

知識點用到才學,不用的暫時丟一邊。厚厚的一本書,看著人頭都暈了,學了後面的,前面的估計也快忘光了,所以,最好結合實際程序,用到的時候才去看,不必說非要把書從第一頁看起,看完它才來寫程序。比如你寫流水燈,完全就沒必要看中斷的知識,專心把流水燈學好就是了,這是把整本書化整為零,一小點一小點的啃。 程序不要光看不寫,一定要自己寫一次。最開始的時候,什麼都不懂,可以抄人家的程序過來,看看每一句是干什麼用的,達到什麼目的,運行後有什麼後果。看明白了之後,就要自己寫一次,你會發現,原來看明白別人的程序很容易,但到自己寫的時候卻一句也寫不出來,這就是差距。當你自己能寫出來的時候,說明你就真的懂了。

必須學會掌握調試程序的方法。不少人寫程序,把代碼寫好了,

然後一運行,不是自己想要的結果,就暈了,然後跑到論壇上發個帖子,把程序一貼,問:為什麼我的程序不能正常運行?然後就等別人來給自己分析。這是一種很不好的行為,應該自己學會發現問題和學會如何解決問題。這就需要學習調試程序的方法,比如KEIL里,可以下斷點啦,查看寄存器內容等等,這些都是調試程序的手段,當你發現你寫的程序運行結果和你想像中不一樣的時候,你可以單步,也可以下斷點,然後跟蹤,查看各相關寄存器內容,看看程序運行過中是不是有什麼偏差,找出影響結果的地方,改正過來。這一個過程非常重要,通過程序的排錯,你可以學到的知識是書上得不到的。

找到解決問題思路比找到代碼更重要。我們用單片機來控制周邊器件,達到我們想到的目的,這是一個題目,而如何寫出一個程序,來控制器件按你想要的結果去運作,這個就是解題的思路。要寫程序,就得先找到解決問題的思路,你學會找出這個解題思路,比你找到代碼更為重要。不少人很喜歡找人家的代碼,有的人甚至有了代碼就直接復制到自己的程序中,可以說,這不是一種學習的態度,無助於你編程水平的提高。

我幾乎不怎麼看人家的代碼,多數時候是看別人的思路,有方框圖最好,沒有的話文字說明也可以。要從代碼中看出別人處理問題的思路,是相當困難的,特別是大型的程序,看起來是非常的累人。所以現在我也明白了,以前讀書時說的程序流程圖很重要,現在算是知道了。當你知道一個問題怎麼去解決了,那麼剩下的只是你安排代碼去完成,這就已經不是什麼問題了。

開動腦筋,運用多種方法,不斷優化自己的程序。想想用各種不同方法來實現同一功能。這是一個練習和提高的過程,一個問題,你解決了,那麼你再想想,能不能換種寫法,也可以實現同一功能,或者說,你寫出來的代碼,能不能再精簡一點,讓程序執行效率更高,這個過程,就是一個進步的過程。很多知識和經驗的獲得,並不是直接寫在書讓你看就可以得到的,需要自己去實踐,開動腦筋,經驗才能得到積累,編程水平才能有所提高。

看別人的程序,學習人家的思路。這個在學習初期是很有用,通過看別人的程序,特別是老師寫出的具有一定水平的程序,可以使自己編程水平得到迅速的提高。同時,也可以結合別人的編程手法,與自己的想法融合在一起,寫出更高水平的程序,從中得到進步。但要注意,切忌將學習變成抄襲,更不是抄襲完了就認為自己學會了,這樣做只會使你退步。

嘗試編寫一下綜合應用的程序。從流水燈學起,到動態掃描,再到中斷,那麼,你可以試試寫一下時鍾這種綜合性應用的程序,不要小看時鍾,要寫好它不是一件容易的事情,它包括了單片機大部分的知識,比如有按鍵(IO讀取)、動態掃描(IO輸出)、中斷等,如何協調好各功能模塊正常工作,才是編程者需要學習的地方,當你單獨寫一個功能的時候,比如按鍵讀取,你可能感覺很容易,因為你的程序什麼也不做,只是讀按鍵。但把它和其它功能混合在一起,如何在整個程序運行中使每一部分都正常工作,這就不是寫一個按鍵讀取這么容易的事情,功能模塊之間有可能會互相影響,比如你需要讓數碼管既能顯示,又要去處理按鍵讀取,怎麼使這兩部分都正常工作,這就是一個協調過程。當你有了這個處理協調能力,你就算是入門了。

著重於培養解決問題的能力,而不是具體看自己編寫了多少程序或者做過什麼。「學單片機重點在於學習解決問題的思路,而不是局限於具體的晶元類型和語言」這一直是我的座右銘,是我學單片機學習單片機之後感悟出來的。真正的能力不是你曾經編寫過多少個可以實現的程序,而應該是:「遇到沒有解決過的問題,能利用自己已學的知識,迅速找到解決問題的方法。」這個才是能力。

面對一個新程序時,多自己開動腦筋,不要急於找別人的程序。

有不少人面對一個新程序時,第一步想到的就是網上找別人寫過的程序,然後抄一段,自己再寫幾句,湊在一起就完成任務,這雖然可能是省時間,但絕對不利你的學習。當你接到一個程序時,應該先自己構思一下整個程序的架構,想想如何來完成。有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數據、變數有一個初步的安排,然後自己動手去寫,遇到實在沒辦法解決的地方,再去請教老師或同學,或看別人是怎麼處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路。如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。

學會提問題。一般來說,學習過程中,你遇上的問題,多數人也有遇上的,所以如果有什麼不懂,你可以去問老師。我覺得學習單片機最主要的要多提問,對於一個自己不是太懂的程序,自己一定要多提問幾遍,這樣不但有利於加深自己的印象還能從中學到不少別人的方法。

經過一個學期我對《單片機》這門課程的學習,不僅讓我懂得了很多程序的編寫,還讓我學到了很多對自己有用的學習方法。總結這個學期來的我自己的學習情況,我覺得自己對編程進步了不少,懂得運用正確的學習方法學習單片機程序,不再去死記硬背指令了。所以我覺得學習要不斷總結學習方法,才能讓自己學習不斷進步。

交通信號燈設計報告

實驗目的: P1口的使用方法,延時程序的編寫

實驗要求:在一個十字路口分為東西南北走向,信號等按以下的狀態順序工作:

(1) 初始狀態0,東西、南北紅燈全亮。延時一定時間;

(2) 狀態1,南北綠燈亮通車,東西紅燈,延時一定時間;

(3) 狀態2,南北綠燈閃爍幾次轉黃燈,東西仍然紅燈,延時一定

時間;

(4) 狀態3,南北紅燈,東西綠燈通車,延時一定時間;

(5) 狀態4,南北仍然紅燈,東西綠燈閃爍幾次轉黃燈,延時一定

時間;

(6) 循環至狀態1,繼續

實驗電路和流程框架圖:

(1) 硬體電路

交通燈實訓設備用最小系統板和信號燈組合而成。

2、軟體編程

若各路口燈亮滅的時間間隔為2s鍾,燈光閃爍時間間隔為0.5s。用軟體延時的方法,晶振頻率12MHz時,一個機器周期為1us。

編寫交通信號燈程序:

編寫主程序,由R7做主程序的計數器,確定調用延時時間為0.5s,從而獲得交通燈的亮滅時間。

篇二:《單片機》課程學習總結

時光飛逝,一轉眼,一個學期又進尾聲了,本學期的單片機課程也結束,但通過這次單片機的學習,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養我們的創新精神,從而不斷地戰勝自己,超越自己。創新可以是在原有的基礎上進行改進,使之功能不斷完善,成為真己的東西。

當今社會隨著電子技術的發展,特別是隨著大規模集成電路的產生,給人們的生活帶來了根本性的變化,如果說微型計算機的出現使現代的科學研究得到了質的飛躍,那麼可編程式控制制器的出現則是給現代工業控制測控領域帶來了一次新的革命。在現代社會中,溫度控制不僅應用在工廠生產方面,其作用也體現到了各個方面。本學期我們就學習了單片機這門課程,感覺是有點難呢。也不知道整個學習過程是怎麼過來得,可是時間不等人。

剛開始學習的時候,對單片機沒有什麼認識,不知道什麼是單片機,更不知道它有什麼作用。通過學習才大體知道了單片機的一些知識。單片機是一塊在集成電路晶元上集成了一台有一定規模的微型計算機。簡稱為:單片微型計算機或單片機。單片機的應用到處可見,應用領域廣泛,主要應用在智能儀表、實時控制、通信、家電等方面。由中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、I/O介面、定時器/計數器以及串列通信介面等集成在一塊晶元上,構成了一個單片微型計算機,簡稱為單片機。它的應用范圍很廣,在工業自動化中應用有數據採集、測控技術。

在智能儀器儀表中應用有數字示波器、數字信號源、自動取款機等。在消費類電子產品中應用有空調機、電視機、微波爐、手機、IC卡、汽車電子設備等。在通訊方面應用有手機、小靈通等。在武器裝備方面應用有飛機、坦克、導彈、太空梭、智能武器等。剛開始學習時只能抄寫別人做成功的程序,一遍一遍的寫,從簡單的入手,逐步的積累,一步步的能夠將小的程序結合到一起,拼接成較為復雜一些的程序。但是程序不要只是看別人得,一定要自己寫過才是自己的。只有當你自己能寫出來的時候說明你真懂了。剛接觸KEIL時確實很讓人頭疼,使用 KEIL不會建項目、不會使用實驗板。然後可以參考已經成功的程序,抄過來,寫一個最簡單的,讓它運行起來,先培養一下自己的感覺,先建個項目,再配置一下項目,然後建個程序,加入項目中,再寫代碼、編譯、生成HEX,刷進單片機中、運行。其實當遇到問題一定要自己嘗試著解決,不能遇到問題就去問別人,自己一定要掌握解決問的方法和思路。對一個新項目時,自己一定要多想想,不要急著去看別人是怎麼寫的。應該先想一下程序的構架,想想如何來完成。然後自己動手去寫,理清自己的思路這樣更容易提高自己。

熟悉單片機的人都知道,要學好單片機可不是一件容易的事,倒不是因為單片機很難學,而是很難找到一本專為單片機入門者而編寫的教材。翻一下身邊的單片機教材,都好像是為已經懂單片機的人而寫的,一般先介紹單片機的硬體結構和指令系統,再是系統擴展和外圍器件,順便講一些應用設計(隨便說一下,很多書中的電路設計已經過時,並且有些程序還是錯誤的`)。如果按照此種學習方法,想進行產品開發,就必須先把所有的知識全部掌握了才可以進行實際應用。學習使用單片機只能靠循序漸進的積累,雖然單片機的課程只上了幾節就去上班了,但在學習的過程中有了一定的了解。下面就本人學習單片機的過程和經驗做簡要介紹。

首先,學習單片機要有一定的基礎:電子技術方面要有數字電路和模擬電路等方面的理論基礎,特別是數字電路;編程語言要求匯編語言或C語言。要想成為單片機高手,建議初學者首先學習匯編語言,學的差不多的時候,轉入C語言學習。盡管匯編語言屬於低級語言,編程效率低,但是較C語言具有目標代碼簡短,佔用內存少,執行速度快等優點,更重要的是能使初學者盡快熟悉單片機的內部結構,並能對其進行精確的控制。匯編語言在單片機教材裡面都會涉及,不需要單獨購買教材和學習。C語言是一門學問,有很多專業書籍來講解,並且對我們今後的編程生涯有絕對的好處,因此要深入學習,千萬不要自以為看了某某的視頻教程就以為掌握了C語言,那隻是C語言的一部分。在這里給大家推薦一本單片機C語言程序設計參考書,馬忠梅等著,北京航空航天大學出版社出版的《單片機的C語言應用程序設計》,要求C語言基礎。如果沒學過C語言,建議學習清華大學譚浩強編寫的C語言程序設計,這本書寫的不錯,通俗易懂。

其次,是單片機教材選擇。單片機是一門非常重視實踐的技術,不能總是看書,但要學習它首先應看書,對單片機引腳、內部結構、寄存器和原理有一定地了解和感官認識,它的是怎樣工作的,能幹些什麼?剛開始時,也許你看不明白,但這並不要緊,因為你還缺乏實踐經驗。現在單片機應用廣泛,因此各個廠家分別推出了自己的單片機,我們沒必要每樣都學!因為他們的編程方法和調試過程以及內部指令結構有一定的相似,只要學精通一款就OK了!尤其是用C語言編程,就幾乎不用分什麼派系,但是我們要選擇一款有代表性的知識范圍廣,並且入門容易,書籍多。一般來說,MCS-51系列單片機已經得到廣泛的普及和應用,市場上它的資料也比較多,用的人也很多。給大家推薦一些參考書,學習時只需要一本就足夠拉。書名:《新編MCS-51單片機應用設計》,哈爾濱工業大學出版,作者:張毅剛;書名:《單片機原理及應用》,高等教育出版社,作者:張毅剛等;書名:《單片機高級教程:應用與設計》,北京航空航天大學出版社,作者:何立民。相關教材還有很多,在這不一一列舉。

然後,是開發工具和開發環境的選擇。選擇一塊合適的學習板,對於初學者來說一般無力接受,如果經濟條件允許、本人又對單片機很感興趣、有從事相關工作意向的話,鼓勵大家購買。隨便說一句,學習板功能要求太全,具有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA、液晶、蜂鳴器等就差不多啦,畢竟,功能齊全的價格比較高。模擬器對單片機初學者來說既是那麼耳熟,同時又有些陌生,這主要是因為市場上傳統的模擬器價格都在千元以上,對經濟不是非常寬裕的人來說是不小的開支。同時模擬器是用來提高調試程序效率的,也不是非需不可的,如果你沒有模擬器,遇到程序出錯的時候,只好苦思冥想,反復燒寫調試。

隨便推薦一下,學林電子的51tracer模擬器,有興趣的朋友可關注一下。有了單片機教程板以後,先看下指導說明書,熟悉一下學習板,開卷有益。以後就得靠自己多練習了,將學習板與電腦連接好,先學會開發軟體的使用,然後從最簡單的流水燈實驗做起,按照你自己的意願控制流水燈,當你完成時,你會發現這是多麼愜意的事情。太好玩了,你會覺得這不是在學習,而是在玩,當你發現,單片機能夠按照你編寫的程序工作時,你會覺得非常興奮,比做什麼事情都開心,這樣你會慢慢迷上單片機,真的。不少網站上說搞定某個實驗,就恭維的告訴你一聲」恭喜你,學會了」自己學會了單片機,這有點可笑,這只能說明你算過關了,對單片機有了一定了解和會使用它了。但是單片機能完成的功能太多了,尤其是對外圍器件的控制,綜合起來能設計出許多意想不到的產品.因此除了入門外,精通可千萬別輕易說出口。

最後,在熟練掌握和應用後,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計開發各種課題,不斷的積累經驗。最終,自己完全設計具有個人風格的課題,產品,這樣你就是單片機高手拉。只要過了第一關,後面的路就好走多了,萬事開頭難,這大家可能都聽過。

有時候單片機的學習很單調,有些知識學起來很抽象,不容易理解,只能慢慢適應,一邊學習理論知識,一邊編寫程序,將程序刷入單片機進行調試,通過這種方式才能更快速的學習單片機。要堅定自己的學習信心,在付出持之以恆的努力,我相信自己能進一步加深對單片機的了解,在單片機的學習道路上走得更遠!

;

7. 單片機開發與典型工程項目實例詳解的目 錄

1.1 單片機的應用和特點 1
1.1.1 單片機的應用 1
1.1.2 主流單片機的種類及特點 3
1.2 MCS-51系列單片機的內部結構 7
1.3 MCS-51單片機的引腳功能與時序 9
1.3.1 MCS-51系列單片機引腳說明 10
1.3.2 MCS-51單片機的時序 16
1.4 MCS-51單片機的存儲器組織 17
1.4.1 程序存儲器 18
1.4.2 數據存儲器 19
1.4.3 特殊功能寄存器 21
1.5 單片機最小系統 24
1.5.1 單片機最小系統 24
1.5.2 彩燈控制器的設計 25
1.5.3 順序控制器的設計 27
1.6 本章小結 29 2.1 單片機C語言宏配置介紹 30
2.1.1 處理器的配置 30
2.1.2 ID區域 31
2.1.3 EEPROM數據 31
2.2 單片機數據結構 31
2.2.1 類型限定詞 32
2.2.2 常數 33
2.2.3 變數 34
2.2.4 構造數據類型 38
2.2.5 函數 46
2.2.6 中斷 49
2.2.7 C語言和匯編語言的嵌套使用 53
2.2.8 偽指令 54
2.3 MPLAB IDE編譯器簡介 57
2.3.1 MPLAB工程管理器(MPLAB Project Manager) 57
2.3.2 MPLAB文本編輯器(MPLAB Editor) 57
2.3.3 MPLAB軟體模擬器(MPLAB-SIM Simulator) 58
2.3.4 MPLAB在線模擬器(MPLAB-ICE Simulator) 58
2.4 MPLAB IDE的安裝和使用 58
2.4.1 MPLAB IDE的安裝要求 58
2.4.2 MPLAB IDE的使用 59
2.4.3 實例應用 59
2.4.4 MPLAB IDE中的工程 62
2.4.5 MPLAB IDE工程的編譯 65
2.4.6 MPLAB IDE的軟體模擬 66
2.5 MCC18基礎 68
2.5.1 MCC18的安裝目錄瀏覽 68
2.5.2 MCC18的語言執行流程 70
2.5.3 MCC18舉例 70
2.5.4 MCC18的編譯環境 72
2.5.5 MCC18和單片機的比較 73
2.6 單片機的混合開發 74
2.6.1 C51和匯編語言的性能比較 74
2.6.2 C51和匯編語言的混合編程 74
2.7 本章小結 79 3.1 單片機應用系統設計的流程 80
3.2 單片機應用系統兩設計原則 82
3.2.1 硬體系統設計原則 82
3.2.2 應用軟體設計原則 83
3.3 單片機的選型 83
3.3.1 單片機選型的原則 83
3.3.2 單片機選型參考 85
3.3.3 開發工具的選擇 86
3.4 系統常見故障與調試 87
3.5 本章小結 88 4.1 數字濾波演算法 89
4.1.1 算術平均值濾波 90
4.1.2 滑動平均值濾波 92
4.1.3 防脈沖干擾平均值濾波 93
4.1.4 中值濾波 95
4.1.5 一階滯後濾波 96
4.2 數字PID控制演算法 97
4.2.1 位置式PID控制演算法 98
4.2.2 增量式PID控制演算法 100
4.2.3 積分分離的PID控制演算法 102
4.2.4 變速積分PID控制演算法 103
4.3 本章小結 104 5.1 鍵盤設計的組成和分類 105
5.1.1 鍵盤的物理結構 106
5.1.2 鍵盤的組成形式 106
5.2 鍵盤介面的工作過程和工作方式 111
5.2.1 鍵盤的抖動干擾和消除方法 111
5.2.2 盤介面的工作過程 112
5.2.3 鍵盤的工作方式 112
5.3 鍵位置的判別方法 113
5.4 鍵盤介面設計的儲存晶元和
5.4 相關協議 114
5.4.1 鍵盤介面設計的儲存晶元 114
5.4.2 AT24CXX系列的晶元及I2C協議 114
5.4.3 A93CXX系列的晶元及SPI協議 124
5.5 鍵盤介面實現的工程實例 132
5.5.1 矩陣鍵盤介面的工程實例 132
5.5.2 矩陣式中斷掃描鍵盤的設計 137
5.5.3 二進制編碼鍵盤介面的工程實例 139
5.6 重點與難點 141 6.1 交通燈順序控制 143
6.1.1 硬體系統的設計 143
6.1.2 反向器74F06 145
6.1.3 控制字 145
6.1.4 程序設計 145
6.2 設計一種基於模糊理論的單片機控制交通路口調度系統 148
6.2.1 系統的總體設計 148
6.2.2 十字路口調度系統模糊控制器的設計 149
6.2.3 電路設計 151
6.2.4 車流量檢測電路 154
6.2.5 系統主程序和模糊控製程序設計 155
6.2.6 系統顯示程序設計 157
6.3 重點與難點 159 7.1 顯示屏顯示原理及串列通信基本概念 161
7.1.1 顯示屏顯示原理 161
7.1.2 串列通信 163
7.1.3 陣列式LED顯示屏的實現 166
7.2 顯示屏硬體電路設計 166
7.2.1 硬體電路介紹 168
7.2.2 外擴數據存儲器電路 170
7.3 列式LED顯示屏顯示程序的171
7.3.1 漢字點陣數據的提取 171
7.3.2 顯示主程序 174
7.3.3 串口中斷處理程序 176
7.3.4 顯示驅動函數 179
7.3.5 外部存儲器讀寫程序 181
7.3.6 串口通信程序 181
7.3.7 文字顯示特效程序 182
7.4 本章小結 191 8.1 IC卡基礎 192
8.1.1 IC卡的分類 192
8.1.2 IC卡的標准 194
8.2 接觸型IC卡讀寫系統的開發 194
8.2.1 IC卡讀寫系統的時序 195
8.2.2 IC卡讀寫系統的硬體連196
8.2.3 IC卡讀寫系統的軟體系統 197
8.3 基於SLE4442加密卡讀寫系統的開發 201
8.3.1 SLE4442卡的介紹 201
8.3.2 SLE4442的模式 203
8.3.3 SLE4442的操作命令 205
8.3.4 SLE4442讀/寫系統的軟硬體設計 208
8.4 重點與難點 215 9.1 無刷直流電機控制原理 216
9.1.1 無刷直流電機的組成 217
9.1.2 無刷直流電機的工作原理 217
9.1.3 無刷直流電機的控制方法 219
9.2 無刷直流電機的工作特性 220
9.3 直流無刷電機控制的應用實現 221
9.3.1 總體設計概述 221
9.3.2 直流無刷電機控制的硬體設計 222
9.3.3 直流無刷電機控制的軟體設計 224
9.3.4 無刷直流電機速度閉環控制系統 227
9.4 本章小結 230 10.1 永磁同步電機的結構與分類 231
10.2 永磁同步電機的矢量控制 232
10.3 永磁同步電機控制 236
10.3.1 控制電路設計 237
10.3.2 光電隔離電路設計 238
10.3.3 功率電路設計 239
10.4 永磁同步電機控制的軟體實現 239
10.4.1 電壓SVPVM的DSPIC33f軟體實現 241
10.4.2 轉子位置檢測 243
10.4.3 AD轉換模塊 245
10.5 本章小結 246 11.1 汽車行駛記錄儀功能介紹 247
11.2 簡易汽車行駛記錄儀的設計 249
11.2.1 汽車行駛記錄儀的考慮因素 250
11.2.1 MSP430 251
11.2.2 車模擬信號的採集 254
11.2.4 數字信號採集電路 255
11.2.5 SST39VF160晶元介紹 257
11.3 記錄儀的軟體設計 257
11.3.1 軟體流程圖 258
11.3.2 數據存儲格式 259
11.3.3 SST39VF160存儲器數據讀寫的實現 259
11.4 數據採集的程序實現 263
11.5 本章小結 264 12.1 USB-GPIB控制器簡介 265
12.1.1 認識USB 266
12.1.2 GPIB 269
12.2 USB-GPIB控制器的硬體電路設計 271
12.2.1 器件的選擇 272
12.2.2 USB-GPIB控制器電路設計 278
12.3 USB-GPIB控制器的軟體程序的實現 287
12.3.1 USB單片機協議控制晶元與主機(計算機)的數據交互 288
12.3.2 USB協議控制晶元與GPIB控制器的數據交互 299
12.4 USB-GPIB控制器固件的調試與固化 300
12.4.1 USB-GPIB控制器固件的調試 301
12.4.2 USB-GPIB控制器固件程序的固化 302
12.5 本章小結 303 13.1 研究抗干擾技術的重要性 304
13.2 干擾的分類 305
13.2.1 按雜訊產生的原因分類 306
13.2.2 按雜訊傳導模式分類 306
13.2.3 按雜訊波形及性質分類 307
13.3 干擾的耦合方式 308
13.4 單片機系統可靠性的設計任務與方法 310
13.4.1 單片機系統可靠性設計的任務 310
13.4.2 可靠性設計一般方法 311
13.5 本章小結 313 14.1 無源濾波器抗干擾 314
14.1.1 電容濾波器 315
14.1.2 電感濾波器 316
14.1.3 RC低通濾波器 316
14.1.4 1LC低通濾波器 318
14.1.5 低通濾波器的結構選擇 319
14.1.6 低通濾波器的平衡結構與串聯形式 319
14.2 有源濾波器抗干擾 321
14.2.1 一級低通有源濾波器 321
14.2.2 二級低通有源濾波器 322
14.3 去耦電路 324
14.3.1 尖峰電流的形成原理 324
14.3.2 去耦電容的配置 325
14.3.3 光電隔離 326
14.3.4 繼電器隔離 328
14.3.5 變壓器隔離 328
14.3.6 布線隔離 329
14.4 接地技術 330
14.5 本章小結 334 15.1 概述 335
15.2 指令冗餘技術 336
15.2.1 單位元組指令冗餘 337
15.2.2 重要指令冗餘 337
15.3 軟體陷阱技術 337
15.3.1 未使用的中斷向量區設置陷阱 338
15.3.2 RAM數據區中設置陷阱 338
15.3.3 未使用的EPROM數據區設置陷阱 339
15.3.4 非EPROM單片機空間設置陷阱 339
15.3.5 運行程序區設置陷阱 339
15.4 看門狗技術 339
15.4.1 硬體看門狗技術 340
15.4.2 軟體看門狗技術 342
15.5 本章小結 345

閱讀全文

與單片機交通燈ad原理圖相關的資料

熱點內容
golang核心編程 瀏覽:166
中小學計演算法則 瀏覽:85
無職轉生哪個app能看 瀏覽:580
夏夢迪在哪個app 瀏覽:107
c編譯軟體cl 瀏覽:933
逗比的程序員頭像 瀏覽:984
單片機原理作業答案 瀏覽:230
文件夾的東西怎麼能轉成文檔 瀏覽:968
linux下解壓iso 瀏覽:463
android常見解析度 瀏覽:386
文件解壓怎麼變成ps 瀏覽:177
python教程django編程 瀏覽:263
程序員放飛自己 瀏覽:395
基建伺服器有什麼用 瀏覽:354
php表單防注入 瀏覽:91
什麼叫e筋加密鎖 瀏覽:712
世界無敵簡單的折紙解壓球 瀏覽:943
安卓開服光遇什麼季節 瀏覽:565
破解的系統怎麼用銀行app 瀏覽:265
java三層架構mvc 瀏覽:880