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

標(biāo)題: C語言和匯編語言在單片機(jī)開發(fā)中,各有什么優(yōu)缺點(diǎn)? [打印本頁]

作者: Plotos    時(shí)間: 2019-8-28 11:18
標(biāo)題: C語言和匯編語言在單片機(jī)開發(fā)中,各有什么優(yōu)缺點(diǎn)?
對(duì)初學(xué)者來說,先學(xué)哪一種語言比較好,有利于提高呢?
作者: csmyldl    時(shí)間: 2019-8-29 00:59
      C語言編屬于高級(jí)語言,具有可移植性,能夠結(jié)構(gòu)化編程,而且程序很容易讀懂。C語言編寫程序結(jié)構(gòu)清晰,移植性好,容易維護(hù)和修改。
      匯編語言針對(duì)不同的操作系統(tǒng)平臺(tái),不同的微控制器,指令都是完全不同的,即使指令相似,也不具有可移植性。但是匯編語言是針對(duì)專門的控制器的,所以運(yùn)行速度可以精確到一個(gè)指令周期。
      匯編語言的程序讀懂需要借助微控制器的指令手冊(cè)以及各個(gè)寄存器的說明,所以很難讀懂。
      匯編語言編寫代碼實(shí)時(shí)性強(qiáng),能夠直接控制硬件的工作狀態(tài),但是不具有可移植性,維護(hù)和修改困難。
      學(xué)習(xí)單片機(jī)編程,如果想理解單片機(jī)結(jié)構(gòu)和資源(硬件),還是學(xué)習(xí)匯編語言為好,如果只想應(yīng)用單片機(jī),用C語言編程好,因?yàn)檎莆湛欤踔劣行﹥?nèi)部結(jié)構(gòu)無需掌握。
作者: yzwzfyz    時(shí)間: 2019-8-29 15:03
沙發(fā)說得好
作者: aaaaabangw    時(shí)間: 2019-8-29 16:53
c簡單,匯編難,個(gè)人感覺。。入門最好選c,好理解。不過匯編是直接控制,規(guī)劃好的話,效率是非常高的。
作者: 沒有你    時(shí)間: 2019-8-30 09:40
一般還是先學(xué)匯編吧,匯編是很接近底層驅(qū)動(dòng)的,對(duì)于理解單片機(jī)的內(nèi)部結(jié)構(gòu)會(huì)有很大的幫助。用匯編的話,要知道指令是怎么運(yùn)行的,數(shù)據(jù)是怎么存取的,對(duì)內(nèi)部存儲(chǔ)和外部存儲(chǔ)尋址方式。我覺得這才是單片機(jī)的精華所在。如果一上來就用C語言編程,會(huì)感覺單片機(jī)就像個(gè)黑盒子,只知道往黑盒子輸入數(shù)據(jù),然后黑盒子會(huì)輸出數(shù)據(jù),一旦數(shù)據(jù)出問題,往往會(huì)不知所措。
作者: stormff    時(shí)間: 2019-8-30 10:29
一般的單片機(jī)開發(fā)還是使用C語言比較多些,程序也相對(duì)比較易學(xué)易理解。匯編語言與底層系統(tǒng)更接近,執(zhí)行效率也更高,同時(shí)學(xué)習(xí)理解難度也更大。因此初學(xué)者建議還是由淺入深,先學(xué)習(xí)c語言,有一定基礎(chǔ)再學(xué)習(xí)匯編,循序漸進(jìn)。
作者: 云淡風(fēng)輕sccd    時(shí)間: 2019-8-30 13:49
先學(xué)匯編吧,多了解底層。
作者: jsdfhasuh    時(shí)間: 2019-8-30 16:18
學(xué)了匯編之后,你可以更好的了解c語言怎么寫,明白c語言的底層怎么運(yùn)行
作者: angmall    時(shí)間: 2019-8-31 12:44
匯編語言是一種用文字助記符來表示機(jī)器指令的符號(hào)語言,是最接近機(jī)器碼的一種語言。其主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。

C語言是一種結(jié)構(gòu)化的高級(jí)語言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語言。缺點(diǎn)是占用資源較多,執(zhí)行效率沒有匯編高。

