-
1 # 嵌入式經驗分享
-
2 # 電子及工控技術學習微控制器的建議
學習微控制器的第一步
我認為如果沒有學習過微控制器的朋友最好從典型的微控制器學起,比如我上面提到的C51系列的微控制器,透過學習它的原理與應用方法,學習的時候要在實踐應用中學,從學習軟體上和學習資料方面講現在關於C51系列微控制器的資料要比PIC系列微控制器的資料要豐富的多學起來會有很多的參考資料,現在我手中收集的微控制器資料大多都以C51系列微控制器的為主。從硬體來說隨著對C51系列微控制器的技術改進,許多生產C51相容的微控制器廠商所生產的微控制器都具有了Flash儲存器和ISP(線上程式設計)下載功能,從學習成本來說其價效比都很高,比如有很多優秀的程式設計軟體,像KeilC51就是其中的一款,我到目前為止仍然在用,用慣了感覺十分方便。
學習微控制器的第二步
如果我們對微控制器有了一定的基礎並且已經邁進了微控制器的大門,我認為再學習一些其他系列的微控制器也未嘗不可,對於PIC系列的微控制器使用了精簡指令(RISC),只有33條指令。這類微控制器家族的最大特點是“一高兩低”,即指令處理速度高、工作電壓低和功耗低。對於PIC微控制器其型號也很多,從引腳封裝來說有8引腳到68引腳的都有,從PIC微控制器的效能來說從高階的PIC17C系列到中級的PIC16C系列再到初級的PIC12C5系列等。不管學習哪款微控制器都要先學習它們的共性再去學習每類微控制器的個性。
所以不論學習PIC微控制器中的8腳微控制器還是學會使用PIC16F877微控制器首先是學習它們的相同的基本功能和指令等,然後再學習每款具體PIC微控制器的不同的功能、特殊功能暫存器的不同等方面,我在學習C51微控制器也是這樣一種的學習思路。
其它系列微控制器學習的思考
我想要成為一名優秀而且具有經驗豐富的電子從業人員,在學習和使用微控制器上要有多樣化,不能拘泥於一種型號的微控制器。除了學習C51和PIC系列微控制器以外對於其他型號的微控制器也要有所涉獵,比如AVR系列微控制器它也有自己的“獨門絕技”,比如它具有32個通用工作暫存器就有點類似C51微控制器中的累加器,這一突出的特點能夠解決單一累加器在處理資料時所造成的瓶頸現象,所以它的工作速度要比C51系列微控制器高出許多倍。
-
3 # shyangxc
因為沒學過c,應用又比較簡單,就用的組合語言程式設計。看過別人寫的c程式,感覺同樣功能,編譯後的大小,彙編只用1/10就能實現。
-
4 # willis
以我的經驗來講,完全沒必要,十幾年前用過PIC16F684直接上手,而且是彙編,沒有使用過PIC16F877。
-
5 # IT自動化交流
PIC系列的微控制器目前來看已經嚴重落伍了,效能差而且價格貴。
對於PIC16系列的處理器,最大的ROM好像就64K,RAM就幾K,你說的那款可能就1K的RAM,主頻也低,最大可以到16M,位數才8位,沒硬體乘除法器,一個指令週期需要4個時鐘週期,也就是4個時鐘才執行一條指令。
做一個16位*16位的乘法估計要ms極的時間。在pic微控制器上開發會讓人崩潰到懷疑人生。
關鍵還貴,一片可能要10元左右。
現在cortex核心是主流,比如st的cortex m0系列stm32f051,32位系統,有硬體乘法器,32位數乘以32位數的耗時不到1us
主頻可以到64M,一個指令週期大概是一個時鐘週期,8kRAM,64kRAM,外設資源也豐富,兩路的uart,n路的ADC,還便宜,單價5元以內,燒寫器也便宜,st-link c2,在淘寶網20元就可以買到,相比之下,pic的最便宜的燒寫器pickit3也要上百元
-
6 # 電子產品設計方案
學習微控制器不應該針對單一型號來進行學習
微控制器有很多的品牌,同一個品牌也有一系列非常多的型號可選用。我們在設計電子產品的時候需要根據產品的功能要求選擇合適的型號來使用。如果只會用8個腳的PIC微控制器,其它都不會用,那是沒有辦法設計產品的,也沒法成為一個合格的電子工程師。
學習PIC微控制器必需從PIC16F877開始嗎?因為PIC16F877的資源比較多,學會了PIC16F877的所有功能及外設的使用,基本上已經掌握了PIC八位微控制器的應用了,使用PIC其它型號的微控制器就很簡單了。所以比較多的人學習PIC微控制器從PIC16F877開始。其實不是必須從PIC16F877開始,任何一個型號的PIC微控制器都是可以拿來學習的。
學會學習至關重要現在的微控制器基本上都是用C語言來程式設計的,不管用什麼品牌或者什麼型號的微控制器都很容易入手,移植程式到不同平臺也很容易。學會了一種微控制器的使用和原理,再使用其它品牌或者型號的微控制器是很容易入手的。只要檢視規格書瞭解各個暫存器的配置和熟悉編譯環境就可以進行產品開發了。
學習微控制器先要實現0到1的脫變如果你本身有一定的數位電路和類比電路的基本或者有一定的電子基礎,學起來是很容易的。如果想從PIC微控制器開始入門。可以購買一款PIC微控制器的開發板,先要學習開發環境的搭建和實現最基本的功能,比如點亮一個LED。如果有朋友或者同事的指引,那就更快入門了。
制定學習計劃並且嚴格執行如果下定決心學習微控制器,就不能一天打漁三天曬網了。一定要給自己制訂計劃,有計劃,有步驟的進行學習。
一到兩天完成PIC微控制器開發環境的搭建,可以隨意下載、執行開發板附送的程式一到兩天學會最小系統搭建並學會系統時鐘配置,學會內部和外部時鐘和復位電路的配置一到兩天學會I/O基本配置的使用,學會按鍵的讀取和LED的點亮和熄滅一天再鞏固I/O的使用,能寫出一個按鍵控制LED的程式和一個LED跑馬燈的程式兩到三天學會靈活運用定時器,學會計時、定時、延時、測量、捕捉的各鍾使用兩天學會數碼管掃描顯示,可以讓數碼管顯示一些指定的數字三到五天完成人生第一個簡單小作品《時鐘》,學會了定時器,數碼管,按鍵,就可以做時鐘程式了一到兩天完成ADC學習,學會用用NTC測溫並把溫度顯示在數碼管上一天完成外部中斷學習,實時性要求高的輸入訊號,我們要透過外部中斷來響應,所以必須學習外部中斷一天完成PWM學習,實現PWM控制直流電機的轉速蜂鳴器發聲三到五天完成人生第二個簡單小作品《帶溫度顯示的小鬧鐘》兩天學會IIC實現24C02的讀寫操作,學會用24C02來儲存資料兩天學會串列埠(UART)操作學會了以上內容,對微控制器就已經有一定的掌握了,已經可以單獨完成一些簡單產品的開發了。
沒用過PIC系列微控制器,但發現該系列微控制器中的8腳微控制器很不錯,若想學會使用這些8腳微控制器,是不是得先學PIC16F877(其效能還不如ATmega168),入門後才能學該系列的8腳微控制器?
回覆列表
不同廠家不同型號微控制器大部分功能都是類似的。工作原理也是相通的,學好任何一個,再學別的就容易了。這麼多年來,微控制器本身發展變化不少,但從開發者角度來說,沒多大變化。