微控制器組合語言程式設計
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裝置。概括的講 一塊晶元就成了一台計算機。它的體積小 質量輕 便宜 為學習 應用和開發提供了便利條件。同時,學習使用微控制器是了解計算機原理與結...