零基础单片机学习笔记:LED呼吸灯程序详解
今天学习到了通过延时函数和for循环来做一个简单的PWM输出,来控制LED进行渐变。下面是我自已对这处程序的理解
#include <REGX52.H> // 调用REGX52.H这个文件,简单理解就是把这个文件内的东西放到自已的程序里。
void Delay(unsigned int t); // 定义一个延时函数Delay, unsigned int t是定义一个0-65535的变量
{
while(--t);// 通过循环while 从65535自减到0就会跳出程序,通过自减来实现延时。
}
void main()//主程序入口。 不管多复杂的程序 主程序只有一个
{
unsigned int T=500,Toff=0;//两个0-65535的变量,赋初值 T=500 Toff=0;
while (1)//进入循环,下面的程序会一直循环执行。
{
for(Toff=1;Toff<T;Toff++)//for循环,先初始化Toff=1,然判断Toff<T是否成立,如果成立则执行下面大括内的程序,再进行Toff++,因为T=500, Toff=1 , 当Toff自加499次时Toff=T。Toff<T的条件不成立,跳出程序。
{
P0=0X01;//转换为二进制就是0000 0001 意思是P0口的最位输出高电平,点亮LED.
Delay(Toff); // 这里的延时从1自加到499 每运行一次程序延时加长一点
P0=0X00;//转换为二进制就是0000 0000 意思是P0口全输出低电平,LED灭
Delay(T-Toff); //这里的延时从499减到1每运行一次程序延时缩短一点
for(Toff=T-1;Toff>0;Toff--)//for循环,先初始化Toff=T-1,然判断Toff>0是否成立,如果成立则执行下面大括内的程序,再进行Toff--,因为T=500, Toff=T-1(499) , 当Toff自减499次时Toff=0。Toff>0的条件不成立,跳出程序。
{
P0=0X01;//转换为二进制就是0000 0001 意思是P0口的最位输出高电平,点亮LED.
Delay(Toff); // 这里的延时从499减到1每运行一次程序延时缩短一点
P0=0X00;//转换为二进制就是0000 0000 意思是P0口全输出低电平,LED灭
Delay(T-Toff); 这里的延时从1自加到499 每运行一次程序延时加长一点
}
}
}
上电之后,Led的亮度从最暗逐渐变到最亮,然后从最亮又慢慢的变到最暗的状态,从而实现了一个呼吸灯的效果。
这是我学习了一段时间总结下来的经验。当然有很多地方我自己理解的,也不是很到位,希望大家可以指出来
以上内容纯手打,请不要搬运哦。如果你觉得不错请关注!
单片机编程,看似很简单,其实一点也不难,呼吸灯怎么做
单片机编程看似很简单,其实一点也不难。今天做一个呼吸灯,通过控制输出电压实现渐亮渐灭效果。
·这次要用到模拟输出端口,电压0-5v对应的是数值0-255。
·用一个变量来控制输出电压,从0加到255灯就可以逐渐变亮。
·反过来再从255减到0灯就逐渐熄灭。
·一定要注意端口要接模拟输出口,换个颜色看的明显一些。
谢谢观看。
相关问答
单片机 编程设计要求如下:在 单片机 的P0口接有8个发光二极管作为指示灯,P1.0~P1.3接有4个按键?#include#include#defineucharunsignedcharsbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitk...
单片机 指示灯需要电阻吗?单片机的呼吸灯需要的元器件有一个led灯,一个208欧的电阻。通过单片机io口置高置低,可使加在灯上的电压发生变化,实现呼吸灯的功能。单片机的呼吸灯需要的元...
怎么使用电灯遥控?1,如果单个灯可以选择超声波遥控灯头或者是超声波遥控开关。2,如果是多个灯需要同时明、暗的情况下可以选择遥控接触器。3,如果是多个灯不需要同时明、暗...
单片机 怎样控制可控硅在220V电路中作开关用?(控制一个40W节能灯)?鉴于你控制的是40W的节能灯。所以,用可控硅的话,会出现灯管微亮或是闪烁的现象。所以,还是建议使用继电器来控制节能灯。你用阻容降压电路的话,只要电容器...
单片机 led是高电平亮还是低电平亮?单片机引脚驱动,LED是高低电平均可点亮,但通常是低电平驱动LED发光管,原因是单片机低电平输出电流比高电平输出电流要大一些。不管是高电平还是低电平,驱动L...
msp430 单片机 led灯循环显示0到9 程序 怎么写?您说的显示0到9是数码管还是9个LED指示灯,若是数码管,可以动态扫描或者静态驱动。若是9个LED,可以使用9个io驱动,定时依次给io有效电平即可。您说的显示0到9...
单片机 是什么供电器?单片机是直流供电,一般是5V或3.3V的直流电,是正负极。单片机就是一块集成电路芯片上集成有CPU、程序存储器、数据存储器、输入/输出接口电路、定时/计数器、...
p1=0xfe是什么意思? 单片机 ,流水灯中的一句?p1端口对应8个管脚,当p1设置成输出时,p1对应的数据寄存器中的取值,就对应这8个管脚的输出电平状态,p1=0xfe;就是给这个寄存器进行赋值,也就是修改p1对应管脚...
多通道温度定时控制器的操作?技术实现要素:本实用新型针对现有温度控制器工作效率低、应用场景有限、不能很好地满足多种使用需求的问题,提出一种多通道温度定时器控制器,通过单片机控制...
怎样利用stc-isp烧录 程序 ?要使用STC-ISP来烧录程序,需要先准备好以下几个步骤:确定目标板型号和芯片型号。找到芯片的数据手册或者规格书,了解芯片的引脚布局、寄存器地址等信息。下...