超级流水灯?其实并不是说它能流出什么超级的花样来,只是将51单片机的4组IO口全部利用起来:在这4组IO口中接满32只发光二极管,使它们产生一定规律的流动的效果,32只发光二极管流动起来给人以排山倒海的气势!下面是一小段视频演示:
程序如下,其中只用到了几条指令。它的效果是依次点亮上述32只发光二极管,达到全亮后,再反向依次关闭它们。
ORG 0
;依次清空P0.0~P0.7,顺次点亮P0口的8个LED========
LOOP: CLR P0.0
LCALL DELAY
CLR P0.1
LCALL DELAY
CLR P0.2
LCALL DELAY
CLR P0.3
LCALL DELAY
CLR P0.4
LCALL DELAY
CLR P0.5
LCALL DELAY
CLR P0.6
LCALL DELAY
CLR P0.7
LCALL DELAY
;依次清空P2.7~P2.0,顺次点亮P2口的8个LED========
CLR P2.7
LCALL DELAY
CLR P2.6
LCALL DELAY
CLR P2.5
LCALL DELAY
CLR P2.4
LCALL DELAY
CLR P2.3
LCALL DELAY
CLR P2.2
LCALL DELAY
CLR P2.1
LCALL DELAY
CLR P2.0
LCALL DELAY
;依次清空P3.7~P3.0,顺次点亮P3口的8个LED========
CLR P3.7
LCALL DELAY
CLR P3.6
LCALL DELAY
CLR P3.5
LCALL DELAY
CLR P3.4
LCALL DELAY
CLR P3.3
LCALL DELAY
CLR P3.2
LCALL DELAY
CLR P3.1
LCALL DELAY
CLR P3.0
LCALL DELAY
;依次清空P1.7~P1.0,顺次点亮P1口的8个LED========
CLR P1.7
LCALL DELAY
CLR P1.6
LCALL DELAY
CLR P1.5
LCALL DELAY
CLR P1.4
LCALL DELAY
CLR P1.3
LCALL DELAY
CLR P1.2
LCALL DELAY
CLR P1.1
LCALL DELAY
CLR P1.0
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;依次置位P1.0~P1.7,顺次熄灭P1口的8个LED========
SETB P1.0
LCALL DELAY
SETB P1.1
LCALL DELAY
SETB P1.2
LCALL DELAY
SETB P1.3
LCALL DELAY
SETB P1.4
LCALL DELAY
SETB P1.5
LCALL DELAY
SETB P1.6
LCALL DELAY
SETB P1.7
LCALL DELAY
;依次置位P3.0~P3.7,顺次熄灭P3口的8个LED========
SETB P3.0
LCALL DELAY
SETB P3.1
LCALL DELAY
SETB P3.2
LCALL DELAY
SETB P3.3
LCALL DELAY
SETB P3.4
LCALL DELAY
SETB P3.5
LCALL DELAY
SETB P3.6
LCALL DELAY
SETB P3.7
LCALL DELAY
;依次置位P2.0~P2.7,顺次熄灭P2口的8个LED========
SETB P2.0
LCALL DELAY
SETB P2.1
LCALL DELAY
SETB P2.2
LCALL DELAY
SETB P2.3
LCALL DELAY
SETB P2.4
LCALL DELAY
SETB P2.5
LCALL DELAY
SETB P2.6
LCALL DELAY
SETB P2.7
LCALL DELAY
;依次置位P0.7~P0.0,顺次熄灭P0口的8个LED========
SETB P0.7
LCALL DELAY
SETB P0.6
LCALL DELAY
SETB P0.5
LCALL DELAY
SETB P0.4
LCALL DELAY
SETB P0.3
LCALL DELAY
SETB P0.2
LCALL DELAY
SETB P0.1
LCALL DELAY
SETB P0.0
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
;跳到LOOP处执行,死循环====================
LJMP LOOP
;延时子程序================================
DELAY: MOV R7,#50
D1: MOV R6,#255
DJNZ R6,$
DJNZ R7,D1
RET
END
本站原创如转载,请注明:转载自萬用電路板 [ http://www.jiangx.net/ ]