51微控制器學習感覺很難上手,買的書本都是組合語言,但是聽說C語言更好。推薦一下還怎麼學習

2023-02-16 01:25:11 字數 4612 閱讀 9983

1樓:匿名使用者

新學習任何一款微控制器都不會簡單,要從基礎開始學習,c有c的優點,彙編有彙編的優點,不懂彙編的人成不了程式設計高手,c裡面插入彙編則能充分利用兩者的優點,學微控制器沒有捷徑可走,必須學會基本理論,推薦你認真學一下《微控制器原理與應用-基於彙編、c51及混合程式設計》一書,這本書中的例題和實際結合,這本書學好了再做設計時會有點思路,各個例題的原理圖與實際電路圖一致,標出了各器件的引數,給出了彙編、c51兩種程式設計的詳解,該書例題的程式編寫思路符合於產品設計,最後一章給出了兩個完整的例項,通俗易懂,文庫中有該書的教學課件,結合課件學習形象一些容易懂。學微控制器不要圖快,該書的第2、4、5章是基礎,一定要真正學會,然後再學其他章節就容易啦,第7、8、11章在開發時會常用的,要學好。學微控制器不要急於求成,欲速則不達,該書的第12章給出了兩個應用例項,剛學開發時可以仿照這兩個例項進行。

2樓:匿名使用者

買塊簡單的開發板實踐一下。一般都會有開發教程,裡面有c語言的。

學習微控制器c語言,哪些書比較好?

3樓:涼念若櫻花妖嬈

看微控制器c語言。

教bai程如郭du天祥的《新概念51微控制器c語言教程》zhi;如果dao不會c語言的話先內把c語言學好,學譚浩強容《c程式設計》,有c語言基礎學c語言程式設計就沒多大問題。

微控制器是軟硬體結合的東西,所以需要學好軟體和硬體兩部分:軟體——可以學彙編,也可以學c語言,建議學習c語言,因為現在很多人都用c來程式設計序,而且c語言的閱讀性和移植性要比彙編好。c語言更接近人的語言,學起來容易些,當然,最好後面也把彙編學了,這樣在實際應用時更得心應手。

學c語言的話可以去買本譚浩強的《c語言程式設計》;硬體——數電、模電的基礎必須得有,不然你拿到電路不會分析計算也不會使用,只要找一些數電模電的教材看就好了,沒有什麼特殊的要求。

4樓:匿名使用者

微控制器c語言,彙編,資料結構,之類的,之後gui,……

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

5樓:做而論道

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

du的語言。

它和硬體。zhi,是直接相關的。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6樓:匿名使用者

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

7樓:匿名使用者

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

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

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

8樓:匿名使用者

我的一點感想:

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

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

9樓:雪泥灬鴻爪

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

10樓:匿名使用者

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

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

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

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

11樓:匿名使用者

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

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

12樓:醉月空明

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

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

13樓:匿名使用者

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

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

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

希望能幫到你。

14樓:匿名使用者

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

15樓:做而論道

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

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

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

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

16樓:濤哥打狙

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

17樓:侯辭

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

18樓:匿名使用者

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

19樓:

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

20樓:淡_水_河_邊

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

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

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

誰可以推薦一本學51微控制器的書啊,要求全是例項啊,基礎原理已學過了,想動手操作,組合語言編的最好了。

21樓:lin林林林林林

買套開發板裡面有很多例項 我也有 可以聯絡。

請問微控制器的學習難麼 ?學組合語言還是c語言的多?

22樓:南江小劉

微控制器學習,繞不開組合語言。建議學習c51系列的c語言編譯執行,同時學習彙編的部分控制。各種晶片指令不同,需要大量的實驗,建議購買元器件自己組裝開發板,更加熟悉。

或購買套件,編譯linux 工具鏈及os定製。

有關51實驗版微控制器的問題,關於51微控制器的問題

初步瀏覽了一下,動態顯示的話delay時間太長就會閃爍。你好 初步看一眼,數碼管閃爍的原因無非是時間間隔太長,先建議你縮短延時時間,再事實。希望我的回答能幫助到你。像是串列埠驅動的數碼管,靜態顯示。這樣的電路,不宜頻繁的顯示,一秒鐘,顯示一次就可以了。把顯示部分,移到定時中斷裡面,即可 main v...

51微控制器的程式是什麼意思,51微控制器的51是什麼意思?

clr c 清零進位標誌 mov a,66h 立即數66h送入ajc loop1 判斷c是否為0,c 1跳轉到loop1cpl c 取反c setb 01h 非法的指令setb只能對位操作loop1 orl c,acc.0 將a的最低位送入c中jb acc.2loop2 a中的第三位為1則跳到loo...

51微控制器的定時器怎麼做延時51微控制器的定時器怎麼做延時彙編

1 你的主程式必須在1秒內完成一個過程,然後等待下一秒的到來 2 主程式放在一個迴圈內,並回設定答一個標記,以判斷是否觸發執行主程式,還是繼續空迴圈 3 這個標記就由延時中斷例程來賦值 其實,如果你的主程式能夠在1秒內完成,由沒有其他任務的話,完全可以放在中斷例程裡執行的 貌似想到的方法和複雜,就是...