/*
跳线设置:默认
实验方法:按int0 这个独立按键你就会发现发光管会一个个都往下亮起来,并且蜂鸣器会响
*/
mov r7,#8
main:mov r0,#8 ;一个循环需要移动8位
clr p1.4
mov p0,#01111111b ;初始为P0.7灯点亮
loop:
jnb p3.2,loop
acall ds1ms
jnb p3.2,loop
loop1:jb p3.2,loop1
clr p2.2
acall ds1ms ;延时,以便人眼可以观察到
setb p2.2
acall ds1ms
mov a,p0 ;读P0口当前显示的数据送到A
rr a ;将A中的数据循环右移1位
mov p0,a ;再将A中右移过的数据送到P0
djnz r0,loop
djnz r7,main ;移动不够8位,跳到LOOP处循环,
ljmp rel ;流动1遍跳转到MAIN处循环流。
;---显示延时----------
ds1ms: mov r1,#2
ds1lo: mov r2,#20
ds2lo: mov r3,#200
djnz r3,$
djnz r2,ds2lo
djnz r1,ds1lo
ret ;延时返回
rel:
end
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |