标题: 这个单片机呼吸灯代码修改哪些参数可以控制呼吸频率 [打印本页]

作者: sedisj    时间: 2020-3-6 16:04
标题: 这个单片机呼吸灯代码修改哪些参数可以控制呼吸频率
#include<reg52.h>                        //调用含有51专用寄存器的头文件
#define uchar unsigned char                 //用uchar代替unsigned char
#define uint unsigned int                 //用uint代替unsigned int

void delayms(int xms)                     //脉宽调制函数
{
while(xms--);
}

void main()                                            //主函数
{
           uint T=400,N=0;                   //定义周期
   while(1)      
  {         
                                      
           for(N=1;N<T;N++)                    //从暗逐渐变亮
        {
          P1=0x00;           
          delayms(N);
          P1=0xff;
          delayms(T-N);        
        }
        P1=0xff;

  for(N=T-1;N>0;N--)                     //从亮逐渐变暗
        {
          P1=0x00;
          delayms(N);
          P1=0xff;
          delayms(T-N);        
        }
        delayms(N+10);                         //增加看到的熄灭效果
   }         
  }
作者: 1231dcsf3d    时间: 2020-3-6 16:37
将T=400改小一点就好了
作者: dolism    时间: 2020-3-6 17:20
调整T的值就可以控制呼吸频率了,增大T值,呼吸周期变长,频率降低;减小T值,呼吸周期减小,频率增加。
作者: lovexulu    时间: 2020-3-6 17:23
T是半周期一个完整呼吸(亮灭是2个T)
作者: 想进步要学习    时间: 2020-3-6 21:16


作者: sedisj    时间: 2020-3-6 22:08
1231dcsf3d 发表于 2020-3-6 16:37
将T=400改小一点就好了

谢谢您了
作者: sedisj    时间: 2020-3-6 22:11
dolism 发表于 2020-3-6 17:20
调整T的值就可以控制呼吸频率了,增大T值,呼吸周期变长,频率降低;减小T值,呼吸周期减小,频率增加。

谢谢您了
作者: sedisj    时间: 2020-3-6 22:16
lovexulu 发表于 2020-3-6 17:23
T是半周期一个完整呼吸(亮灭是2个T)

好的,谢谢您了
作者: sedisj    时间: 2020-3-6 22:18
想进步要学习 发表于 2020-3-6 21:16

好的,谢谢您了
作者: sedisj    时间: 2020-3-6 23:37
想进步要学习 发表于 2020-3-6 21:16

好的,谢谢您了
作者: Johncui    时间: 2020-12-22 11:48
你有这个的proteus仿真图嘛




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1