求微控制器程式設計,最好c語,彙編也可

時間 2023-04-14 04:35:08

1樓:匿名使用者

先說說你的問題吧,你沒有說明學校用的是什麼實驗箱,你也沒說明是什麼指令集的微控制器,我暫且先不管實驗箱是什麼型號,微控制器的指令集是幾位的,下面是我的:

一):實驗箱我沒見過,也不太清楚,乙個嵌入式核心晶元及外圍電路,兩個數碼管顯示器,幾根導線,微控制器就拿51系列的,核心問題在中斷int0/1上,用p1、p0口輸出電平訊號,p3口接收按鍵的中斷訊號(在p3口上的。

3分別是中斷0和中斷1的外部中斷輸入引腳,把他們接到k1、k2上,當你按鍵時就會產生中斷),p0接數碼管1,p1接數碼管2,兩個並口要什麼樣的輸出電平才能使數碼管顯示出你想要的數字,你得自己查裝置說明了;它的思想就是開機後初始化p0、p1,使得數碼管顯示相應的數字,緊接著開cpu中斷,開外部中斷0/1的中斷,設定中斷服務程式,在程式中用幾條mov指令來實現對p0、p1口的資料重新整理,以此改變p0、p1口輸出電平,相應的數碼管顯示器也會對應的改變顯示數字。

二):程式嗎,我把51的指令集忘得查不多了,你自己上網查吧,51微控制器是8位的,p0、p1、p2、p3也都是8位並口,程式你自己設計吧,也是對自己的考驗嗎,我給你講一下怎麼設計程式。我把三個程式並稱乙個了,還是你自己思考怎麼分成三個了,首先要有乙個主程式,初始化並口、開中斷,兩個中斷服務程式,以下是示例:

org 0000h

ljmp main

org 0003h

ljmp int_0

org 0013h

ljmp int_1

org是偽**,是編譯器用的,其它的你得了解51微控制器才懂,主程式。

main:mov r0,#00h

mov p0, #date ;顯示數字「1」

mov p1, #date ;顯示數字「8」

setb ea

setb ex0

setb ex1 ;開中斷。

sjmp $

中斷服務程式1

int_0:

用來對p0、p1口數字進行改變。

當然要有三個子程式,用跳轉。

中斷服務2int_1:

把加過程結果輸出到p1口。

***中斷服務程式裡要有中斷返回指令,且只能是reti

2樓:匿名使用者

你這個不好!

因為你的實驗裝置中,顯示管是共陰還是共陽,動態還是靜態,k1鍵怎麼連線,都不是透明的。

你得看看實驗指導。

3樓:匿名使用者

一無電路圖。

二無微控制器型號。

4樓:匿名使用者

無電路圖,無法答覆。。

微控制器的程式語言

微控制器用什麼語言程式設計

5樓:生活的

微控制器用以下語言可以程式設計:

1、c語言。微控制器c語言是一種編譯語言,具有編譯語言的特點。c語言具有功能豐富的庫函式、計算速度快、編譯效率高、可移植性好,可直接控制系統。

此外,c語言程式具有完整的程式模組結構,為軟體開發中模組化程式設計方法的使用提供了有力的保證。

2、組合語言。它的主要優點是占用資源少,程式執行效率高。因為它有乙個指令,所以每個指令都很清晰,堆疊和調整都很容易控制,除錯也很方便。

但是不同型別的微控制器可能有不同的編碼語言,所以不容易移植。

3、pl/m程式語言。p/m是一種具有l/m語言的高階語言,不僅具有l/m語言的高階彙編,而且直接利用cpu的硬體特性進行程式設計。因此,與其他高階語言相比,它具有更多的功能和更廣泛的應用,尤其是在16臺微控制器的應用領域。

4、basic程式語言。basic是一種高階語言,其英文意思是初學者通用符號**。在過去的幾十年裡,basic語言被認為是初學者程式設計的語言,已經從qbasic發展到很多版本,有很多結構化的思維和程式設計方法,比如函式、模組、區域性變數、全域性變數、資料傳輸等。

使用微控制器語言的注意事項。

1、微控制器程式設計的特點對微控制器程式設計來說,首先要考慮的是微控制器的程式空間和資料空間都是有限的,所以要讓程式盡量短小精悍,以節省程式占用的儲存空間。

2、微控制器程式設計的乙個主要物件是對微控制器的埠和內部暫存器的操作和配置,這個需要比較精確的時序控制。

3、微控制器演算法運算中,盡量使用加法、減法、移位運算,因為乘法和除法運算會非常費時間,尤其是除法,會耗費很多時間,這對於速度本身就有限制的微控制器來說,是乙個很大的負擔。

4、高階語言編寫微控制器程式的缺陷高階語言可以實現更為優化的演算法,更為方便的執行方案,但是,高階語言對程式儲存空間的占用要比彙編和c語言多很多。這是最致命的一點,微控制器有限的儲存空間需要靠精打細算來設計程式,根本經不起高階語言臃腫的**體積。

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

