流水灯程序 keil_单片机之路 ——流水灯(3)

接连啃C语言老本过了前两关,第三关还是led灯,灯灯等灯瞪灯等灯 灯灯等灯瞪灯等灯……
这一关就引入了一个新概念:移位函数。举例来说就是把一个八位二进制数1111 1110 末尾的0 不断移动,造成灯挨个点亮的效果,像流水一样,形象称之为流水灯。俺目前只跟着郭天祥老师学了循环左移关键字:crol(move,1) ,括号内容自定义。

下面展示程序:

include<reg52.h>

include<intrins.h>

void main ()
{
P2=0xfe;
while(1)
{
long a=5000;
P2=crol(P2,1);
while(a--);
}
}

include<reg52.h>

include<intrins.h>

void main ()
{
long move=0xfe;
while(1)
{
long a=5000;
move = crol(move,1);
P2 = move;
while(a--);
}
}

//
头文件 头文件 头文件!!!#include<intrins.h> 导入crol函数的头文件
move后面的数字决定一次移动几位,移动一位就是挨个点亮,两个就是跳跃点亮
老师说P2直接赋值不好。所以第二个程序使用了变量move存储电压分布

移位函数+延时函数

移位函数:
头文件 #include<intrins.h>crol 字符循环左移 赋值P1=0xfe 即1111 1110 P1 = crol( P1 , 1 ) 则0从1位循环左移,灯从1-7循环亮起cror 字符循环右移irol 整数循环左移 iror 整数循环右移 lrol 长整数循环左移  lror 长整数循环右移

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值