想學好51微控制器,是不是要先學習組合語言

時間 2021-08-30 10:29:00

1樓:姜完善

就這些問題我來給你一個合理的解答,如有不對望請見諒!

首先,學好微控制器不是說學好一門語言(組合語言)就行的。組合語言是我們在掌握和了解了微控制器的工作原理後,對微控制器進行軟體開發的工具。想學好51微控制器,你必須對微控制器的結構和工作原理瞭如指掌,然後是對特殊功能暫存器的程式設計(即用組合語言或c語言)來對微控制器內部進行初始化,初始化是最關鍵的因為它是後繼工作的必要條件,在此基礎上才是使用者的程式要實現的功能!

其次,組合語言是針對不同機器的,它是面向底層硬體的。不同的機器有其自己的彙編指令,由於這個原因組合語言不能在機器之間進行移植,即在這臺機器上執行的彙編程式不能在其他機器上執行,要求兩臺不同機器實現相同功能,必須分別進行程式設計。而c語言就不一樣了,它並不像組合語言那樣依賴硬體,所以具有很好的可移植性。

所以,拿本組合語言的書看是沒有效果的,沒準你看不下去,本來有的一點興趣就被磨滅了,這樣不好!

再次,上網購買一個微控制器開發板用作平時的學習是很棒的,因為你在夠買時會給你送一張cd盤,你面有很多資料,譬如keil c51軟體(進行彙編,c語言等程式設計),還有protues微控制器**軟體作為快速專案開發用。

最後,北航那本微控制器的書不錯,能在圖書館借一本就夠了。前期,好好學習微控制器的內部構造,以及微控制器的初始化。接著是用組合語言開發微控制器,當你覺得彙編太麻煩,那就借幾本關於c語言開發微控制器的書,但彙編必須要回,因為彙編有助於我們對微控制器內部構造有更深的瞭解。

2樓:匿名使用者

先逐一回答提問:

1、想學微控制器不一定非要學彙編,但要成為微控制器高手就一定要學彙編。

2、不同的cpu其組合語言是不同的,但基本知識都是相通的。我上學時學的cpu是z80,工作後自學的51微控制器,雖然語句上有差別,但基本原理上沒本質差別。

3、我個人認為彙編的學習與微控制器硬體知識的學習最好不要剝離開,原因我後面細述。

4、學過c語言,實在不想學彙編也可以,但如果有條件最好補上這一課。

一般比較全面的基礎微控制器教材其結構一般有3種

1、微控制器介紹+彙編+應用擴充套件示例。這種教材一般主要是講微控制器本身的,最好從頭到尾完整的學習,除非你瞭解,否則儘量不要跳躍學習。

2、微控制器介紹+c語言+應用擴充套件示例。這種教材往往以語言為出發點,對微控制器本身的介紹比較簡單。

3、其它:比如基於微控制器的**軟體、無線通訊應用等等,對微控制器本身的介紹就更簡單了。

彙編的學習其實對理解微控制器的工作原理、流程等方面都會有較大提升的,而且會增加感性認識(這點很重要,c語言無法體會到)。另外,在一些實時性很強的應用中,有時使用c語言很難滿足嚴格的時序要求,需要c和彙編配合使用的情況,這種事我在做一個cpu卡讀寫卡器時就遇到過。更何況你已經會c語言了,多學一樣彙編有何不可?

所以我建議你採用第1種。微控制器的彙編真的不難,入門後你會體驗到的。

還是學一下吧,技不壓身。

3樓:匿名使用者

1、微控制器彙編 跟微機原理裡面的彙編有一點區別,微控制器彙編會簡單一點,比如說51的,命令少一些,比較容易學,可以根據一款微控制器來學習彙編,邊學邊實踐;

2、個人認為開始學微控制器的話學習彙編還是有好處的,可以使你更深的瞭解到微控制器的內部各個暫存器,每個暫存器的功能,對了解微控制器是很有用的,以後程式設計還是要用c的,彙編可讀性差,可移植性差,程式設計也比較困難,特別是大的專案,用匯編就更麻煩,我在學校的時候,曾經寫過幾千行的彙編程式,雖然現在已經很難看懂那些程式,但是感覺用匯編還是很有用的。

