微控制器彙編程式設計300例 微控制器基礎組合語言程式設計例項

2021-10-11 23:38:02 字數 1897 閱讀 6867

微控制器組合語言程式設計

1.編寫程式,用位處理指令實現「p1.4=p1.0∨(p1.1∧p1.2)∨p1.3」的邏輯功能。

mov c,p1.1

anl c,p1.2

orl c,p1.0

orl c,p1.3

mov p1.3,c

2.編寫程式,若累加器a的內容分別滿足下列條件,則程式轉到lable儲存單元。設a中存放的的無符號數。

(1)a≥10; (2)a>10; (3)a≤10。

(1)cjne a,#10,next

ljmp lable

next:

jnc lable

(2)cjne a,#10,next

ljmp next2

next:

jnc lable

next2:

(3)cjne a,#10,next

ljmp lable

next:

jc lable

3.編寫程式,查詢片內ram的30h~50h單元中是否有55h這一資料,若有,則51h單元置為ffh;若未找到,則將51h單元清0。

mov r0,29h

next:

inc r0

cjne r0,#51h,next2

mov 51h,#0ffh

ajmp over

next2:

cjne @r0,#55h,next

mov 51h,#0

over:

4.編寫程式,查詢片內ram的30h~50h單元**現0的次數,並將查詢的結果存入51h單元。

mov r0,30h

mov 51h,#0

next:

cjne @r0,#00h,next2

inc 51h

next2:

inc r0

cjne r0,#51h,next

5.在片外ram中有乙個資料塊,存有若干字元、數字,首位址為source要求將該資料塊傳送到片內ram以dist開始的區域,直到遇到字元「$」時結束($也要傳送,它的ascii碼為24h)。

mov dptr,#source

mov r0,#dist

next:

movx a,@dptr

mov @r0,a

inc dptr

inc r0

cine a,#24h,next

6.片內ram的30h和31h單元中存放著乙個16位的二進位制數,高位在前,低位在後。編寫程式對其求補,並存回原處。

clr c

mov a,#0

subb a,31h

mov 31h,a

mov a,#0

subb a,30h

mov 30h,a

7.片內ram中有兩個4位元組壓縮的bcd碼形式存放的十進位制數,乙個存放在30h~33h單元中,另乙個存放在40h~43h單元中。編寫程式將它們相加,結果的bcd碼存放在30h~33h中。

clr c

mov r0,#30h

mov r1,#40h

mov r2,#4

next:

mov a,@r0

addc a,@r1

mov @r0,a

inc r0

inc r1

djnz r2,next

8.編寫程式,把片外ram從2000h開始存放的16位元組資料,傳送到片內從30h開始的單元中。

mov dptr,#2000h

mov r0,#30h

mov r1,#0

next:

movx a,@dptr

mov @r0,a

inc dptr

inc r0

inc r1

cine r1,#16h,next

tiri微控制器 51微控制器 微控制器組合語言學習

mcs 51微控制器的特殊功能暫存器 符號位址 功能介紹 bf0h b暫存器 acce0h 累加器psw d0h程式狀態字 th2 cdh定時器 計數器2 高8位 tl2 cch定時器 計數器2 低8位 rcap2h cbh外部輸入 p1.1 計數器 自動再裝入模式時初值暫存器高八位 rcap2l ...

微控制器程式設計

1 data idata pdata和xdata的區別 2 微控制器中的位 bit 位元組 byte 字 word stc89c52 共有 512 位元組的 ram 是用來儲存資料的,比如我們定義的變數都是直接存在 ram 裡邊的。但是微控制器的這 512 位元組的 ram在地位上並不都是平等的,而...

單片微控制器

微控制器又稱單片微控制器,它不是完成某乙個邏輯功能的晶元,而是把乙個計算機系統整合到乙個晶元上。相當於乙個微型的計算機,和計算機相比,微控制器只缺少了i o裝置。概括的講 一塊晶元就成了一台計算機。它的體積小 質量輕 便宜 為學習 應用和開發提供了便利條件。同時,學習使用微控制器是了解計算機原理與結...