首先,写下这一段。这句话的目的是让程序知道,他下面写的是51单片机的程序,其他型号可能不适用。
您如何知道您拥有哪种型号?它写在微控制器上。
STC似乎意味着这个微控制器是引脚型的。如图所示,微控制器上的每个引脚都很长。
旁边的89C51RC是它的型号。烧录程序时必须找到对应的型号。
另外,51和52的程序似乎都适用,这意味着如果你在include中编写reg51.h,也可以烧录到52型号单片机中。
然后下一行定义了名为S1 的内容,并将P1.0 端口的值分配给S1。=表示赋值。随后用S1的值来修改P1.0的值。
本节给出了一个延迟函数,void后面是函数名。 unsigned表示没有符号,从0向上计数,int表示两个字节,一个字节是2的8次方,256,两个字节是65536。i是定义的变量,即i的定义取值范围是0到65535因为从0开始计数,所以65536需要减1。
A k 也定义如下。对于这个k,k最初等于0。只要k在delay中小于i的值,k就会不断地自加,直到k等于i。
这部分是主要功能。主要的意思是主要的。一个函数中只有一个main函数。
while表示循环,其内部的1经判断后始终为真,即直接执行循环的内容。
如果将发光二极管的正极连接到电源正极,负极连接到单片机的P1.0引脚,那么当S1=0时,灯就会亮。当S1=1时,灯灭。因为只有当二极管的阳极为高电平、阴极为低电平时才会点亮,其他情况下不会点亮。
延迟的数字就是i的值,可以修改。不超过65535就可以使用,可以发现数字越大,点亮和熄灭的时间越长。
这是实际效果。图片并没有完全捕捉到灯光闪烁的效果,但仅此而已。
也有同学告诉我,delay函数中没有使用k,而是使用了while(i--)。我不知道为什么会这样。有一位老师能理解并能解释它。
最后提醒大家,写程序的时候一定要在英文输入法下写。它不识别中文。还要注意书上的程序中是否有分号,该大写的单词是否大写。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/5753.html
用户评论
51单片机的灯光控制,这块芯片太handy了!
有12位网友表示赞同!
终于找到了详细的灯闪烁程序教程!准备动手试试。
有8位网友表示赞同!
我之前做的五一灯闪烁项目,用的是外接晶振调试,很耗时……
有6位网友表示赞同!
这个方案简单易懂,适合小白入门单片机啊!
有13位网友表示赞同!
想实现更复杂的灯光效果可以参考一下这个程序修改。
有20位网友表示赞同!
学习了51单片机的基础知识后,就可以轻松的完成这个闪烁灯项目!
有9位网友表示赞同!
这篇文章讲解的很清楚,连硬件连接步骤都详细描述了,很好!
有12位网友表示赞同!
闪烁频率调成0.5hz,看效果!
有13位网友表示赞同!
用C语言编程控制LED闪烁,太酷了吧?感觉自己在玩电子游戏!
有5位网友表示赞同!
学习这个流程可以帮助我更好理解单片机的原理吧!
有17位网友表示赞同!
期待找到更复杂的程序,实现一些漂亮的灯光效果~
有7位网友表示赞同!
终于学会了用51单片机控制LED灯了,感觉自己进步了一大步!
有20位网友表示赞同!
闪烁频率影响项目的效果,需要根据实际情况调整。
有18位网友表示赞同!
这个程序可以作为一个基础模板,可以修改不同的参数来实现不同的效果!
有15位网友表示赞同!
单片机的学习之旅才刚刚开始!
有19位网友表示赞同!
51芯太棒了,能实现很多有趣的功能,这只是一个开端!
有16位网友表示赞同!
计划搭建一个简单的红绿灯控制系统,看看能不能用到这个程序的思路。
有19位网友表示赞同!
学习编程和电学知识,以后可以制作各种有创意的小电子产品!
有13位网友表示赞同!
这个教程应该放在更显眼的位置,方便大家学习!
有18位网友表示赞同!