信用卡刷爆了能贷款吗:问一段程序,AT89C51单片机的

来源:百度文库 编辑:高考问答 时间:2024/05/04 08:35:10
这是一个关于流水灯的,三个开关控制灯的不同亮暗顺序.
org 0000h
ljmp start

clear: mov 20h,#00h;初始化
setb 00h
ret
start: acall clear
main: lcall keywork
jb 00h,fun0
jb 01h,fun1
jb 02h,fun2
jb 03h,main
mov a,7eh
mov p1,a
mov a,0bdh
mov p1,a
mov a,0dbh
mov p1,a
mov a,0e7h
mov p1,a
mov a,0c3h
mov p1,a
mov a,81h
mov p1,a
mov a,0c3h
mov p1,a
mov a,81h
mov p1,a
mov a,00h
mov p1,a
mov a,0a5h
mov p1,a
ajmp main
fun0: mov a,#0feh;第一中闪烁
fun00: mov p1,a
lcall dl05s
jnb acc.7,main
rl a
ajmp fun00
fun1: mov a,#0feh
fun11: mov p1,a
lcall dl05s
jz main
rl a
anl a,p1
ajmp fun11
fun2: mov a,0aah
mov p1,a
lcall dl05s
ajmp main
keywork: mov p3,#0ffh;扫键
jnb p3.0, key0
jnb p3.1, key1
jnb p3.2,key2
jnb p3.3,key3
ret
key0: lcall dl10ms
jb p3.0,out0
setb 00h
clr 01h
clr 02h
clr 03h
out0: ret
key1: lcall dl10ms
jb p3.1,out1
setb 01h
clr 00h
clr 02h
clr 03h
out1: ret
key2: lcall dl10ms
jb p3.2,out2
setb 02h
clr 01h
clr 00h
out2: ret
key3: lcall dl10ms
jb p3.3,out3
setb 03h
clr 01h
clr 02h
clr 00h
out3: ret
dl512: mov r2,#0ffh
loop1: djnz r2,loop1
ret
dl10ms: mov r4,#14h
loop2: lcall dl512
djnz r3,loop2
ret
dl05s: mov r4,#0fh
loop3: lcall dl25ms
djnz r4,loop3
ret
dl25ms: mov r5,#0ffh
loop4: lcall keywork
ret
end
那里有错啊?
怎么开始后,就几个灯亮,开关也不能控制
晶振是4mHZ的,开关是能弹起的

没仔细看你程序,有点长,可能是你延迟时间太短了。你输入频率是多少?实验板一般是提供6MHz,和12MHz吧,那样你的dl25ms恐怕只有0.3ms~0.6ms吧?你仔细看看。