-
1 # Lyh2lw
-
2 # 讀讀歐洲史
基本上 這些MCU都差不多,選什麼不太要緊。現在比較通用的是類似於STM32等arm cortex M系列的,更強大而且適用性強。
推薦 STM32 ,其實都差不多的東西,但是用STM32 的人更多,也有不少企業使用者在用,學習資料也多
-
3 # 蛋科夫斯基
題主最好說一下是什麼基礎下開始學,還有目的是什麼,例如你是上學還是要生產應用。啥也不說只能綜合推薦AVR的ATmaga16啦。
題主已經排除了51微控制器,估計不是相關專業的,否則老師會帶你入51坑。學生自己學的話,建議ATmega這樣的AVR結構微控制器,要馬上生產應用的話建議PIC微控制器。
其實難度都差不了太多。歸根結底入門就是學I/O學C語言嘛。(什麼?你要學彙編啊,對不起走錯門了)再進階學延遲啊,中斷啊,介面啊,AD轉換啊,PWM啊……
所以入手AVR可以以較低的成本學的差不多。AVR支援FLASH、EEPROM蓄存器反覆燒寫、支援在ISP線上程式設計。片內整合多好神奇的振盪器看門狗和延遲功能。每個I/O口還能輸出較高的電平,加上豐富的資源,例如AD模數器、DA數模器,豐富的中斷源、SPI、USART、TWI通訊口、PWM巴拉巴拉……
如果就是要極為粗暴的迅速入門微控制器,還可以選擇以AVR為基礎的arduino平臺,用的也是ATmaga系列。基本上中學生就可以直接上手,跟玩積木一樣。產生了興趣,有了一些基礎再去學其他的。
-
4 # sharpxcb
對於微控制器的入門:
兩種型號的晶片,只在指令架構和編譯環境有所差異,這都不是影響入門的主要因素;
真正困擾初學者的,是如何把實際需求轉成思路,進而歸納成演算法(對應實際硬體電路和程式架構),最終滿足產品需求而又節省成本;
實現一個產品功能有多條路可以走(功能模組),從哪條道走取決於個人的知識能力和思維方式。
-
5 # 老馬識途微控制器
但只針對這個問題,初學微控制器程式設計,我推薦ATmega16微控制器。
其實單純從變成角度來說,學那種微控制器都可以,但是針對這個問題,我簡單說一下選擇AVR微控制器的原因。
原因有如下幾點:
一、從學習成本來說,AVR微控制器花費較小
微控制器的學習,除了微控制器開發板,還必須有程式設計器(現在STC的51微控制器只需一根USB線就可以程式設計,但我們今天不說這個),因為微控制器程式編寫完成後,需要透過程式設計器才能將程式燒錄到微控制器內。
另外我個人建議條件許可的話,最好再配備一個模擬器,因為對於複雜一些的微控制器專案,一旦除錯過程中發現了問題,在模擬環境下能夠快速、準確的找到程式的BUG。
AVR微控制器的程式設計器和模擬器價格都很低,並且非常容易自制(我當時學AVR微控制器的時候,程式設計器和模擬器就是自制的)。關於自制AVR微控制器程式設計器和模擬器的教程,網上很容易找到。而對於PIC微控制器來說,它的程式設計器價格就要高很多,並且不容易自制(我當時在網上找了很多資料,才勉強制成一個)。
二、從資料豐富程度來說,AVR微控制器資料更豐富
初學微控制器,會遇到各種各樣的問題,有時候甚至會犯很多低階錯誤,這些並不可怕,但是如何解決這些問題呢?現在很多人都是依靠網路來搜尋相應答案,從這方面來說,AVR微控制器的資料非常豐富,PIC微控制器的資料也很豐富,但是不如AVR微控制器的。(我當年寫過一個系列的AVR微控制器學習筆記,而對PIC微控制器,始終沒有時間去認真學習)。
-
6 # gnipiley
我對avr相對比較熟悉,avr比較好用,現在atmel被收購了出了幾款新的,比如attiny816,資源比較豐富,adc,dac,ac,timer,ccl,usart,spi,iic都比較齊,已經批次用在我們產品上。各個廠家的微控制器區別沒這麼大,大家的基本邏輯都差不多,熟悉了一款其他上手就很快了。新學的對微控制器各個模組的實現原理要去研究分析掌握,不建議去研究驅動,我一般都網上copy驅動,然後debug看結果,有問題再去分析spec和驅動的區別。程式的核心是實現目標邏輯的規劃以及程式碼robust健壯性,而不是驅動。
-
7 # 科技電小二
之前用過Avr16這顆料,也初步學習過pic的微控制器,這裡簡單說下,
題目中說到“入門”代表是初學,所以對於我個人理解,這兩顆晶片,相對於51系列來說,都不太適合作為一個初學者。
五年前開發舞臺燈光專案用avr微控制器使用的icc for avr開發環境,複雜需要配置融絲位,因為剛開始不熟悉,有好幾次將融絲位設定錯誤,將晶片鎖死,然後再也無法更新程式。
而pic16系列微控制器的儲存器有分頁操作,對於變數操作需要注意這部分細節。在c語言程式設計,或者彙編都有對應的操作。
Avr微控制器和pic微控制器相對於51來說,從開發環境,程式編寫開發,編譯配置,燒錄下載等要相對麻煩一些,如果有人帶著做專案,肯定是沒有問題。
但對於依靠網路和書籍的初學者來說,個人覺得還是不太適合。初學者建議還是以51微控制器作為入門的mcu,將微控制器C語言熟練掌握,並形成自己的程式設計思想。這個在微控制器工程師的工作中尤為重要。等哪一天專案完成了,再轉其他的晶片平臺,就會容易輕鬆很多。
以上是我個人見解,難免會有偏頗。
-
8 # 流浪p民
如果是現在開始學,這兩種都不建議,具體原因就不細說了。現在開始學,建議學stm8、stm32,原因也不說了,但請相信我不是託,我只是個業餘級的微控制器程式設計愛好者,正好玩過51、avr、pic、stm8、stm32這幾樣微控制器,只是個人的感受而已。
-
9 # 水牛
目前這兩種晶片都不是很常用,都是用在一些老產品上,而且都不是很適合入門學習,原因如下:
1、資料偏少:這兩種都是比較老的晶片了,之前很多用這種晶片的裝置都轉了,很多現在都改用STM32系列晶片了,你遇到問題找人問都困難。你看一下網上的開發板有沒有這兩種晶片的?很少。
2、學習成本高:入門學習必備的幾樣東西是開發資料、例程、開發軟體、開發板、模擬器,這兩款晶片的其他東西都還好,你問一個模擬器的價格,不便宜,而且不好用。買一個JLINK便宜的不到50元。
3、學習的價值低:你學好了,是不是要用啊?你去找工作,很少有公司要求會這兩種晶片的,很少,你學習的價值就被拉低了。如果用不到,等於白學了。對於老手來說很多都是通用的可能問題不大,但對於新手,就差別很大了。
所以,對於新手建議可以學習STM32系列晶片,從各方面比較都是比較合適的,而且現在有些大學裡都是學這個系列晶片的。
回覆列表
個人推薦AVR!PIC在地址分配上比AVR複雜一些。
8位機入門還是推薦51。現成的例子多,價格低,不需要專門的程式設計器。
至於功能這兩個都很好!個人接觸用AVR的更多些!