单片机,AT89C51,一段小程序,麻烦给解释一下。
ORG0START:MOVR2,#8MOVA,#0FEHSETBCLOOP:MOVP2,ALCALLDELAYRLCADJNZR2,LOOPMOVR2,#8LOOP1:M...
ORG 0
START: MOV R2,#8
MOV A,#0FEH
SETB C
LOOP: MOV P2,A
LCALL DELAY
RLC A
DJNZ R2 ,LOOP
MOV R2, #8
LOOP1: MOV P2 ,A
LCALL DELAY
RRC A
DJNZ R2, LOOP1
LJMP START
DELAY: MOV R5,#20 ;延时子程序,延时0.2秒
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
每句都是什么意思?谢谢。
我知道是流水灯,只是想知道每一句是什么意思,主要是这一段的每一句是什么意思START: MOV R2,#8
MOV A,#0FEH
SETB C
LOOP: MOV P2,A
LCALL DELAY
RLC A
DJNZ R2 ,LOOP
MOV R2, #8
LOOP1: MOV P2 ,A
LCALL DELAY
RRC A
DJNZ R2, LOOP1
LJMP START 展开
START: MOV R2,#8
MOV A,#0FEH
SETB C
LOOP: MOV P2,A
LCALL DELAY
RLC A
DJNZ R2 ,LOOP
MOV R2, #8
LOOP1: MOV P2 ,A
LCALL DELAY
RRC A
DJNZ R2, LOOP1
LJMP START
DELAY: MOV R5,#20 ;延时子程序,延时0.2秒
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
每句都是什么意思?谢谢。
我知道是流水灯,只是想知道每一句是什么意思,主要是这一段的每一句是什么意思START: MOV R2,#8
MOV A,#0FEH
SETB C
LOOP: MOV P2,A
LCALL DELAY
RLC A
DJNZ R2 ,LOOP
MOV R2, #8
LOOP1: MOV P2 ,A
LCALL DELAY
RRC A
DJNZ R2, LOOP1
LJMP START 展开
3个回答
2009-03-05
展开全部
这是一个流水灯程序先从左亮到右,再从右亮到左
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单的单片机流程流水灯程序
ORG 0
START: MOV R2,#8
MOV A,#0FEH
SETB C
R2作为一个计数器类似的东西,目的是循环8次;
LOOP: MOV P2,A
LCALL DELAY
RLC A
DJNZ R2 ,LOOP
左移(正亮)
给P2口赋值,使其输出可以实现流水灯效果;
MOV R2, #8
再次复位计数器的值;
LOOP1: MOV P2 ,A
LCALL DELAY
RRC A
DJNZ R2, LOOP1
右移(反亮)
给P2口赋值,使其输出可以实现流水灯效果;
----
大体上就是这样,有将近1年没弄汇编了,有点忘了,如有错误,还请楼下指正
ORG 0
START: MOV R2,#8
MOV A,#0FEH
SETB C
R2作为一个计数器类似的东西,目的是循环8次;
LOOP: MOV P2,A
LCALL DELAY
RLC A
DJNZ R2 ,LOOP
左移(正亮)
给P2口赋值,使其输出可以实现流水灯效果;
MOV R2, #8
再次复位计数器的值;
LOOP1: MOV P2 ,A
LCALL DELAY
RRC A
DJNZ R2, LOOP1
右移(反亮)
给P2口赋值,使其输出可以实现流水灯效果;
----
大体上就是这样,有将近1年没弄汇编了,有点忘了,如有错误,还请楼下指正
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询