
while(tt==20); 是什么意思哦?真没搞懂你这个是怎么写的,这么复杂;
改成这样试试:
while(1){
if(tt>20){
tt=0;LED=_crol_(LED,1); }
P0=LED;}
#include
<reg51h>
void
delay()
{
unsigned
char
n,
m;
for(
n
=
0;
n
<
100;
n++
)
for(
m
=
0;
m
<
130;
m++
);
}
void
main()
{
int
loop;
unsigned
char
temp
=
0x01;
for(
loop
=
0;
loop
<
8;
loop++
)
{
P1
=
temp;
temp
=
temp
<<
1;
delay();
}
}
用c51单片机,delay()函数到时自己根据情况再调
哥对你很失望,单片机不同换头文件不就可以了。你得学的灵活些。
给个示例程序看看
/-----------------------------------------------
名称:流水灯
公司:上海浩豚电子科技有限公司
编写:师访
日期:20095
修改:无
内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果
------------------------------------------------/
#include<reg52h>
//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
/------------------------------------------------
延时子程序
------------------------------------------------/
void
delay(unsigned
int
cnt)
{
while(--cnt);
}
/------------------------------------------------
主函数
------------------------------------------------/
main()
{
P1=0xfe;
//给初始化值
换算成二进制是1111
1110
while(1)
{
delay(30000);//延时程序
P1<<=1;
//左移一位
该语句等效于
P1=P1<<1
P1|=0x01;
//最后一位补1,该语句等效于
P1=P1|0x01
符号"|"表示"或"
if(P1==0x7f)
//检测是否移到最左端?"=="表示检测符号2端的值是否相等
{
delay(30000);
P1=0xfe;
//重新赋值
}
}
}
以上就是关于C程序编写单片机跑马灯全部的内容,包括:C程序编写单片机跑马灯、求一个八路跑马灯程序(c语言的 )、用c语言实现跑马灯循环亮灭等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)