3、微控制器學好的話,後面學習更高階一點的晶片程式設計,他們都有好多共同的東西,學習起來會很快。

希望能幫到你。

4樓:匿名使用者

作為過來人,可以很認真地給跟你說,完全沒有必要。建議先從c語言開始學。組合語言到後期你自己會理解,在實際應用中,一般只要看得懂彙編就行。

5樓:做而論道

51微控制器,學習的不僅是程式設計,還有硬體電路的設計。

c,是脫離硬體的高階語言。

掌握彙編,才能更好的聯絡到硬體。

想學好51微控制器,是不是要先學習組合語言?--這是必須的。

6樓:濤哥打狙

學微控制器可以不用匯編,直接用c,組合語言接近硬體,當然學會彙編多少會有點好處,可以跟好理解c

7樓:侯辭

我覺得也不一定要學彙編,現在真的已經很少有人有彙編給微控制器寫程式了!我建議看看微控制器的c語言程式設計比較好!

8樓:程東旭

組合語言可以幫助你更好理解微控制器的暫存器,以及內部資料的傳送過程,先了解一下就行,還是學c語言吧!

9樓:匿名使用者

直接學微機原理就行了,主要是瞭解基本的指令的執行原理就行了,還有微機的工作方式就行了,組合語言不用單獨學,比較c51的彙編與80x86的很大區別的,然後多看看c51的工作方式,暫存器,指令 介面這些才是最重要的!而且80x86裡的組合語言很多都是講在dos作業系統之下的,什麼字串啦 dos呼叫啦 這些東西跟微控制器都沒關係,但是這些東西往往是你學習80x86組合語言的障礙,所以根本就不用太仔細學組合語言的,直接學c51就行了

10樓:

直接學習c語言就可以了,彙編侷限性太大了,特別是寫一些複雜的功能

11樓:淡_水_河_邊

我認為先學點組合語言,組合語言與微機原理的彙編類似,只是簡單些。

組合語言能幫助你理解語句執行的過程以及產生的效果和影響,彙編學習一段時間之後,可以學c語言了,c語言入門學習比較簡單,這樣你可以對這兩者進行比較。

在某些場合,為了提高執行效率,在c語言當中可以插入彙編程式來保證速度和時效。

新手,51微控制器和c語言,先學那個比較好,謝謝 20

12樓:匿名使用者

微控制器可以用匯編

語言和c語言編寫程式。

大學教學51微控制器,基本都是組合語言,但是會有一門c語言課程;

工作上最好選擇c語言程式設計,因為每個微控制器都有自己的組合語言,你也不確定找的工作是關於51微控制器、pic微控制器或者飛思卡爾微控制器,所以很多人都是c語言程式設計微控制器。

以上僅供參考,怎麼選擇看你自己了,肯定都要學習的。

13樓:艸丿時光

先學習c語言 c語言是基礎 然後學習51微控制器 或者c++

14樓:匿名使用者

當然要先學c語言啊,而且還要學組合語言,因為學微控制器時就要用c和組合語言程式設計

學51微控制器用匯編還是用c語言比較好?先學彙編可以嗎?

15樓:晨曦問

絕對可以,我就是先學習的組合語言,只有學習了彙編才能真正的瞭解微控制器。。 如果不瞭解微控制器的構造及原理,學c很快就會厭倦。不過c就是簡單點,容易上手, 我先學的是彙編,也感覺不是很難。

16樓:匿名使用者

從絕大多數資深微控制器從業人員的經驗來看,學習微控制器從彙編入手,內

逐步過渡到c語言這容麼一個過程最好。因為組合語言最直接的接觸硬體各個介面,弄懂了組合語言,硬體介面和控制模組基本上就掌握了,駕馭起來就會得心應手,之後再用c語言來編制複雜程式就能揮灑自如了。

17樓:匿名使用者

先學習c語言哦,c語言更簡單,並且現在的微控制器程式基本上都用c語言寫更加簡單哦,匯內編學起來較

容難點,雖然學會了彙編可以更好的瞭解程式的執行過程,用匯編編寫**量非常大也要求思路很清楚,對於新手來說最好就用c哦,比如叫你寫了延時函式,用c很簡單,幾句話就可以,但彙編的話 你首先得知道有哪些暫存器,**也比較多

18樓:匿名使用者

先學c吧,簡單點

