1樓:匿名使用者
c語言和組合語言之間主要存在:相互呼叫、混合程式設計等關係,舉例來說吧:
1、c語言呼叫匯編回子程式答
此時,彙編子程式需要申明為外部程式
#include
extern void delay(void)sbit pluse=p1^0;
main()
}彙編子程式:
彙編部分需要做如此處理。
public delay
delay segment code
rseg delay
delay:
mov r2,#250
djnz r2,$
retend
2:c語言中嵌入彙編,這個比較簡單用巨集指令包含進來就可以實現。
void delay(void)
51微控制器程式設計時彙編和c語言如何結合
2樓:匿名使用者
c語言和組合語言之間主要存在:相互呼叫、混合程式設計等關係,舉例來說吧:
1、c語言呼叫匯編子程式
此時,彙編子程式需要申明為外部程式
#include
extern void delay(void)sbit pluse=p1^0;
main()
}彙編子程式:
彙編部分需要做如此處理。
public delay
delay segment code
rseg delay
delay:
mov r2,#250
djnz r2,$
retend
2:c語言中嵌入彙編,這個比較簡單用巨集指令包含進來就可以實現。
void delay(void)
3樓:匿名使用者
在keil工程欄中右鍵.c檔案 選擇options for file然後把這2個勾上
就能在c語言中嵌入彙編了。
格式是這樣的或者
4樓:匿名使用者
中西結合 專業**胃必治
51系列微控制器混合程式設計時候 c語言定義的變數如何傳遞到組合語言? 10
5樓:匿名使用者
一般建議在組合語言裡定義變數,c語言的變數受很多因素影響,不一定都可以傳遞給彙編。
大部分c語言全域性變數可以直接在彙編中使用,區域性變數不是特別熟悉不要亂用,容易受到優化的影響。
6樓:匿名使用者
一般建議在組合語言中定義的變數,c語言變數影響的因素很多,不一定可以傳遞給彙編器。
大多數c語言的全域性變數,可以直接用於編制,區域性變數是不是特別熟悉,不要亂用,容易受到影響的優化。
7樓:匿名使用者
同一樓,c語言操作變數我們看到的只是「名稱」,如果轉到彙編去操作這個變數,那麼只能找到這個變數的共性-地址,確定了地址,彙編就可以去操作了
8樓:匿名使用者
可以強制對變數的地址進行固定,然後彙編操作相應的地址就行了
9樓:匿名使用者
通過r0~r7傳遞引數
如何在51微控制器使用c語言跟組合語言?
10樓:匿名使用者
如何用keil在
baic中嵌入彙編
要在duc檔案zhi中要嵌入彙編dao的地方用#pragma a**和#pragma enda**分隔開來內
具體請查容看:
11樓:匿名使用者
keil c 手冊裡有介紹
在c檔案中要嵌入彙編的地方用#pragma a**和#pragma enda**分隔開來
12樓:120馬恆偉
要問什麼啊,是程式呢,還是哪個流程
13樓:匿名使用者
c語言編個延時程式比彙編要簡單得多,直接寫個c語言程式比就行了。
在c51語言中如何嵌入組合語言
14樓:匿名使用者
右擊工程的資料夾 把庫檔案新增進去 像新增檔案一樣
學51微控制器用匯編還是用c語言比較好?先學彙編可以嗎?
15樓:晨曦問
絕對可以,我就是先學習的組合語言,只有學習了彙編才能真正的瞭解微控制器。。 如果不瞭解微控制器的構造及原理,學c很快就會厭倦。不過c就是簡單點,容易上手, 我先學的是彙編,也感覺不是很難。
16樓:匿名使用者
從絕大多數資深微控制器從業人員的經驗來看,學習微控制器從彙編入手,內
逐步過渡到c語言這容麼一個過程最好。因為組合語言最直接的接觸硬體各個介面,弄懂了組合語言,硬體介面和控制模組基本上就掌握了,駕馭起來就會得心應手,之後再用c語言來編制複雜程式就能揮灑自如了。
17樓:匿名使用者
先學習c語言哦,c語言更簡單,並且現在的微控制器程式基本上都用c語言寫更加簡單哦,匯內編學起來較
容難點,雖然學會了彙編可以更好的瞭解程式的執行過程,用匯編編寫**量非常大也要求思路很清楚,對於新手來說最好就用c哦,比如叫你寫了延時函式,用c很簡單,幾句話就可以,但彙編的話 你首先得知道有哪些暫存器,**也比較多
18樓:匿名使用者
先學c吧,簡單點
沒程式設計基礎學彙編有點難度
19樓:
當然可以,不過個人建議直接學習c比較好點。
20樓:尼古丁___憂傷
這個沒有先後,但個人感覺c語言好學一點。
51微控制器中組合語言如何呼叫c的子程式?
21樓:匿名使用者
我的程式是keil編譯的,如下
先申明extrn code (_send_crc) ;send_crc是c中的函式,彙編中加了_
呼叫的時候
lcall _send_crc
如果要專
使用c中的變數,那麼code變成
屬相應的data,xdata等
22樓:匿名使用者
我的程bai序keil編譯器,
extrn code(du_send_crc)的第一個國家zhisend_crc c函式編譯加上呼叫dao_lcall _send_crc
如果您要成相應的資料,然內後使用容變數在c,xdata**
23樓:匿名使用者
我的程來序keil編譯器,
extrn code(_send_crc)的第一自個國家send_crc c函式編譯加上bai呼叫_lcall _send_crc
如果您要成相應du的zhi資料,然後使用變數dao在c,xdata**
24樓:匿名使用者
用逆向思維考慮就是在c語言下插入彙編
25樓:匿名使用者
查查c的編譯
器和彙編編譯器的資料,上面有詳細的說明。
一般在彙編中用extern宣告外專部函式,將c語言中屬的函式名前面加上下劃線就是彙編的函式名,有些編譯器是這樣的,並不是所有的編譯器都是這樣的。還是要查編譯器的使用說明才能知道你用的編譯器是怎麼操作的。
如果是keil,應該是上面的操作。
26樓:匿名使用者
請您留下郵箱,我給您個檔案,您就知道如何
51微控制器程式設計,用C語言,51微控制器程式設計時彙編和C語言如何結合?
給你一個矩陣鍵盤的參考程式 行列掃描 通過高四位全部輸出低電平,低四位輸出高電平。當接收到的資料,低四位不全為高電平時,說明有按鍵按下,然後通過接收的資料值,判斷是哪一列有按鍵按下,然後再反過來,高四位輸出高電平,低四位輸出低電平,然後根據接收到的高四位的值判斷是那一行有按鍵按下,這樣就能夠確定是哪...
微控制器彙編程式,微控制器(組合語言)程式
這個是外部擴充套件的ram,fef0h是存資料的地址,mov dptr 0fef0h是給資料指標賦值,movx dptr,a是間接定址,將a中資料送到外部ram的fef0h中,中斷服務程式後面應該有reti,挺容易的,看看書,這例題允許了中斷,給出了中斷處理程式,自己看書學得較為深刻。ofefoh指...
求51微控制器c語言教程 ,求51微控制器c語言教程 pdf
微控制器學習方法 網上微控制器資料很多 你上csdn上找吧 那上面多的是 這個網上的太多了。你搜一下,有很多 的。這種東西多得很,你應該先搜搜再提問 急求郭天祥 新概念51微控制器c語言教程 入門 提高 開發 拓展全攻略 pdf 這是郭天祥這本書最完整的pdf,是整本的,不是一部分。望採納 從入門到...