单片机编程问题
有20个存放在片ram,片外的地址从1000开始存放,如果大于128,则存放在片内10h,等于128则存放在30h,小于128则存放在50h,在线等,急着用!要求要用到c...
有20个存放在片ram,片外的地址从1000开始存放,如果大于128,则存放在片内10h,等于128则存放在30h,小于128则存放在50h,在线等,急着用!
要求要用到cjne这个指令,能帮我再修改下吗,谢谢! 展开
要求要用到cjne这个指令,能帮我再修改下吗,谢谢! 展开
3个回答
展开全部
嘿嘿 俺帮你解答吧
给你一个算法:
1 采用一个循环结构: 循环次数为20次,开始时,设计一个片外的数据指针DPTR指向1000H,
在设计片内的数据指针;R1指向30H;R0的指向是可以切换到,可以指向10H,也可以指向50H;
R2保存大于128存放的地址10H;R3保存小于128存放的地址50H;
2 循环体: 就是下哦那个片外取数据,然后与128比较大小,如果等于128则存放在指针R1所指的单元;如果大于128则(切换指针R0指向R2保存的地址)存放在指针R0所指的单元;
如果小于128则(切换指针R0指向R3保存的地址)存放在指针R0所指的单元;
修改指针。
3 循环次数减1,不等于0,继续循环,否则结束。
呵呵 满意就选满意回答吧
给你一个算法:
1 采用一个循环结构: 循环次数为20次,开始时,设计一个片外的数据指针DPTR指向1000H,
在设计片内的数据指针;R1指向30H;R0的指向是可以切换到,可以指向10H,也可以指向50H;
R2保存大于128存放的地址10H;R3保存小于128存放的地址50H;
2 循环体: 就是下哦那个片外取数据,然后与128比较大小,如果等于128则存放在指针R1所指的单元;如果大于128则(切换指针R0指向R2保存的地址)存放在指针R0所指的单元;
如果小于128则(切换指针R0指向R3保存的地址)存放在指针R0所指的单元;
修改指针。
3 循环次数减1,不等于0,继续循环,否则结束。
呵呵 满意就选满意回答吧
展开全部
DATMEM:
MOV DPTR,#1000H
MOV R7,#20
MOV R1,#10H
MOV R2,#30H
MOV R3,#50H
DAT1:
MOVX A,@DPTR
CJNE A,#80H,DAT2
MOV R0,R2
MOV @R0,A
INC R1
SJMP DAT4
DAT2:
JC DAT3
MOV R0,R1
MOV @R0,A
INC R1
SJMP DAT4
DAT3:
MOV R0,R3
MOV @R0,A
INC R3
DAT4:
INC DPTR
DJNZ R7,DAT1
RET
MOV DPTR,#1000H
MOV R7,#20
MOV R1,#10H
MOV R2,#30H
MOV R3,#50H
DAT1:
MOVX A,@DPTR
CJNE A,#80H,DAT2
MOV R0,R2
MOV @R0,A
INC R1
SJMP DAT4
DAT2:
JC DAT3
MOV R0,R1
MOV @R0,A
INC R1
SJMP DAT4
DAT3:
MOV R0,R3
MOV @R0,A
INC R3
DAT4:
INC DPTR
DJNZ R7,DAT1
RET
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MOV DPTR,#1000H
MOV R0,#14H
LOOP:
MOVX A,@DPTR
MOV C,0
SUBB A,#80H
JZ EQU128
JC LES128
MOV 10H,B
LJMP NEXT
EQU128:
MOV 30H,B
LJMP NEXT
LES128:
MOV 50H,B
NEXT:
INC DPTR
LJMP LOOP
MOV R0,#14H
LOOP:
MOVX A,@DPTR
MOV C,0
SUBB A,#80H
JZ EQU128
JC LES128
MOV 10H,B
LJMP NEXT
EQU128:
MOV 30H,B
LJMP NEXT
LES128:
MOV 50H,B
NEXT:
INC DPTR
LJMP LOOP
追问
要求要用到cjne这个指令,能帮我再修改下吗,谢谢!
追答
MOV DPTR,#1000H
MOV R0,#14H
LOOP:
MOVX A,@DPTR
MOV B,A
CJNE A,#80H,NTS
MOV 30H,B
LJMP NEXT
NTS:
JC GT
MOV 50H,B
LJMP NEXT
GT:
MOV 10H,B
NEXT:
INC DPTR
DJNZ R0,LOOP
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询