单片机led灯闪烁程序c语言_单片机之路 ——led闪烁与时延语句(2)

第一关是 led 的点亮,第二关就变成了 led 的闪烁了,也就是让 led 变亮-变暗-变亮-变暗……如此循环
依旧是需要俺强势的C语言二级基础了(雾),基本思路:亮灯 - 停顿 - 灭灯- 停顿 -亮灯……
亮灯+灭灯为一组循环,但是停顿如何实现呢,这里就出现了C语言中不被重视的备胎语句——无意义循环语句,让cpu不断运算造成停顿的假象——还有这种操作?当然,后期据说还会有新的时间控制语句,前期嘛,就简单粗暴的解决问题吧

下面展示程序:

include<reg52.h>

sbit D1=P2^0;

void delay() //delay就是英语里延迟的意思,在这里放进去一个空语句造成时延,后面的主函数引用
{
int i;
while (i--);
}

void main ()
{
while(1)
{
D1=0;
delay(5000);
D1=1;
delay(5000);
}
}

//延时函数中延时的时长可以进入调试模式测试,通过设置断点测试程序执行一次花费的时间。
调试模式:上方工具栏第二栏 start debug session,打开寄存器窗口 view - register window,sys栏里面的sec表示执行时长多少秒。运行程序选择run,设置断点:在语句左边点击出现红色圆点即为断点。
延时函数中要注意a的值会溢出,此时要设置a的数据类型,int变成long可以增加a的值。

至此,就通过了单片机第二关,led闪烁,开始需要自己创造子函数了,暂时还是有惊无险,加油!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值