6樓:海天盛筵

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

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

1.微控制器組合語言。

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

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

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

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

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

2.微控制器的c語言。

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

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

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

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

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

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

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

7樓:

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

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

8樓:匿名使用者

大學學來習的時。

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

9樓:匿名使用者

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

10樓:匿名使用者

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

請問微控制器c語言

微控制器c語言程式設計?

11樓:熱心市民

微控制器c語言程式設計入門課程,說起來容易,說起來難。學習微控制器c語言,首先要了解這兩個東西是什麼。微控制器入門程式設計主要是學習c語言,其次是電路和程式語言。

微控制器c語言程式設計學習中必讀的模擬電、數字電、電路三本書,為接下來的學習做鋪墊。看書的目的是因為網上教程太多,容易出現偏差。其實只要能懂電路原理,就能開發微控制器軟體。

簡介微控制器又稱單片微控制器,不是執行某種邏輯功能的晶元,而是將乙個計算機系統整合到乙個晶元中。相當於一台微型計算機,與計算機相比,微控制器只是缺少i/o裝置。綜上所述,晶元變成了電腦。

它體積小、重量輕、**低,為研究、應用和開發提供了便利條件。同時,學習使用微控制器是了解計算機原理和結構的最佳選擇。微控制器已經廣泛應用於智慧型儀器、實時工業控制、通訊裝置、導航系統、家用電器等領域。

自20世紀90年代以來,微控制器技術得到了發展。隨著時代的進步和科技的發展,這項技術的實際應用也越來越成熟,微控制器被廣泛應用於各個領域。如今,人們越來越重視微控制器在智慧型電子技術中的發展和應用,微控制器的發展進入了乙個新的時期。

無論是自動測量的實踐,還是智慧型儀器的實踐,都可以看到微控制器技術的身影。在當前的產業發展過程中,電子產業是乙個新興的產業。在工業生產中,人們已經成功地應用了電子資訊科技,將電子資訊科技與微控制器技術相結合,有效地提高了微控制器的應用效果。

作為計算機技術的乙個分支,微控制器技術在電子產品領域的應用豐富了電子產品的功能,為智慧型電子裝置的開發和應用提供了新的途徑,實現了智慧型電子裝置的創新和發展。以上內容參考:百科-微控制器。

你應該先學習c語言。你可以讀譚浩強和微控制器的書,循序漸進。別擔心。基礎好,什麼都能說。

如果你沒學過微機原理,建議你先學完再買本上海馬超的書,一周就能看懂了~

不認同無意義的光。《c程式設計》確實創造了一時的輝煌,這種輝煌很可能會延續下去,但不代表就是最好的。這本書之所以流行,是因為當時沒有辦法學習c,這本書很好理解。

但是現在這本書太落後了,甚至3版還在用老標準,現在大家普遍用c99標準。老標準不能用dev c編譯而且好像提問者應該知道c的基礎,推薦《微控制器c語言程式設計及例項》這本書。直接搜尋就能找到pdf版本的**。

-馬克·提埃洛。

看譚浩強老師的。清華大學出版的《飢餓》。

51微控制器,簡單問題,微控制器C語言程式設計的簡單問題

一般情況下我們都是以1作為高電平,0作為低電平,因為這樣符合我們日常生活中的認識。但是晶元的高低電平有時候不是這樣的,微控制器是以1作為高電平 這時也是高電壓 0作為低電平 低電壓 但是並不是所有的邏輯電平都是這樣 1為高,0為低 的。比如rs 232c標準規定的邏輯電平與ttl數位電路 例如 微控...

微控制器用c語言程式設計問題

其一,分號是不會出現在那裡的,所以要去掉 其二,大括號內的逗號是必須的,不能用空格代替。其三,延時5us是這麼算的,讓微控制器去做 運算子的運算 注意 在c中是乙個運算子,其值取最後乙個,兩個 運算在微控制器中要花5個指令去完成,在12mhz晶振時每條指令花乙個us 所以大概延時5個us。其四,不能...

微控制器,C語言程式設計的問題,程式設計序

include include define uint unsigned int define uchar unsigned char volatile unsigned long leddata 0 const uchar lednum 0,1,2,3,4,5,6,7,8,9 void delay...

c51微控制器流水燈程式設計問題,C51微控制器流水燈程式問題定義無效

把p1 crol 0,1 改為 p1 crol p1,1 delay函式中while i 後面分號去掉。crol 0,1 意思是把 0 迴圈左移一位,你賦值給p1,p1輸出一直都是零,所有的燈自然都是一直亮的。看看我的程式 include include unsigned char temp voi...

求微控制器匯程式設計序

at89s52微控制器當按鈕按下後,燈1,燈2亮 燈1定時3秒後燈滅,燈2定時5秒後滅 匯程式設計序如下 org 0000h ljmp start org 000bh ljmp t0 int org 0030h start mov tmod,01h mov th0,0bh mov tl0,0dch ...