单片机用MOV,DJNZ,CLE,等写8个LED灯按顺序闪的程序怎样写呢?还有每步的解释~~谢谢~~

单片机用MOV,DJNZ,CLE,等写8个LED灯按顺序闪的程序怎样写呢?还有每步的解释~~谢谢~~,第1张

MOVLW0X00

MOVWFTRISB将portb设为输出状态

MOVLWB'1000000'

LOOP:

MOVWFDATA1

MOVWFPORTB点亮第一个灯

CALLDELAY调延时,这样能看到灯亮的效果

BCFDATA1,C使进位c为0

RRFDATA1,F循环右移

GOTOLOOP继续执行

这样就可以到达你要的效果。如果你想控制亮灯凳庆的次数也可以枣扰握加个终止条件,如:

你想8个灯顺序闪10下,那么

movlwd‘10’

movwfcount

decfszcount,f

gotoloop

end

如果有不对的地方,你再自己改下李坦,反正大概的流程就这样

ORG  0

CALL  PRG1 亮且发音

CALL  PRG2 灭且静薯薯返音

SJMP 0

-------------数饥----

PRG1:

MOV  P0, #0  8个led灯亮

MOV  R2, #200

LP1:

CPL  P1.0   蜂鸣器响

DJNZ R6, $

DJNZ R7, $ - 2

DJNZ R2, LP1

MOV  P0, #255  8个led灯灭

RET

-----------------

PRG2:

MOV  P0, #255  8个led灯不亮

MOV  R2, #200

LP2:

SETB  P1.0 手塌  蜂鸣器不响

DJNZ R6, $

DJNZ R7, $ - 2

DJNZ R2, LP2

MOV  P0, #255  8个led灯灭

RET

-----------------

END

main:

mov P1,#0aah

acall delay

mov P1,#55H

acall delay

sjmp main

delay:mov r7,#0ffh

de:mov r6,#0ffh

djnz r6,$

djnz r7,de

ret

end 这档森槐春敬就行友是你想要的效果,不妨试试哦!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12430489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存