51单片机流水灯
来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-18
用P1口做实验, IO 高电平 触发亮灯。
假如,我们要让P15的灯亮,其他的灯灭,
P17 P16 P15 P14 P13 P12 P11 P10
0 0 1 0 0 0 0 0
即是0010 0000 换成16进制的数 就是 : 0x20
P1 = 0x20 ,就可以了;
是不是很简单?
那好,下面提供二种方式,让8盏灯流水
(1)
大家自己检查对照一下, 数组dat[8]里面每个数,分别对应那盏灯亮 ;
(2)
其实,上面二种方式都是一样的,表达方式不一样而已,实际结果都是P1 = 0xXX 而已。
第二种方式,i=0、dat(0x80)移动0位,还是0x80,那么P1=0x80,
i=1,dat(0x80)移动1位,变成0x40,那么P1 = 0x40,
i=2,dat(0x80)移动2位,变成0x20,那么P1 = 0x20,
。。。。。。。看,实际效果和第一种方式一样的。
流水灯的速度,只要大家自己修改delay() 函数就可以了,延时时间长,流水灯速度就慢,反之则快。
至此,没错,protuus仿真试一下 :
下一篇,我将介绍 51单片机驱动一位数码管 显示 0--9 的数字
查看评论 回复
"51单片机流水灯"的相关文章
- 上一篇:和我一起入门51单片机
- 下一篇:学单片机,从看懂51单片机的最小系统图开始