沒程式設計基礎學彙編有點難度

19樓:

當然可以,不過個人建議直接學習c比較好點。

20樓:尼古丁___憂傷

這個沒有先後,但個人感覺c語言好學一點。

51微控制器學習使用c語言好還是組合語言好

21樓:有學問的免子

微控制器用c語言還是組合語言好?當然是c語言了,那是因為如下原因:

1、c語言是高階語言,**移植性好,易於維護;

2、程式設計靈活,隨心所欲;

3、語言層次分明,思路清晰,可讀性強。

4. c語言是目前最流行的微控制器程式語言,例程**多,便於參考,微控制器技術發展之快,應用之廣,學習群體日益龐大,這和keil c51開發環境的問世是分不開的。

5.c語言是大眾程式語言,是其他程式設計

51微控制器組合語言基礎書籍: 誰有推薦關於學習51微控制器組合語言基礎的書籍 比較好的

22樓:做而論道

彙編語bai言,是一種十分簡明

du的語言。

它和硬體

zhi,是直接相關的。

如果,dao對硬體缺乏理版解,組合語言,權則是非常難以理解的語言。

樓主想要尋找比較好的書,顯然是遇上了難處,通常是硬體基礎不夠。

如果是這樣,應該先學習c語言。

c語言,是高階語言,它是脫離硬體的。

學習c語言,可以在不涉及硬體的條件下,學會程式設計的方法、思路。

程式設計的這些基本知識,如果利用組合語言來學習,將會花費更多的時間。

學會c之後,再學彙編,這是提高的過程。

這個提高,並不是必須的。

因為,在51微控制器這個領域,用c程式設計,已經足以夠用。

學會c之後,再學彙編,難度就會大大降低。

學好彙編之後,你會發現,c編譯器,實在是太笨了。

比如,把一個數字,分解成十位、個位:

用 c 語言,就必須進行兩次除以10的運算;

用組合語言,計算一次除以10,商和餘數,就都算出來了。

像這樣的例項,比比皆是。

原因就是c編譯器,只能使用中小學生層次的演算法思路。

學好了彙編,基本上,就不會再用c程式設計了。

採納答案說,「「摸索透了之後也要學著接觸c」」,並不是最好的學習途徑。

c是初級的層次,彙編則高一些,最好的是c、彙編混合程式設計。

應該由淺入深,逐步的進行,這樣,學習的效率才能高。

23樓:匿名使用者

很多年前一本書《微控制器原理與應用教程》,電子工

24樓:匿名使用者

《復mcs-51/96系列微控制器原理及應用制》,這個主要是針對彙編的,但是摸索透了之後也要學著接觸c。

還有,如果想真正學好微控制器,光看書是肯定不行的,在網上買一塊開發板,照著實驗過一遍,保準你不說精通也學成高手了。

怎樣學習微控制器,應該如何著手,如何學好微控制器?

我也是今年剛剛學微控制器。我覺得如果你不是電子專業的話,一年之內想參加電子設計大賽需要你付出很大的努力。我的建議是,先從51微控制器入手 即80c51 這樣應該容易些。學得比較熟練後就可以學學電子設計大賽要求的晶片了,例如,msp430。如果你沒有數字邏輯電路基礎的話建議還是先去了解下數字邏輯電路的...

想學習簡單的微控制器

我個你推薦兩本 第一本是 51微控制器應用從零開始 揚欣老師編寫的,可以讓一個初中生學會微控制器,這本書著重實踐和動手能力 第二本是 微控制器輕鬆入門 這本書著重開發軟體keill的操作,周堅老師編寫的。兩本一起讀,買塊學習板,很快就上手,並且越學越有勁,一點不枯躁,學完後讀 51微控制器應用例項詳...

我想學微控制器,請問是不是要懂得c語言,學c語言,用什麼軟體?可不可以c不學c語言

吹海風吃燒烤 對 c語言很基本的,就像 你騎摩托車 一般是先學會騎自行車 當然不排除你一躍直接上大車的情況.懂c的 學微控制器程式語言 會容易的多.先從基礎看,命令語言 語法.c是基於過程的,強調的是程式的功能,以函式 功能 為中心。c 是物件導向的,強調程式的分層 分類,以抽象為基礎,進行物件的定...