用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++;}、、、、、、、、、、、

|P1口接8个发光二极管共阳

#include <AT89X51.H>

unsigned char i

unsigned char temp

unsigned char a,b

void delay(void)

{

unsigned char m,n,s

for(m=20m>0m--)

for(n=20n>0n--)

for(s=248s>0s--)

}

void main(void)

{

while(1)

{

temp=0xfe

P1=temp

delay()

for(i=1i<8i++)

{

a=temp<<i

b=temp>>(8-i)

P1=a|b

delay()

}

for(i=1i<8i++)

{

a=temp>>i

b=temp<<(8-i)

P1=a|b

delay()

}

}

}

扩展资料:

Proteus 自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。 keil是一种先进的单片机集成开发系统。它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。

参考资料来源:百度百科-51单片机

//P1外接8

LED

低电平发光.

//

列程序

PROTEUS

仿真

#include<reg52.h>

//-----------------------------

void

delay_ms(unsigned

int

s)

{

unsigned

int

x

for(s

s

>

0

s--)

{

x

=

98

while(x--)

}

}

//-----------------------------

void

main()

{

char

i,

j

while(1)

{

for(j

=

0

j

<

8

j++)

{

P1

=

255

//全灭,

P1外接LED,

低电平发光.

delay_ms(500)

//稍等片刻.

for(i

=

0

i

<

8

i++)

{

P1

<<=

1

delay_ms(900

-

100

*

j)

//延

渐短

}

}

}

}

//-----------------------------


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存