2025年单片机程序编写流水灯代码(单片机实现流水灯代码)

单片机程序编写流水灯代码(单片机实现流水灯代码)实物演示 多媒体讲解 单片机控制 i o 口输出是学习单片机的第一步 首先通过 LED 的方式学习 i o 口的控制 层层递进学习 要控制 8 个 LED 灯形成流水灯的效果 先得使第一个 LED 点亮 其他 7 个 LED 熄灭 延时一段时间后 再使第 2 个 LED 点亮 其他 7 个 LED 熄灭 接着第 3 个 第 4 个 直到第 8 个 LED 然后如此循环 1 8 个 LED 灯形成流水灯的效果 2

大家好,我是讯享网,很高兴认识大家。



 

实物演示■

多媒体讲解■

单片机控制i/o口输出是学习单片机的第一步,首先通过LED的方式学习i/o口的控制。层层递进学习

    要控制8个LED灯形成流水灯的效果,先得使第一个LED点亮,其他7个LED熄灭,延时一段时间后,再使第2个LED点亮,其他7个LED熄灭,接着第3个、第4个……直到第8个LED,然后如此循环。

1、8个LED灯形成流水灯的效果

2、理解并掌握延时函数的调用

3、采用不同的方法完成流水灯的设计

1、for循环语句

(1)for循环语句

for循环语句的格式如下:

    for(表达式1;表达式2;表达式3)

    {    

      程序语句组;  

  }

式中“表达式1”是用来给循环变量赋初始值的,所以这一句为初始化语句。“表达式2”是循环的条件,一般书写逻辑关系或一般关系表达式。“表达式3”可以用来修改循环变量的值,对循环变量进行增或减的操作。

for语句的具体执行过程如下:首先计算出表达式1的值作为循环控制变量的初值,再检测循环条件表达式2的结果,当满足循环条件时就进入循环体内执行语句。执行循环体一遍之后,接着去执行表达式3,然后根据表达式3修改后的计算结果来再次判断是否满足循环条件2,若满足就再次执行循环体内的语句,一直执行到循环条件表达式2的结果为假(0值)时,退出循环体,程序将会执行这个for语句的下一条语句。


讯享网

2、子程序的编写与调用

在编写程序过程中,有些程序代码完全相同或相似,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序,从而方便主程序调用。主程序在执行过程中如果需要某一子程序,通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。

 }

对于不需输入变量与返回数值的子程序,主程序中调用只要写入”名称();”,就能够调用了。如:delay();

3、关于全局变量与局部变量

在参考程序中,我们可以看到“unsigned int i;”是在延时子函数里面定义的。那么写在函数里面和外面有什么区别呢?在函数体外定义的变量称为全局变量,在函数体内定义的变量称为局部变量,所以参考程序中定义的变量i就是局部变量。全局变量在整个程序中都是有效的,可供程序中所有的函数共同使用,程序编译时会占用固定的数据存储区;而局部变量只能在定义它的函数体内起作用,函数退出循环体,变量的数据存储区将释放。所以我们在编程时要养成节约内存的习惯,能使用局部变量,就不要使用全局变量。

4、语句P1=0x7f中,是将右边的值送到单片机的P1口,执行了数据从端口输出。

5、主函数中调用延时函数只要写入delay(   );这里延时的子函数没有参数。

将P1端口与LED一端进行连接

 

小讯
上一篇 2025-05-11 09:11
下一篇 2025-04-24 15:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/201155.html