匯編語言是低級(jí)語言,在編寫程序的時(shí)候會(huì)把根據(jù)不同的情況指定使用不同的尋址方式,能夠?qū)?nèi)存和CPU里的通用寄存器直接操縱。不同的單片機(jī)系列會(huì)有不同的匯編語言
而C語言是高級(jí)語言,可以實(shí)現(xiàn)跨平臺(tái)。編寫程序無需指定CPU的指令執(zhí)行情況,一段程序可以在不同體系結(jié)構(gòu)的計(jì)算機(jī)上使用

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

就如英語和漢語的區(qū)別,你的母語是漢語,就如單片機(jī)的母語是匯編語言。英語和C語言就是一種表達(dá)語言

C語言是當(dāng)今最流行的程序設(shè)計(jì)語言之一,它的功能豐富、表達(dá)力強(qiáng)、使用靈活方便、應(yīng)用面廣、目標(biāo)程序高、可植入性好,既有高級(jí)語言的特點(diǎn),又有低級(jí)語言的許多特點(diǎn),適合作為系統(tǒng)描述語言,既可以用來編寫系統(tǒng)軟件,也可以用來編寫應(yīng)用軟件。

匯編的低級(jí)別語言,優(yōu)點(diǎn)在于能夠?qū)τ布Y源進(jìn)行準(zhǔn)確的操作,比如寄存器的使用和數(shù)據(jù)存儲(chǔ)的具體位置。能充分運(yùn)用硬件資源
缺點(diǎn)當(dāng)然是編寫起來麻煩,程序閱讀麻煩
而c則相反,它都是編譯器自動(dòng)分配說需寄存器和數(shù)據(jù)存儲(chǔ)單元,因此編寫者不能分配
但c語法簡單,程序可讀性強(qiáng)

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

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

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

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

越高級(jí)的語言實(shí)用越方便 開發(fā)效率更高 執(zhí)行效率更低 但靠硬件速度 效果 功能等可以彌補(bǔ) 主要做較大項(xiàng)目時(shí)如果全用底層語言實(shí)在太累了

不管什么語言都是個(gè)工具 寫程序真正重要的是你的思路 你的邏輯 你的想法 你要去哪才是目標(biāo) 至于開手動(dòng)檔車去還是開自動(dòng)檔車去 那只是手段

作者: 測(cè)控系吳~    時(shí)間: 2019-8-31 14:08
肯定學(xué)C語言啊
作者: winwor    時(shí)間: 2019-8-31 14:33
匯編學(xué)習(xí)一遍,看幾個(gè)8位機(jī)編程案例,然后重點(diǎn)學(xué)C語法和開發(fā)案例,再轉(zhuǎn)向32位機(jī),其中難易各有千秋

作者: 么么么1246    時(shí)間: 2019-8-31 17:06
學(xué)習(xí)c語言吧!
學(xué)習(xí)c語言好處:
(1)許多設(shè)備驅(qū)動(dòng)程序和操作系統(tǒng)只能用C語言來編寫。
(2)如果學(xué)習(xí)過C語言,在學(xué)習(xí)其他高級(jí)編程語言時(shí)更加輕松。比如c++C#等。
(3)C的程序來運(yùn)行效率更高,更快,程序可以很簡潔。
(4)c語言網(wǎng)上資料很多,學(xué)習(xí)起來較為容易。
(5)找編程開發(fā)方面的工作時(shí),C語言仍然是最普遍需要的語言。
(6)許多微處理器芯片開發(fā)需要使用到c語言,比如單片機(jī),DSP,ARM等。
作者: moyuqilin    時(shí)間: 2019-9-2 19:24
最好的方式是用匯編的思想寫C語言的程序。匯編語言會(huì)讓你了解到單片機(jī)本質(zhì)的操作,但是并不容易操作,特別是在維護(hù)方面,匯編語言目前之活躍在ROM在4K一下的單片機(jī)中,因?yàn)镽OM小,C語言的編譯效率低,幾句話就會(huì)撐爆空間,而匯編語言做的好,將是很高效率的,但往往因?yàn)樽非驲OM空間,導(dǎo)致程序中到處的JMP,較難閱讀。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1