当前位置:编程学习 > 汇编语言 >>

LED循环灯 16个灯亮 求程序 汇编语言

LED循环灯 16个灯亮 求程序 汇编语言 下面是8个灯亮的程序,请参考,现在请求16个灯亮的程序,谢谢了。 org 0000h ;开始 ajmp loop org 0030h ;到0030h处避开00-30的敏感地址 loop: mov p1,#0ffh;关闭所有灯 clr p1.0 ;点亮灯p1.0 lcall delay ;延时一段时间? clr p1.1 ;点亮灯p1.1 lcall delay clr p1.2 ;点亮灯p1.2 lcall delay clr p1.3 ;点亮灯p1.3 lcall delay clr p1.4 ;点亮灯p1.4 lcall delay clr p1.5 ;点亮灯p1.5 lcall delay clr p1.6 ;点亮灯p1.6 lcall delay clr p1.7 ;点亮灯p1.7 lcall delay AJMP LOOP;到最开始loop处重新运行 delay: mov r5,#20 ;延时。 d1: mov r6,#40 d2: mov r7,#248 djnz r7,$ djnz r6,d2 djnz r5,d1 ret end
追问:AJMP LOOP;到最开始loop处重新运行
delay: mov r5,#20 ;延时。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
----------------------------
谢谢了,再问下后面这些不用改吧??呵呵。
答案:在mov p1,#0ffh,下面加入 MOV   P2,#00FFH;关闭p2口所有灯,然后在clr p1.7 ;点亮灯p1.7
lcall delay后面加入clr  p2.0;lcall delay----------clr  p2.7;lcall delay,即可。
其他:org  0000h  ;开始
    ajmp  loop
    org  0030h  ;到0030h处避开00-30的敏感地址
loop:
    mov  p1, #0ffh    ;关闭所有灯
    MOV  P2, #0ffh    ;关闭所有灯

    clr  p1.0        ;点亮灯p1.0
    lcall  delay     ;延时一段时间?
    clr  p1.1        ;点亮灯p1.1
    lcall  delay
    clr  p1.2        ;点亮灯p1.2
    lcall  delay
    clr  p1.3        ;点亮灯p1.3
    lcall  delay
    clr  p1.4        ;点亮灯p1.4
    lcall  delay
    clr  p1.5        ;点亮灯p1.5
    lcall  delay
    clr  p1.6        ;点亮灯p1.6
    lcall  delay
    clr  p1.7        ;点亮灯p1.7
    lcall  delay

    clr  p2.0        ;点亮灯p2.0
    lcall  delay     ;延时一段时间
    clr  p2.1        ;点亮灯p2.1
    lcall  delay
    clr  p2.2        ;点亮灯p2.2
    lcall  delay
    clr  p2.3        ;点亮灯p2.3
    lcall  delay
    clr  p2.4        ;点亮灯p2.4
    lcall  delay
    clr  p2.5        ;点亮灯p2.5
    lcall  delay
    clr  p2.6        ;点亮灯p2.6
    lcall  delay
    clr  p2.7        ;点亮灯p2.7
    lcall  delay


    AJMP  LOOP      ;到最开始loop处重新运行

DELAY:
    MOV  R5, #20  ;
D1: MOV  R6, #40
D2: MOV  R7, #248
    DJNZ  R7, $
    DJNZ  R6, D2
    DJNZ  R5, D1
    RET

    END 搞定!!灯接P1口8个及P3口8个
org 0000h ;开始
ajmp loop
org 0030h ;到0030h处避开00-30的敏感地址
loop:
mov p1,#0ffh;关闭所有灯
clr p1.0 ;点亮灯p1.0
lcall delay ;延时一段时间?
clr p1.1 ;点亮灯p1.1
lcall delay
clr p1.2 ;点亮灯p1.2
lcall delay
clr p1.3 ;点亮灯p1.3
lcall delay
clr p1.4 ;点亮灯p1.4
lcall delay
clr p1.5 ;点亮灯p1.5
lcall delay
clr p1.6 ;点亮灯p1.6
lcall delay
clr p1.7 ;点亮灯p1.7
lcall delay
clr p3.0 ;点亮灯p3.0
lcall delay
clr p3.1 ;点亮灯p3.1
lcall delay
clr p3.2 ;点亮灯p3.2
lcall delay
clr p3.3 ;点亮灯p3.3
lcall delay
clr p3.4 ;点亮灯p3.4
lcall delay
clr p3.5 ;点亮灯p3.5
lcall delay
clr p3.6 ;点亮灯p3.6
lcall delay
clr p3.7 ;点亮灯p3.7
lcall delay
AJMP LOOP;到最开始loop处重新运行
delay: mov r5,#20 ;延时。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end 

上一个:汇编语言程序由MASM汇编成____程序,再由 ____程序连接得到____ 程序
下一个:如何找到汇编语言编程软件,适合wen7的?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,