學微控制器必須學組合語言嗎,還是學好c語言就足夠了

時間 2021-08-13 00:45:50

1樓:武音

微控制器要做工程的話還是用c好,用匯編太複雜。c要100行的在彙編裡面要300-500行。。。。

我已經學了c語言(不是專門用來編微控制器的)然後學的微控制器彙編,下學期還要開微控制器c語言,足見c還是更加適用於微控制器。我們現在做的微控制器課程設計很多人用匯編編不出來的用c就很容易。

先學c,彙編大致瞭解一下就可以了

1、對於普通的專案,只要學好c就行了,但不是足夠了。

2、現在流行的微控制器開發程式語言有彙編、c、c++。

3、它們是可以相互依託的,比如要求開發速度,我們可以儘量用c或c++,因為它們都比用匯編完成任務速度要快。比如要求執行速度,我們必須考慮使用匯編,因為彙編的速度大體要比c或c++快5%~15%,另外我們還可以考慮用c或c++來巢狀匯編完成。

4、通過以上說明,只會c是不夠的,有空還是要看看彙編和c++的。

c語言是一種計算機程式設計語言,它既具有高階語言的特點,又具有組合語言的特點。它由美國貝爾研究所的d.m.

ritchie於2023年推出,2023年後,c語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。它的應用範圍廣泛,具備很強的資料處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到c語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如微控制器以及嵌入式系統開發。

2樓:匿名使用者

我的一點感想:

以前關於51微控制器的專案,均用匯編,裡面的資源如何用,到什麼程度,你特別清楚。【例如一段程式執行多少時間,用了哪些記憶體】。感覺特爽。

現在用c,寫其他型別得微控制器,編譯時,系統會佔用部分資源,這樣:資源用到何地步,一段c程式執行時間,中斷巢狀等,就不清楚了。雖然能完成任務,但是感覺特別不爽。

3樓:雪泥灬鴻爪

現在的微控制器用c就可以了。甚至有一些還支援c++。但是經常會在c**中嵌入彙編**,所以建議樓主還是學習一下組合語言會比較有幫助

4樓:匿名使用者

1、對於普通的專案,只要學好c就行了,但不是足夠了。

2、現在流行的微控制器開發程式語言有彙編、c、c++。

3、它們是可以相互依託的,比如要求開發速度,我們可以儘量用c或c++,因為它們都比用匯編完成任務速度要快。比如要求執行速度,我們必須考慮使用匯編,因為彙編的速度大體要比c或c++快5%~15%,另外我們還可以考慮用c或c++來巢狀匯編完成。

4、通過以上說明,只會c是不夠的,有空還是要看看彙編和c++的。

5樓:匿名使用者

不是必須的,但是要微控制器學的非常好就必須掌握彙編,我是之前學彙編的,程式設計的感覺和c完全不一樣,每一條指令都能感覺的清清楚楚,像電機等精確控制的時候是需要用匯編的。不過還是有很多人不會彙編,只會c,c是必須會的,移植性好。

51的彙編指令有111條,其實非常好掌握,分類分好就只有會30幾條就可以了。祕訣是知道指令的英文含義,比如mov是move的簡寫,setb是set bit的簡寫=置位,clr是清除的意思就是清零,call是呼叫的意思,建議看趙星寒的從0開始學微控制器你去看一下,很好的,你有電子基礎就更容易了.每天學一小時我就一個多月會的.

6樓:醉月空明

先學c,彙編大致瞭解一下就可以了

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

7樓:晨曦問

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

8樓:匿名使用者

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

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

9樓:匿名使用者

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

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

10樓:匿名使用者

先學c吧,簡單點

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

11樓:

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

12樓:尼古丁___憂傷

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

微控制器組合語言設計

這樣寫也可以,就是你的disp程式裡面的loop程式迴圈體是個死迴圈,沒有出口,這樣程式一直執行。最後導致多次中斷呼叫,記憶體ram耗盡,然後宕機。做中斷程式有個原則,就是中斷處理函式儘可能的短。你這個程式太長,把主程式應該承擔的工作,放到中斷服務程式中去做,況且loop 的迴圈是用ajmp跳轉過去...

微控制器組合語言的幾個疑問

靈若伊雪 1 r1 20h 不是一條指令,而只是一種說明,表明r1暫存器中的內容是20h。這個20h是地址還是資料,與這個說明無關。2 在指令 mov r1,40h 中,r1 是間接定址方式,表明r1中的內容是地址,指令的功能表明是將立即數40h傳送到r1指定的地址中。3 在指令中容易混淆的是立即數...

組合語言程式設計微控制器 跪求高手

程式如下 mov r0,20h mov dptr,4000h mov r2,16 loop mov a,r0 movx dptr,a inc r0 inc dptr djnz r2,loop sjmp end mov r7,16 需要移動數的個數 mov r0,20h 20h開始地址 mov dpt...