要求:六个灯p0--p5,先点亮p0,延时10秒,再点亮p1,p0熄灭,再延时十秒,依次循环,每分钟循环一次。求一份程序(最好能在Proteus上直接用,有仿真的面板),写出每步程序说明,谢谢!!!
使用汇编语言编程,最好有每部程序的文字说明,因为本人是菜鸟。谢谢各位!!!
org 0000h
jmp start
org 0030h
start:
mov p0,#11111110b ; 此时第一个灯亮
call t10s
mov p0,#11111101b ;此时第二个灯亮
call t10s
mov p0,#11111011b
call t10s
mov p0,#11110111b
call t10s
mov p0,#11101111b
call t10s
mov p0,#11011111b
call t10s
jmp start ;此处跳到开始 即 循环
;延时子程序10秒=250usX2X200X100
t10s:mov r5,#100
lpr5:mov r6,#200
lpr6:mov r7,#250
djnz r7,$
djnz r6,lpr6
djnz r5,lpr5
ret
end
把灯的正极接电源正极 即vcc 负极分别接p0.0-p0.5
此时 给p0 送0灯就亮 1灯就不亮
程序已经过调试 可用
仿真如下: