微控制器的程式設計用C語言好還是組合語言好。為什麼?

2023-01-23 04:35:26 字數 5636 閱讀 4420

1樓:匿名使用者

一般都用c語言程式設計。只有在c解決不了和**效率比較高的時候才會使用匯編。很明顯,c語言容易程式設計,更容易模組化程式設計,容易學習,會的人多。

編寫同一個程式,c語言所花的時間平均比彙編短很多。而且對應不同的微控制器平臺,組合語言都是不同的,而c語言是通用的。

鑑於c語言有這麼多好處,建議你用c語言程式設計,現在隨著編譯器功能的強大,如kiel,基本上沒有c語言處理不了的微控制器問題了。

現在的硬體技術的發展,硬體成本越來越低,在**效率不高的時候可以通過提升硬體的水平來實現系統的實時性需求。因此,在很多時候,**的優化工作量減少了很多。

總之,c語言程式設計優於彙編。c語言是硬體的語言。

2樓:匿名使用者

看你的程式設計能力了喲,強的話就用匯編,不是很強就是用c語言了。

微控制器用c語言好還是組合語言,為什麼???

3樓:沒有運氣鳥

推薦彙編。

c學起來比較容易,針對性比較強,適用的可能比較窄,學習原理的時候用這個更容易上手。

但是彙編是基礎,雖然相對要難一些,做開發測試 用匯編更加地道。

4樓:匿名使用者

推薦是c語言好,一些彙編很難程式設計的用c語言就好多了。

但是要深入瞭解微控制器的話,彙編非學不可。

5樓:匿名使用者

各有各的好。彙編產生的**少,程式佔用微控制器空間小,速度執行快,可移植性差。c語言可移植性強,相對於彙編程式產生的**多佔用空間大,執行速度稍微慢些(程式不大時感覺不明顯)。

6樓:匿名使用者

個人覺得還是c語言好,不過彙編最好能看懂。

7樓:悉蕙

如果你c好的話,就c比較簡單易懂,彙編的話要中斷或呼叫程式很麻煩,容易搞亂。

給微控制器程式設計用c語言好還是用組合語言好

8樓:女巫蛇蛇

彙編邏輯簡單,但**複雜;c剛好相反,所以最好彙編與c結合使用。如果c好的話,可以全用c。

9樓:匿名使用者

如果學習的話,建議兩種都要學習,因為根據應用情況不同需要使用不同的程式!

如果c語言可以滿足應用要求,應該儘量使用c語言,c語言程式設計用時少,程式**簡單!易於理解!**效率低於組合語言!

如果c語言不能滿足應用要求,則必須使用組合語言,組合語言效率高,二進位制**少,程式**複雜!不易理解!

總之,能用c語言就用c語言,區域性**可以使用匯編!至於說哪個更好,我更偏向於c語言!

例如:編寫頻率計程式:

在採集過程中,若使用c語言,**效率低,單個採集週期需要的時間長,頻率取樣最大值會變低!如果頻率取樣最大值小於設計要求,則採集過程**「區域性」需要使用組合語言!

10樓:陳宗權

如果你的技術足夠,能用匯編當然最好了。

但是用c語言程式設計相對來說方便直觀一些,但如果對**要求高,可能最後還需要對機器碼或者對應的彙編檔案進行一些修改。

11樓:賊寇在何方

c語言好,c語言平臺無關,可移植,寫過的**,換了裝置以後還可以用。

彙編就得重寫。

12樓:網友

我認為,什麼語言都好。

c的可讀性,和簡單性都要強於彙編。

但是彙編有強大的可操作性,因為彙編解決問題的辦法不止一種。

各有特長~~

13樓:匿名使用者

c語言的可讀性,流程思路清晰,可移植性好。

彙編比較難看懂,可移植性較差。

個人觀點,僅供參考!

14樓:家家醬油

c語言比較好,移植性比較強,而且簡單方便,容易學。對微控制器構造的瞭解不需要像彙編要求的那麼高,只要懂得相關的狀態字設定就行。

15樓:網友

如果複雜一點的程式還是用c語言吧,比較簡練直觀。

用匯編雖然邏輯簡單,可是**容易冗長。

16樓:陳金喜楊連紅

c語言和組合語言各有特點,與硬體關聯度較高部分用組合語言,其它用c語言。

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

17樓:有學問的免子

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

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

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

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

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

語言是大眾程式語言,是其他程式設計。

微控制器程式設計用匯編好還是c語言好?

18樓:海天盛筵

微控制器程式設計,c語言程式設計但很好。

大致分成三類:機器語言、組合語言、高階語言。機器語言由於繁瑣容易出錯,大部分使用者已經不再便用。

1.微控制器組合語言。

組合語言是一種符號語言,它使用文字助記符來表示機器指令。它是最接近機器**的語言。它的主要優點是佔用資源少,程式執行效率高。

由於每條指令對應於一個機器碼,所以每一步的執行都非常清楚。

並且程式的大小和棧呼叫都易於控制,除錯也更加方便。但是不同型別的微控制器,其組合語言可能會有一點不同,所以移植起來並不容易,因為它們的指令系統是不同的。但掌握組合語言可以幫助我們理解影響四川語學習效率的特殊規律。

例如,瞭解組合語言指令可以讓您使用晶片內ram作為變數,因為晶片外變數需要多個指令來設定訪問的累加器和資料指標。

類似地,只有彙編程式設計經驗才能防止在需要浮點數和啟用函式時建立大型、低效的程式,這在沒有組合語言的情況下是無法做到的。

2.微控制器的c語言。

mcuc語言是一種經過編譯的程式設計語言,它兼顧了多種高階語言的特點,具有組合語言的功能。c語言具有豐富的庫函式,計算速度快,編譯效率高,可移植性好,並能實現對系統硬體的直接控制。

此外c語言程式具有完整的程式模組結構,為軟體開發中的模組化程式設計方法提供了強有力的保證。與組裝相比,具有以下優點:

mcu的指令系統不需要知道,只需要對51的記憶體結構有一個初步的瞭解,對於暫存器的分配,不同的記憶體定址和資料型別等細節都由編譯器來管理。程式有一個正式的結構,可以分為不同的功能。這使得程式可以結構化,結合變數選擇和特殊操作,並提高程式的可讀性。

大大減少了程式設計和除錯時間,從而提高了效率。所提供的庫包含許多具有強大資料處理能力的標準子例程,由於其方便的模組化程式設計技術,可以很容易地將這些子例程程式設計到新程式中。

功能強大靈活,庫中包含了很多標準的子程式,具有較強的資料處理能力,可以方便地程式設計植入新的程式,因為它具有方便的模組化程式設計技術。

mcuc語言作為一種非常方便的語言而得到了廣泛的支援,(語言程式本身不依賴於機器硬體系統,基本上不根據微控制器的修改就可以將u的不同之處快速移植過來。)

利用微控制器c語言進行程式設計,已經成為微控制器軟體開發的主流,作為一門綜合性的技術和參與開發的大型軟體系統,微控制器開發人員最好能夠掌握基本的c語言程式設計。

19樓:

開發當然是用c,又快又易懂好維護,但是想要優化程式還是要懂彙編的,要不然實現專同樣一個功能的程式屬,好的程式設計師可以把程式設計得又短又快,而不做優化的可能會又臭又長,2k以下可以搞定的,你非要搞到4k以上去那最終產品的成本每個至少會相差幾毛到一兩塊錢,而且成本升高時質量卻是下降的,這樣當然就不好了,所以我個人認為做微控制器程式設計,應當是彙編和c都會才是最好的,次一點的是會c,且能大致看懂彙編,可以幫助優化c程式,只會彙編,一個程式開發下來,得花幾周到幾個月,開發成本太高了,不值得。

只會c完全不懂彙編,那也是很難做出高質量的微控制器程式的。

20樓:匿名使用者

大學學來習的時。

候用的是匯源編語言,初學微控制器彙編有利於深入結構的瞭解,但是真正工作的時候,用的是c語言;組合語言一般只在處理器啟動的時候用一下,或c語言插入彙編的呼叫,之後就全是c語言,彙編移植性太差,但是它的效率高,時間精度能控制好。一般彙編都不需要你自己寫,拿來用就行,主要還是c語言。可以肯定的告訴 你,99%用c語言。

