㈠ 0基礎學習51單片機需要什麼基礎知識
大一還是比較難的。除非自己特別感興趣。。。
硬體方面的基礎數字電路基礎還是需要的。。。。模擬可以慢慢學。。。
還有就是C語言基礎。。。
看自己要學什麼。。。要偏向軟體還是要偏向硬體。看你學了JAVA是不是要偏向軟體?
㈡ 零基礎學單片機怎麼學零基礎能學單片機嗎
我想很多學習單片機的人總會第一句就問怎樣才能學好單片機?今天小編給大家總結了下這位學者的學習方法,他是如何上手的?如何開始熟練這個過程的,簡單給大家講講,可以作為了解。
單片機這么課程其實是一項非常注重動手實踐的科目,畢竟從書中可以大概了解單片機各個功能寄存器後,如果第一次、第二次你可能看不太明白,你這不要緊,畢竟你還缺少實際 感觀認識,所以說學習單片機看書只看兩三天足夠了,那麼接下來的重點就是實踐過程,這個過程非常關鍵,如果學單片機不實踐,我想你是很難學會的,至於實踐,我想推薦兩種方法,一種是你自己花錢買一塊單片機的學習板,這個就不要求功能太全了,畢竟對初學者來講,買功能那麼多的板子,上面的很多東西也許你這輩子都用不著,所以建議板子上只要有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多足夠了,如果上面我提到的這些,你能熟練應用,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。另一種是如果你身邊有單片機高手,可以求助他來幫你搭個簡單的最小系統板,有對硬體了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以後做單片機類的小實驗時都能用得上,還省事。
這兩方面都做好准備後,接下來就是配備一台電腦。盡量多抽出一些時間來練習,首先應該學會怎麼用調試軟體,然後從最簡單的流水燈實驗做,經過一段時間的聯系,你一定會會發現單片機是多麼迷人,當你編寫的程序按你的意願實現時你比做什麼事都開心,你會上癮的,真的。做電子類的人真的會上癮。然後讓數碼管亮起來,這兩項會了後,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答後你會記住一輩子的,知識必須用於現實生活中,解決實際問題,這樣才能發揮它的作用。
總結上面,其實也就是只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學單片機來說也是件非常容易的事。最後強調一點是想學單片機,關鍵還是要注重實踐過程,學習單片機,軟體編程也必不可少,這幾點是比較重要的幾點內容。
㈢ 給我推薦幾個單片機零基礎入門教程
最好到書店看看,適合的就買,現在主要講8051的多,你主要看《單片機應用基礎》之類的書。
一般這些書都講得很好,通俗易懂,只要看得懂字的都看得懂。
單片機主要就是一個晶元,有一些引腳,通過編軟體實現這些引腳的功能。
㈣ 零基礎學單片機能行嗎
行,不過不好學。
切換到寬屏切換到窄屏
編輯
8255有用+1
8388
單片機
單片機是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域的廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的32位300M的高速單片機。
目 錄
1概述
2應用分類
2.1 通用專用
2.2 線型
2.3 控制型
3發展歷史
3.1 主要階段
3.2 早期發展
4硬體特性
5基本結構
6應用范圍
6.1 智能儀器
6.2 工業控制
6.3 家用電器
6.4 網路和通信
6.5 設備領域
6.6 模塊化系統
6.7 汽車電子
7學習方法
7.1 基礎理論
7.2 實驗實踐
7.3 硬體設計
8抗干擾設計
8.1 抗干擾
8.2 抗干擾技術
9電子技術中單片機的應用
10基礎知識
10.1 匯流排
10.2 地址指令
10.3 功能
10.4 執行過程
10.5 堆棧
10.6 開發過程
11單片指令
11.1 傳送操作
11.2 算術操作
11.3 邏輯操作
11.4 程序轉移
11.5 布爾變數操作
12單片機晶元
12.1 三星單片機
12.2 SST 單片機
13攻擊技術
14加密方法
15單片機故障的排除
15.1 1單片機正常工作的三個條件
15.2 2單片機內部是否正常工作的檢測
1概述
單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit),
單片機晶元
常用英文字母的縮寫MCU表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。單片機由運算器、控制器、存儲器、輸入輸出設備構成,相當於一個微型的計算機(最小系統),和計算機相比,單片機缺少了外圍設備等。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。它最早是被用在工業控制領域。
由於單片機在工業控制領域的廣泛應用,單片機由僅有CPU的專用處理器晶元發展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個晶元中,使計算機系統更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。
INTEL的8080是最早按照這種思想設計出的處理器,當時的單片機都是8位或4位的。其中最成功的是INTEL的8051,此後在8051上發展出了MCS51系列單片機系統。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以後ARM已經發展出了32位的主頻超過300M的高端單片機,直到現在基於8051的單片機還在廣泛的使用。在很多方面單片機比專用處理器更適合應用於嵌入式系統,因此它得到了廣泛的應用。事實上單片機是世界上數量最多處理器,隨著單片機家族的發展壯大,單片機和專用處理器的發展便分道揚鑣。
現代人類生活中所用的幾乎每件有電子器件的產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及滑鼠等電子產品中都含有單片機。 汽車上一般配備40多片單片機,復雜的工業控制系統上甚至可能有數百片單片機在同時工作!單片機的數量不僅遠超過PC機和其他計算機的總和,甚至比人類的數量還要多。
2應用分類
單片機作為計算機發展的一個重要分支領域,根據發展情況,從不同角度單片機大致可以分為通用型/專用型、匯流排型/非匯流排型及工控型/家電型。
通用專用
這是按單片機適用范圍來區分的。例如,80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。
線型
這是按單片機是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、 數
單片機
據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。
控制型
這是按照單片機大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。
3發展歷史
單片機誕生於1971年,經歷了SCM、MCU、SoC三大階段,早期的SCM單片機都是8位或4位的。其中最成功的是INTEL的8051,此後在8051上發展出了MCS51系列MCU系統。基於這一系統的單片機系統直到現在還在廣泛使用。隨著工業控制領域要求的提高,開始出現了16位單片機,但因為性價比不理想並未得到很廣泛的應用。90年代後隨著消費電子產品大發展,單片機技術得到了巨大提高。隨著INTEL i960系列特別是後來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,並且進入主流市場。
而傳統的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。高端的32位Soc單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。
當代單片機系統已經不再只在裸機環境下開發和使用,大量專用的嵌入式操作系統被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統。
主要階段
早期階段
SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態嵌入式系統的最佳體系結構。「創新模式」獲得成功,奠定了SCM與通用計算機完全不同的發展道路。在開創嵌入式系統獨立發展道路上,Intel公司功不可沒。
Micro Controller Unit
中期發展
MCU即微控制器(Micro Controller Unit)階段,主要的技術發展方向是:不斷擴展滿足嵌入式應用時,對象系統要求的各種外圍電路與介面電路,突顯其對象的智能化控制能力。它所涉及的領域都與對象系統相關,因此,發展MCU的重任不可避免地落在電氣、電子技術廠家。從這一角度來看,Intel逐漸淡出MCU的發展也有其客觀因素。在發展MCU方面,最著名的廠家當數Philips公司。
Philips公司以其在嵌入式應用方面的巨大優勢,將MCS-51從單片微型計算機迅速發展到微控制器。因此,當我們回顧嵌入式系統發展道路時,不要忘記Intel和Philips的歷史功績。
當前趨勢
SoC嵌入式系統(System on Chip)式的獨立發展之路,向MCU階段發展的重要因素,就是尋求應用系統在晶元上的最大化解決,因此,專用單片機的發展自然形成了SoC化趨勢。隨著微電子技術、IC設計、EDA工具的發展,基於SoC的單片機應用系統設計會有較大的發展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統。
早期發展
1971年intel公司研製出世界上第一個4位的微處理器;Intel公司的霍夫研製成功世界上第一塊4位微處理器晶元Intel 4004,標志著第一代微處理器問世,微處理器和微機時代從此開始。因發明微處理器,霍夫被英國《經濟學家》雜志列為「二戰以來最有影響力的7位科學家」之一。
1971年11月,Intel推出MCS-4微型計算機系統(包括4001 ROM晶元、4002 RAM晶元、4003移位寄存器晶元和4004微處理器)其中4004(下圖)包含2300個晶體管,尺寸規格為3mm×4mm,計算性能遠遠超過當年的ENIAC,最初售價為200美元。
1972年4月,霍夫等人開發出第一個8位微處理器Intel 8008。由於8008採用的是P溝道MOS微處理器,因此仍屬第一代微處理器。
1973年intel公司研製出8位的微處理器8080;1973年8月,霍夫等人研製出8位微處理器Intel 8080,以N溝道MOS電路取代了P溝道,第二代微處理器就此誕生。
主頻2MHz的8080晶元運算速度比8008快10倍,可存取64KB存儲器,使用了基於6微米技術的6000個晶體管,處理速度為0.64MIPS(Million Instructions Per Second )。
1975年4月,MITS發布第一個通用型Altair 8800,售價375美元,帶有1KB存儲器。這是世界上第一台微型計算機。
1976年intel公司研製出MCS-48系列8位的單片機,這也是單片機的問世。
Zilog公司於1976年開發的Z80微處理器,廣泛用於微型計算機和工業自動控制設備。當時,Zilog、Motorola和Intel在微處理器領域三足鼎立。
20世紀80年代初,Intel公司在MCS-48系列單片機的基礎上,推出了MCS-51系列8位高檔單片機。MCS-51系列單片機無論是片內RAM容量,I/O口功能,系統擴展方面都有了很大的提高。
4硬體特性
1、主流單片機包括CPU、4KB容量的ROM、128 B容量的RAM、 2個16位定時/計數器、4個8位並行口、全雙工串口行口、ADC/DAC、SPI、I2C、ISP、IAP。
晶元
2、系統結構簡單,使用方便,實現模塊化;
3、單片機可靠性高,可工作到10^6 ~10^7小時無故障;
4、處理功能強,速度快。
5、低電壓,低功耗,便於生產攜帶型產品
6、控制功能強
7、環境適應能力強。
5基本結構
1.運算器
運算器由運算部件——算術邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最後將結果存入累加器。例如,兩個數6和7相加,在相加之前,操作數6放在累加器中,7放在數據寄存器中,當執行加法指令時,ALU即把兩個數相加並把結果13存入累加器,取代累加器原來的內容6。
運算器有兩個功能:
(1) 執行各種算術運算。
(2) 執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。
運算器所執行全部操作都是由控制器發出的控制信號來指揮的,並且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
2.控制器
控制器由程序計數器、指令寄存器、指令解碼器、時序發生器和操作控制器等組成,是發布命令的「決策機構」,即協調和指揮整個微機系統的操作。其主要功能有:
(1) 從內存中取出一條指令,並指出下一條指令在內存中的位置。
(2) 對指令進行解碼和測試,並產生相應的操作控制信號,以便於執行規定的動作。
(3) 指揮並控制CPU、內存和輸入輸出設備之間數據流動的方向。
微處理器內通過內部匯流排把ALU、計數器、寄存器和控制部分互聯,並通過外部匯流排與外部的存儲器、輸入輸出介面電路聯接。外部匯流排又稱為系統匯流排,分為數據匯流排DB、地址匯流排AB和控制匯流排CB。通過輸入輸出介面電路,實現與各種外圍設備連接。
3.主要寄存器
(1)累加器A
圖1-2 單片機組成框圖
累加器A是微處理器中使用最頻繁的寄存器。在算術和邏輯運算時它有雙功能:運算前,用於保存一個操作數;運算後,用於保存所得的和、差或邏輯運算結果。
(2)數據寄存器DR
數據寄存器通過數據匯流排向存儲器和輸入/輸出設備送(寫)或取(讀)數據的暫存單元。它可以保存一條正在解碼的指令,也可以保存正在送往存儲器中存儲的一個數據位元組等等。
(3)指令寄存器IR和指令解碼器ID
指令包括操作碼和操作數。
指令寄存器是用來保存當前正在執行的一條指令。當執行一條指令時,先把它從內存中取到數據寄存器中,然後再傳送到指令寄存器。當系統執行給定的指令時,必須對操作碼進行解碼,以確定所要求的操作,指令解碼器就是負責這項工作的。其中,指令寄存器中操作碼欄位的輸出就是指令解碼器的輸入。
(4)程序計數器PC
PC用於確定下一條指令的地址,以保證程序能夠連續地執行下去,因此通常又被稱為指令地址計數器。在程序開始執行前必須將程序的第一條指令的內存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執行指令的地址。
(5)地址寄存器AR
地址寄存器用於保存當前CPU所要訪問的內存單元或I/O設備的地址。由於內存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內存讀/寫操作完成為止。
顯然,當CPU向存儲器存數據、CPU從內存取數據和CPU從內存讀出指令時,都要用到地址寄存器和數據寄存器。同樣,如果把外圍設備的地址作為內存地址單元來看的話,那麼當CPU和外圍設備交換信息時,也需要用到地址寄存器和數據寄存器。[1]
6應用范圍
單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置
電路板
,飛機上各種儀表的控制,計算機的網路通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程式控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。
單片機廣泛應用於儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程式控制制等領域,大致可分如下幾個范疇:
智能儀器
單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用於儀器儀表中,結合不同類型的感測器,可實現諸如電壓、電流、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。採用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起採用電子或數字電路更加強大。
例如精密的測量設備(電壓表、功率計,示波器,各種分析儀)。
工業控制
單片機具有體積小、控制功能強、功耗低、環境適應能力強、擴展靈活和使用方便等優點,用單片機可以構成形式多樣的控制系統、數據採集系統、通信系統、信號檢測系統、無線感知系統、測控系統、機器人等應用控制系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。
家用電器
家用電器廣泛採用了單片機控制,從電飯煲、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備和白色家電等。
網路和通信
現代的單片機普遍具備通信介面,可以很方便地與計算機進行數據通信,為在計算機網路和通信設備間的應用提供了極好的物質條件,通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程式控制交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的行動電話,集群移動通信,無線電對講機等。
設備領域
單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。
模塊化系統
某些專用單片機設計用於實現特定功能,從而在各種電路中進行模塊化應用,而不要求使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子晶元中(有別於磁帶機的原理),就需要復雜的類似於計算機的原理。如:音樂信號以數字的形式存於存儲器中(類似於ROM),由微控制器讀出,轉化為模擬音樂電信號(類似於音效卡)。
在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便於更換。
汽車電子
單片機在汽車電子中的應用非常廣泛,例如汽車中的發動機控制器,基於CAN匯流排的汽車發動機智能電子控制器、GPS導航系統、abs防抱死系統、制動系統、胎壓檢測等。
此外,單片機在工商、金融、科研、教育、電力、通信、物流和國防航空航天等領域都有著十分廣泛的用途。
7學習方法
基礎理論
基礎理論知識包括模擬電路、數字電路和C語言知識。模擬電路和數字電路屬於抽象學科,要把它學好還得費點精神。在你學習單片機之前,覺得模擬電路和數字電路基礎不好的話,不要急著學習單片機,應該先回顧所學過的模擬電路和數字電路知識,為學習單片機加強基礎。否則,你的單片機學習之路不僅會很艱難和漫長,還可能半途而廢。筆者始終認為,扎實的電子技術基礎是學好單片機的關鍵,直接影響單片機學習入門的快慢。有些同學覺得單片機很難,越學越復雜,最後學不下去了。有的同學看書時似乎明白了,可是動起手來卻一塌糊塗,究其原因就是電子技術基礎沒有打好,首先被表面知識給困惑了。
單片機屬於數字電路,其概念、術語、硬體結構和原理都源自數字電路,如果數字電路基礎扎實,對復雜的單片機硬體結構和原理就能容易理解,就能輕松地邁開學習的第一步,自信心也會樹立起來。相反,基礎不好,這個看不懂那個也弄不明白,越學問題越多,越學越沒有信心。如果你覺得單片機很難,那就應該先放下單片機教材,去重溫數字電路,搞清楚觸發器、寄存器、門電路、COMS電路、時序邏輯和時序圖、進制轉換等理論知識。理解了這些知識之後再去看看單片機的結構和原理,我想你會大徹大悟,信心倍增。
模擬電路是電子技術最基礎的學科,她讓你知道什麼是電阻、電容、電感、二極體、三極體、場效應管、放大器等等以及它們的工作原理和在電路中的作用,這是學習電子技術必須掌握的基礎知識。一般是先學習模擬電路再去學習數字電路。扎實的模擬電路基礎不僅讓你容易看懂別人設計的電路,而且讓你的設計的電路更可靠,提高產品質量。
單片機的學習離不開編程,在所有的程序設計中C語言運用的最為廣泛。C語言知識並不難,沒有任何編程基礎的人都可以學,在我看來,初中生、高中生、中專生、大學生都能學會。當然,數學基礎好、邏輯思維好的人學起來相對輕松一些。C語言需要掌握的知識就那麼3個條件判斷語句、3個循環語句、3個跳轉語句和1個開關語句。別小看這10個語句,用他們組合形成的邏輯要多復雜有多復雜。學習時要一條語句一條語句的學,學一條活用一條,全部學過用過這些關鍵語句後,相信你的C基礎建立了。
當基礎打好以後,你會感覺到單片機不再難學了,而且越學越起勁。當單片機乖乖的依照你的邏輯思維和演算法去執行指令,實現預期控制效果的時候,成就感會讓你信心十足、夜以續日、廢寢忘食的投入到單片機的世界裡。可以這么說,扎實的電子技術基礎和C語言基礎能增強學習單片機信心,較快掌握單片機技術。
實驗實踐
這是真正學習單片機的過程,既讓人興奮又讓人疲憊,既讓人無奈又讓人不服,既讓人孤獨又讓人充實,既讓人氣憤又讓人欣慰,既有失落感又有成就感。其中的酸甜苦辣只有學過的人深有體會。思想上要有刻苦學習的決心,硬體上要有一套完整的學習開發工具,軟體上要注重理論和實踐相結合。
1.有刻苦學習的決心
首先,明確學習目的。先認真回答兩個問題:我學單片機來做什麼?需要多長時間把它學會?這是你學單片機的動力。沒有動力,我想你堅持不了多久。其次,端正學習心態。單片機學習過程是枯燥乏味、孤獨寂寞的過程。要知道,學習知識沒有捷徑,只有循序漸進,腳踏實地,一步一個腳印,才能學到真功夫。再次,要多動腦勤動手。單片機的學習具有很強的實踐性,是一門很注重實際動手操作的技術學科。不動手實踐你是學不會單片機的。最後,虛心交流。在單片機學習過程中每個人都會遇到無數不能解決的問題,需要你向有經驗的過來人虛心求教,否則,一味的自己埋頭摸索會走許多彎路,浪費很多時間。
2.有一套完整的學習開發工具
學習單片機是需要成本的。必須有一台電腦、一塊單片機開發板(如果開發板不能直接下載程序代碼的話還得需要一個編程器)、一套視頻教程、一本單片機教材和一本C語言教材。電腦是用來編寫和編譯程序,並將程序代碼下載到單片機上;開發板用來運行單片機程序,驗證實際效果;視頻教程就是手把手教你單片機開發環境的使用、單片機編程和調試。對於單片機初學者來說,視頻教程必須看,要不然,哪怕把教材看了幾遍,還是不知道如何下手,尤其是院校里的單片機教材,學了之後,面對真正的單片機時可能還是束手無策;單片機教材和C語言教材是理論學習資料,備忘備查。不要為了節約成本不用開發板而光用Protur軟體模擬調試,這和紙上談兵沒什麼區別。
3. 要注重理論和實踐相結合
單片機C語言編程理論知識並不深奧,光看書不動手也能明白。但在實際編程的時候就沒那麼簡單了。一個程序的形成不僅需要有C語言知識,更多需要融入你個人的編程思路和演算法。編程思路和演算法決定一個程序的優劣,是單片機編程的大問題,只有在實際動手編寫的時候才會有深切的感悟。一個程序能否按照你的意願正常運行就要看你的思路和演算法是否正確、合理。如果程序不正常則要反復調試(檢查、修改思路和演算法),直到成功。這個過程耗時、費腦、疲精神,意志不堅強者往往被絆倒在這里半途而廢。
學習編寫程序應該按照以下過程學習,效果會更好。看到常式題目先試著構思自己的編程思路,然後再看教材或視頻教程里的代碼,研究人家的編程思路,注意與自己思路的差異;接下來就照搬人家的思路親自動手編寫這個程序,領會其中每一條語句的作用;對有疑問的地方試著按照自己的思路修改程序,比較程序運行效果,領會其中的奧妙。每一個常式都堅持按照這個過程學習,你很快會找到編程的感覺,取其精華去其糟粕,久而久之會形成你獨特的編程思想。當然,剛開始,看別人的程序源代碼就像看天書一樣,只要硬著頭皮看,看到不懂的關鍵字和語句就翻書查閱、對照。只要能堅持下來,學習收獲會事半功倍。在實踐過程中不僅要學會別人的常式,還要在別人的程序上改進和拓展,讓程序產生更強大的功能。同時,還要懂得通過查閱晶元數據手冊(DATASHEET)里有關晶元命令和數據的讀寫時序來核對別人常式的可靠性,如果你覺得常式不可靠就把它修改過來,成為是你自己的程序。不僅如此,自己應該經常找些項目來做,以鞏固所學的知識和積累更多的經驗。
硬體設計
當編寫自己的程序信手拈來、閱讀別人的程序能夠發現問題的時候,說明你的單片機編程水平相當不錯了。接下來就應該研究硬體了。硬體設計包括電路原理設計和PCB板設計。學習做硬體要比學習做軟體麻煩,成本更高,周期更長。但是,學習單片機的最終目的是做產品開發----軟體和硬體相結合形成完整的控制系統。所以,做硬體也是學習單片機技術的一個必學內容。
電路原理設計涉及到各種晶元的應用,而這些晶元外圍電路的設計、典型應用電路和與單片機的連接等在晶元數據手冊(DATASHEET)都能找到答案,前提是要看得懂全英文的數據手冊。否則,照搬別人的設計永遠落在別人的後面,你做的產品就沒有創意。電子技術領域的第一手資料(DATASHEET)都是英文,從第一手資料里你所獲得的知識可能是在教科書、網路文檔和課外讀物等所沒有的知識。雖然有些資料也都是在DATASHEET的基礎上撰寫的,但內容不全面,甚至存在翻譯上的遺漏和錯誤。當然,閱讀DATASHEET需要具備一定的英文閱讀能力,這也是阻礙單片機學習者晉級的絆腳石。良好的英文閱讀能力能讓你在單片機技術知識的海洋里自由遨遊。
做PCB板就比較簡單了。只要懂得使用Protel軟體或 AltiumDesigner軟體就沒問題了。但要想做的板子布局美觀、布線合理還得費一番功夫了。
㈤ 從零開始學習單片機要怎樣
這個我不具體說哪個好,具體可以參考吳 鑒 鷹單片機開發板,視頻講解的透徹,有一線的工程師在線答疑,有問必答,初學者有人帶著你學習,會少走很多彎路。
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能.每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣.
第二步:定時器的使用
學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅.數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低.定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎.
第三步:中斷
單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿.要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序.中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等.
中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能.
㈥ 如果零基礎學習單片機,要多少學費 比如說教你c51,stm32等
不用學費,但有成本,單 片機學習要注重實驗和編程,買一塊開發板,完全可以自學,一般都有配套配套文字和視頻教程,網上還可以提問和討論
C51的開發板就 200-300塊錢,質量差別不大,價格差是因配件的多少不同
STM32的開發板便宜一些的300-400元,高端一些600一900元,配件也可以自由搭配
另外有許多和單片機配套的模塊可以單獨購買,一般商家會給應用程序
㈦ 0基礎想學習單片機怎麼辦
首先單片機是個晶元,你說的51單片機晶元最多也就6塊錢一塊,你要買的是51單片機開發板,你要是什麼也不會,一點點也不會,就買個郭天祥的,你去淘寶搜吧,學單片機的都知道這個,他這個200多一點,但物有所值,一分錢一分貨,我見過5個不同的開發板了,這個質量還是很好的,你多咨詢咨詢就好了
㈧ 如何從0基礎學習單片機stm32
我沒有學過32,我是從51單片機開始學習的。
學習單片機不是只要看書的,看書只是其中的一小部分。
學習單片機,建議以下步驟:
1 、看書大概了解一下單片機結構,大概了解就行。不用都看懂,又不讓你出書。
2 、弄了一塊吳(鑒鷹)學習板練習編寫程序,學單片機主要就是練編程序,遇到不會的再問人或查書。
3 、自己網上找些小電路類的資料練習設計外圍電路。焊好後自己調試,熟悉過程。
4 、自己完全設計具有個人風格的電路、產品 … 你已經是高手了。
只要你有信心,做事能堅持到底,有不成功絕不放棄的強烈意志,那學個單片機對你來說就是件非常容易的事。
㈨ 沒接觸過電子,零基礎自學單片機的步驟,需要先學什麼
最好是先學模擬電路,數字電路,單片機,匯編,C語言。。。。。。。。
㈩ 學單片機還是plc好都說零基礎
要看應用的場合。
PLC是個標准化的成品,價格貴,設計程序十分簡單,編寫即可使用,比較適用於大型的工業企業。
單片機,要自己設計電路板,配外殼,設計調試周期長,技術含量高......