首页 理论教育 以及51单片机并行I/O口输出——单灯闪烁实验

以及51单片机并行I/O口输出——单灯闪烁实验

时间:2023-06-30 理论教育 版权反馈
【摘要】:要求:通过本实验,掌握带形参、不带形参延时函数的编写方法;掌握51单片机并行I/O口的输出方式。图2.1.8单灯闪烁参考接线3.程序流程图及参考程序程序流程图本实验参考程序流程图如图2.1.9所示。图2.1.9单灯闪烁程序流程图参考程序void Delay()知识补充单片机常用的延时方法在单片机编程中,常用的延时方法有非精确延时和精确延时。

以及51单片机并行I/O口输出——单灯闪烁实验

1.任务及要求

任务:设计一个程序,实现P2.5引脚所接LED每隔大约2s闪烁一次。

要求:通过本实验,掌握带形参、不带形参延时函数的编写方法;掌握51单片机并行I/O口的输出方式。

2.实验接线

实验接线如图2.1.8所示。

图2.1.8 单灯闪烁参考接线

3.程序流程图及参考程序

(1)程序流程图

本实验参考程序流程图如图2.1.9所示。

图2.1.9 单灯闪烁程序流程图

(2)参考程序void Delay()(www.xing528.com)

知识补充 单片机常用的延时方法

在单片机编程中,常用的延时方法有非精确延时和精确延时。非精确延时即利用for语句和while语句实现延时。精确延时则要利用定时器/计数器T0、T1、T2实现或利用库函数_nop_()(需要include<intrins.h>)实现。

在C语言中for循环的一般形式为:

for(语句1;语句2;语句3)

{循环体语句;}

执行时,先执行一次语句1(注意只执行一次),之后判断语句2是否成立。如果成立执行循环体语句,之后执行语句3,再返回语句2判断条件是否成立;成立执行循环体后再执行语句3,如此直到循环条件不成立则跳出循环。如果语句2不成立,则不执行循环体也不执行语句3直接跳出循环。

特别要注意的是,当循环体语句为空时,只要满足循环条件,for语句仍然会执行至条件不满足为止,这样就起到了延时的作用。如语句for(i=0;i<1537;i++);就是一个循环体为空的循环。当把多个for语句集合在一个函数中,即构成了延时函数。如:

此外,根据系统需要,如后面的交通灯程序,在一个程序中需要多种延时,此时可以把延时函数定义为有形参的延时函数。如:

带有形参的延时函数,在主函数中,根据具体应用展开为实参即可。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