用C语言编写简单跑马灯程序(4个灯的)

用C语言编写简单跑马灯程序(4个灯的),第1张

如下程序:

if(ledi==8)

{

ledi=0//到了最后一个灯就换到第一个

//每跑一圈灯就根据预定设置的表格来决定下一圈信尺的跑马滑历高速度

speed=speedcode[i]

i++if(i==2)i=0?你的速度设置不仅仅就2个呀(10个预定义的烂慎速度)

}

有两种解决办法:

一个就是将预定的速度加2倍

speedcode[30]={3,3,3,1,1,1,5,5,5,12,12,12,、、、、、、}

二是增加一全局变量uchar z=0在i++前加上如下,前后不改:

、、、、、if(++z==3){z=0i++;}、、、、、、、、、、、

org 0000h

ajmp start

org 0030h

start:

mov a,#0ffh

clr c

mov r2,#08h 循环八次。

loop: rlc a 带进位左移。

mov p1,a 输出虚高到P1口。

call delay 延时一段时间

djnz r2,loop 反差槐尺复循环

mov r2,#07h 再往回循环。

loop1: rrc a 带进位右移

mov p1,a 输出到P1口。

call delay 延时一段时间

djnz r2,loop1 反复循环

jmp start 重新开明带始

delay: mov r3,#20 延时子程序

d1: mov r4,#20

d2: mov r5,#248

djnz r5,$

djnz r4,d2

djnz r3,d1

ret

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12450584.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存