欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6355|回復: 12
打印 上一主題 下一主題
收起左側

C語言和匯編語言在單片機開發中,各有什么優缺點?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:604559 發表于 2019-8-28 11:18 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
對初學者來說,先學哪一種語言比較好,有利于提高呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:235200 發表于 2019-8-29 00:59 | 只看該作者
      C語言編屬于高級語言,具有可移植性,能夠結構化編程,而且程序很容易讀懂。C語言編寫程序結構清晰,移植性好,容易維護和修改。
      匯編語言針對不同的操作系統平臺,不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是匯編語言是針對專門的控制器的,所以運行速度可以精確到一個指令周期。
      匯編語言的程序讀懂需要借助微控制器的指令手冊以及各個寄存器的說明,所以很難讀懂。
      匯編語言編寫代碼實時性強,能夠直接控制硬件的工作狀態,但是不具有可移植性,維護和修改困難。
      學習單片機編程,如果想理解單片機結構和資源(硬件),還是學習匯編語言為好,如果只想應用單片機,用C語言編程好,因為掌握快,甚至有些內部結構無需掌握。
回復

使用道具 舉報

板凳
ID:123289 發表于 2019-8-29 15:03 | 只看該作者
沙發說得好
回復

使用道具 舉報

地板
ID:458699 發表于 2019-8-29 16:53 | 只看該作者
c簡單,匯編難,個人感覺。。入門最好選c,好理解。不過匯編是直接控制,規劃好的話,效率是非常高的。
回復

使用道具 舉報

5#
ID:351097 發表于 2019-8-30 09:40 | 只看該作者
一般還是先學匯編吧,匯編是很接近底層驅動的,對于理解單片機的內部結構會有很大的幫助。用匯編的話,要知道指令是怎么運行的,數據是怎么存取的,對內部存儲和外部存儲尋址方式。我覺得這才是單片機的精華所在。如果一上來就用C語言編程,會感覺單片機就像個黑盒子,只知道往黑盒子輸入數據,然后黑盒子會輸出數據,一旦數據出問題,往往會不知所措。
回復

使用道具 舉報

6#
ID:605389 發表于 2019-8-30 10:29 | 只看該作者
一般的單片機開發還是使用C語言比較多些,程序也相對比較易學易理解。匯編語言與底層系統更接近,執行效率也更高,同時學習理解難度也更大。因此初學者建議還是由淺入深,先學習c語言,有一定基礎再學習匯編,循序漸進。
回復

使用道具 舉報

7#
ID:605477 發表于 2019-8-30 13:49 | 只看該作者
先學匯編吧,多了解底層。
回復

使用道具 舉報

8#
ID:605557 發表于 2019-8-30 16:18 | 只看該作者
學了匯編之后,你可以更好的了解c語言怎么寫,明白c語言的底層怎么運行
回復

使用道具 舉報

9#
ID:155507 發表于 2019-8-31 12:44 | 只看該作者
匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少、程序執行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。

C語言是一種結構化的高級語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執行效率沒有匯編高。

匯編語言是低級語言,在編寫程序的時候會把根據不同的情況指定使用不同的尋址方式,能夠對內存和CPU里的通用寄存器直接操縱。不同的單片機系列會有不同的匯編語言
而C語言是高級語言,可以實現跨平臺。編寫程序無需指定CPU的指令執行情況,一段程序可以在不同體系結構的計算機上使用

c語言在編譯的時候會進行匯編,轉換為機器指令,才可以運行
準確的說,應該是不同指令集的CPU需要編譯成不同的機器語言。
目前PC機的CPU的指令集都是一樣的,所以,你在你的PC上編譯了一份可執行文件,復制到你師兄的PC里面,也可以用,但是復制到平板電腦里,就無法使用了。

就如英語和漢語的區別,你的母語是漢語,就如單片機的母語是匯編語言。英語和C語言就是一種表達語言

C語言是當今最流行的程序設計語言之一,它的功能豐富、表達力強、使用靈活方便、應用面廣、目標程序高、可植入性好,既有高級語言的特點,又有低級語言的許多特點,適合作為系統描述語言,既可以用來編寫系統軟件,也可以用來編寫應用軟件。

匯編的低級別語言,優點在于能夠對硬件資源進行準確的操作,比如寄存器的使用和數據存儲的具體位置。能充分運用硬件資源
缺點當然是編寫起來麻煩,程序閱讀麻煩
而c則相反,它都是編譯器自動分配說需寄存器和數據存儲單元,因此編寫者不能分配
但c語法簡單,程序可讀性強

匯編語言屬低級語言,而C語言是高級語言,所謂高級語言就是更容易被人們理解的語言,其實匯編語言能實現的功能往往也能通過C語言來實現,甚至用C語言會更簡單,但是匯編語言有一個優勢是其他任何語言所不具備的,這也是為什么匯編語言一直能在編程中占有一席之地,那就是匯編語言對硬件的直接控制,也就是說他能直接對硬件操作,可以繞過操作系統等等之類。雖然有的領域其他編程也能實現,但是在很多地方往往是匯編語言能更加簡單,更加完美的完成。而且學好了匯編語言你就能對cpu是怎么工作的有了清晰的認識,所以學計算機專業的一般都會學匯編語言。

匯編語言是采用助記符號來編寫程序的,用輔助符號代替機器語言的二進制碼,就把機器語言變成了匯編語言。可以直接同計算機的底層軟件甚至硬件進行交互。
編寫的代碼非常難懂,不好維護,所以出現一些面向過程的語言,C就是其中之一。C是可以說是中級語言。它把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、字節和地址進行操作。

匯編語言是用語言直接控制硬件,由硬件間接達到某種控制效果。而C語言是一種比較高級的語言,編寫者可以不用去考慮硬件而直接去命令計算機達到這種控制效果。換而言之,匯編語言對描述過程更注重,C語言之類的高級語言更注重描述結果。例如匯編語言中變量的賦值語句為 MOV A B 可以解釋為將A寄存器中的值復制至B寄存器。而C語言中直接表示為 b=a,解釋為使b=a    芯片都是由門電路構成。門有通有斷,對應在計算機代碼里是二進制的1或0。如果直接進行人機對話,只能輸入由0和1組成的代碼才能交流。這樣的代碼太長,而且難記。所以人們想出一個辦法,相互約定,用人們易讀懂的特定表達方式去表達特定的計算機代碼,再將此表達方式翻譯成計算機能直接讀懂的二進制代碼。這樣的一套方便人們表達的表達方式被稱為計算機語言。

學習匯編可以更好地理解單片機的硬件原理,工作方式。
你還在學習 必然要從最底層學起 而且要盡量學好

越高級的語言實用越方便 開發效率更高 執行效率更低 但靠硬件速度 效果 功能等可以彌補 主要做較大項目時如果全用底層語言實在太累了

不管什么語言都是個工具 寫程序真正重要的是你的思路 你的邏輯 你的想法 你要去哪才是目標 至于開手動檔車去還是開自動檔車去 那只是手段
回復

使用道具 舉報

10#
ID:584041 發表于 2019-8-31 14:08 | 只看該作者
肯定學C語言啊
回復

使用道具 舉報

11#
ID:540100 發表于 2019-8-31 14:33 | 只看該作者
匯編學習一遍,看幾個8位機編程案例,然后重點學C語法和開發案例,再轉向32位機,其中難易各有千秋
回復

使用道具 舉報

12#
無效樓層,該帖已經被刪除
13#
ID:605860 發表于 2019-8-31 17:06 | 只看該作者
學習c語言吧!
學習c語言好處:
(1)許多設備驅動程序和操作系統只能用C語言來編寫。
(2)如果學習過C語言,在學習其他高級編程語言時更加輕松。比如c++C#等。
(3)C的程序來運行效率更高,更快,程序可以很簡潔。
(4)c語言網上資料很多,學習起來較為容易。
(5)找編程開發方面的工作時,C語言仍然是最普遍需要的語言。
(6)許多微處理器芯片開發需要使用到c語言,比如單片機,DSP,ARM等。
回復

使用道具 舉報

14#
ID:77578 發表于 2019-9-2 19:24 | 只看該作者
最好的方式是用匯編的思想寫C語言的程序。匯編語言會讓你了解到單片機本質的操作,但是并不容易操作,特別是在維護方面,匯編語言目前之活躍在ROM在4K一下的單片機中,因為ROM小,C語言的編譯效率低,幾句話就會撐爆空間,而匯編語言做的好,將是很高效率的,但往往因為追求ROM空間,導致程序中到處的JMP,較難閱讀。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表