21樓:匿名使用者

c語言和彙編最終都是要變成機器碼的。如果微控制器提供的開發包有c,顯然是c簡單。。。

22樓:匿名使用者

一般情況下使用c語言比較好,除非你的某段**需要很高的速度。

微控制器開發是用c語言好還是組合語言好

23樓:樊老溼

組合語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是佔用資源少、程式執行效率高。但是不同的cpu,其組合語言可能有所差異,所以不易移植。

對於目前普遍使用的risc架構的8bitmcu來說,其內部rom、ram、stack等資源都有限,如果使用c語言編寫,一條c語言指令編譯後,會。

變成很多條機器碼,很容易出現rom空間不夠、堆疊溢位等問題。而且一些微控制器廠家也不一定能提供c編譯器。而組合語言,一條指令就對應,我們還是建議採用組合語言比較好。

而c語言是一種編譯型程式設計語言,它兼顧了多種高階語言的特點,並具備組合語言的功能。c語言有功能豐富的庫函式、運算速度快。

、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。c語言是一種結構化程式設計語言,它支援當前程式設計中廣泛採用。

的由頂向下結構化程式設計技術。此外,c語言程式具有完善的模組程式結構,從而為軟體開發中採用模組化程式設計方法提供了有力的保障。

因此,使用c語言進行程式設計已成為軟體開發的一個主流。用c語言來編寫目標系統軟體,會大大縮短開發週期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、效能更完備的系統。

對於目前普遍使用的risc架構的8bitmcu來說,其內部rom、ram、stack等資源都有限,如果使用c語言編寫,一條c語言指令編譯後,會。

變成很多條機器碼,很容易出現rom空間不夠、堆疊溢位等問題。而且一些微控制器廠家也不一定能提供c編譯器。而組合語言,一條指令就對應。

一個機器碼,每一步執行什么動作都很清楚,並且程式大小和堆疊呼叫情況都容易控制,除錯起來也比較方便。所以在微控制器開發中,我們還。

是建議採用組合語言比較好。

對於複雜而開發時間緊的專案時,可以採用c語言,但前提是要求對該mcu系統的c語言和c編譯器非常熟悉,特別要注意該c編譯系統所能。

支援的資料型別和演算法。雖然c語言是最普遍的一種高階語言,但不同的mcu廠家其c語言編譯系統是有所差別的,特別是在一些特殊功能模組的。

操作上。

24樓:汽車安全出行

初學者還是用c吧,彙編對於初學者來說還是太難了,主要是指令太多了,等c很熟了之後,可以考慮用匯編。

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

25樓:匿名使用者

我的一點感想:

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

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

微控制器彙編程式求解,微控制器 組合語言編寫

嘿嘿 還是俺來幫你看看吧。1 原因找到了 你在第二段程式中 少了一條指令 使你的流水燈流到迴圈2就斷了。加上ljmp three 就可以跳轉到第三段流水燈控制程式上了。2 具體就是加在第二段程式的 cjne a,02h,loop3 指令的下面。即修改後 應如下 cjne a,02h,loop3 lj...

微控制器(組合語言)需要的軟體,微控制器(組合語言)程式

51微控制器是襲keil 軟體 關鍵你學過什麼語言?如果學過c語言就用c,上手快。學過其他的高階語言也可以,和c也大都是相通的。要是學過彙編的話就用匯編,畢竟彙編對硬體的操作 建議你還是先學微控制器c語言,這樣不會因為彙編這個攔路虎,而降低你持續學習的熱情。微控制器 組合語言 程式 開發當bai然是...

51微控制器組合語言例項,51微控制器組合語言資料

其他沒要求了?要是這樣,隨便寫寫的呀。清零程式 org 0000h ljmp start org 0030h start mov r7,mov r0,30h clr aloop mov r0,a inc r0 djnz r7,loopend 我的部落格上有,你可以去看看。51微控制器組合語言資料 一...