❶ 在單片機中,20h,中的h代表什麼意思
單片機中20h,其中h表示十六進制,20h就是十六進制數20H,相當於十進制32.
❷ 單片機匯編語言中MOV A,20H是什麼意思
就51單片機匯編語言而言,該指令是直接定址:
MOV
A,
20H
功能是將地址為晌李20H的片宴前遲內RAM一個位元組內容送入累加器;
.
就80x86匯編語言而方,該指令是立即定址:
MOV
AX,
20H
功能是將立即數20H送入累加器A;
.
這條指悔岩令,兩種機器的匯編語言的定址方式容易被混淆。
❸ 如何將單片機片內 20H 到 50H 單元賦值
ORG 0000H
LJMP START
START:
MOV R6, #08;學號8號
MOV R5,#80H;作為遞增或遞減結果緩存,初始值80H
MOV R0,#20H;存儲空間的起始地址
MOV R4,#31H;存儲空間中共有31個單元
LOOP1:
MOV A,R5
;先把緩存寫入存儲單元
MOV @R0,A
INC R0
DJNZ R4,INC_INC;每次R4都先會減一,減一之後等於0就執行下一行,否則就跳轉
;賦值完成
SJMP SEARCH_AA
INC_INC:
MOV A,R5
ADD A,R6 ;遞增
CJNE A,#0BBH,NE_BB;與最大值BBH比較,相等就執行下一行指令,不相等就跳轉到NE_BB,同時若A的值大於或者等於BBH,則C=0,否則C=1。
;等於 bbh,直接寫入緩存
LESS_BB:;小於 bbh,也直接寫入緩存
MOV R5,A
SJMP LOOP1
NE_BB:
JC LESS_BB
;大於 bbh,要開始遞減
;MOV R5,#0BBH;從BB開始遞減
;SJMP DEC_DEC
DEC_DEC:
MOV A,R5
SUB A,R6;遞減
CJNE A,#80H,NE_80;與最小值80H比較,相等就執行下一行指令,不相等就跳轉到NE_80,同時若A的值大於或者等於80H,則C=0,否則C=1。
;等於 80h,直接寫入緩存
GREATER_80:;大於 80h,也直接寫入緩存
MOV R5,A
MOV @R0,A
INC R0
DJNZ R4,DEC_DEC;每次R4都先會減一,減一之後等於0就執行下一行,否則就跳轉
;賦值完成
SJMP SEARCH_AA
NE_80:
JNC GREATER_80
;MOV R5,#80H;從80開始遞增
SJMP INC_INC
SEARCH_AA:
MOV R0,#20H;存儲空間的起始地址
MOV R4,#31H;存儲空間中共有31個單元
MOV 51H,#00;先清零
SEARCH_NEXT:
MOV A, @R0
CJNE A,#0AAH,NE_AA;
;有 AAH 這一數據
MOV 51H,#01
SJMP ENDEND
NE_AA:
DJNZ R4,SEARCH_NEXT
SJMP ENDEND
ENDEND:
END