【零基础快速入门51单片机应用】-流水灯

 时间:2026-02-14 17:29:42

1、首先是创建工程,前面也说过这里就不重复讲了。

【零基础快速入门51单片机应用】-流水灯

2、然后我们编写代码,尽量自己敲一遍。不要以为复制黏贴一遍就完了,这样你对代码毫无感觉。

输入代码:

#include<reg52.h>

#include<intrins.h> //循环左移函数的头文件

void delayms(unsigned int k); //函数声明

void main()

{

P1 = 0xfe;

while(1) //无限循环

{

delayms(500);//延时500毫秒

P1 = _crol_(P1,1);//循环左移一位

}

}

void delayms(unsigned int k)//延时函数,

{

unsigned int i, j;

for(i=0; i<k; i++)

for(j=0; j<125; j++);

}

【零基础快速入门51单片机应用】-流水灯

3、编译生成hex文件,记得设置生成hex文件

4、启动proteus,双击芯片加载hex文件,启动仿真。可以观察到现象,流水灯。实验完成,后面简单间接一下原理。

【零基础快速入门51单片机应用】-流水灯

5、首先看一下原理图,左边的最小系统我们就不说了,右边的8个led灯接在P1,是共正极的,所以只要管脚输出低电平相应的灯就会亮,根据上一节课我们学习的只要向相应的寄存器写‘0’就可以亮灯。

  要实现流水灯只要按一定的顺序和频率点亮l灯就行了。

【零基础快速入门51单片机应用】-流水灯

6、我们分析一下代码:

首先是添加头文件,这个不解释,要用就添加。

然后是延时函数的声明,函数需要先声明再调用,具体愿意不说。

主函数main()里面先想P1写入0xfe,D1灯亮。

后面是无限循环函数,函数体内容,先调用延时函数输入500,延时500毫秒,然后循环左移一位,不停循环,就这样。

最后面是定义延时函数,延时函数就是“拖延时间的函数”,让cpu做没用的加法操作来拖延时间。

【零基础快速入门51单片机应用】-流水灯

7、end,谢谢大家。

  • 魔兽世界9.0怎么领取低保箱子奖励
  • 武林闲侠太原城虎符在哪?
  • VLC media player怎么设置放大变焦交互视频滤镜
  • 天下3魍魉孩子装备
  • 神幻之恋2攻略,神幻之恋2怎么封魔
  • 热门搜索
    小学四年级英语手抄报 我的青春我做主手抄报 尊敬老人手抄报 诚信的手抄报 绿山墙的安妮手抄报 讲卫生手抄报 创建文明城手抄报 保护校园环境手抄报 孝心少年手抄报 以过年为主题的手抄报