c语言余弦函数呼吸灯 c语言余弦定理

单片机制作呼吸灯的C语言程序怎样编写?

#include\x0d\x0asbit LED0=P0^0;\x0d\x0asbit wei=P1^1;\x0d\x0asbit duan=P1^0;\x0d\x0asbit lcden=P1^7;\x0d\x0asbit dianzhen=P1^3;\x0d\x0asbit leden=P1^2;\x0d\x0avoid Delay(unsigned int t);\x0d\x0avoid main (void)\x0d\x0a{\x0d\x0aunsigned int CYCLE=600,PWM_LOW=0;//定义周期并赋值\x0d\x0alcden=0;\x0d\x0aP0=0x00;\x0d\x0adianzhen=0;\x0d\x0aP0=0xff;\x0d\x0awei=0;\x0d\x0aduan=0;\x0d\x0awhile (1) //主循环\x0d\x0a{\x0d\x0aLED0=1;\x0d\x0aDelay(150000); //特意加延时,可以看到熄灭的过程\x0d\x0afor(PWM_LOW=1;PWM_LOW0;PWM_LOW--)\x0d\x0a{\x0d\x0aLED0=0;\x0d\x0a \x0d\x0aDelay(PWM_LOW);\x0d\x0a \x0d\x0aLED0=1;\x0d\x0a \x0d\x0aDelay(CYCLE-PWM_LOW);\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0avoid Delay(unsigned int t)\x0d\x0a{\x0d\x0awhile(t--);\x0d\x0a}

嵊泗网站建设公司创新互联,嵊泗网站设计制作,有大型网站制作公司丰富经验。已为嵊泗上千提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的嵊泗做网站的公司定做!

单片机制作呼吸灯的C语言程序怎样编写

#includereg51.h

sbit LED0=P0^0;

sbit wei=P1^1;

sbit duan=P1^0;

sbit lcden=P1^7;

sbit dianzhen=P1^3;

sbit leden=P1^2;

void Delay(unsigned int t);

void main (void)

{

unsigned int CYCLE=600,PWM_LOW=0;//定义周期并赋值

lcden=0;

P0=0x00;

dianzhen=0;

P0=0xff;

wei=0;

duan=0;

while (1) //主循环

{

LED0=1;

Delay(150000); //特意加延时,可以看到熄灭的过程

for(PWM_LOW=1;PWM_LOWCYCLE;PWM_LOW++)

{

LED0=0;

Delay(PWM_LOW);

LED0=1;

Delay(CYCLE-PWM_LOW);

}

for(PWM_LOW=CYCLE-1;PWM_LOW0;PWM_LOW--)

{

LED0=0;

Delay(PWM_LOW);

LED0=1;

Delay(CYCLE-PWM_LOW);

}

}

}

void Delay(unsigned int t)

{

while(t--);

}

STC12C5A60S2制作呼吸灯C语言程序怎么写

呼吸灯的程序:

/**************************************************************************** 

功能:LED灯慢慢变暗,再慢慢变亮。

用定时器模拟的PWM调制。

单片机:AT89S52                                                   

******************************************************************************/ 

#include reg52.h 

#define V_TH0  0XFF              //设定定时器0,高8位的初值              

#define V_TL0  0XF6              //设定定时器0,低8位的初值            

#define V_TMOD 0X01              //设定定时器0的工作方式为:方式1(计数位数是16位                                  //,由TL0作为低8位、TH0作为高8位)

#define uchar unsigned char 

#define uint unsigned int                

void init_sys();                         //系统初始化函数

void delay(uint);                        //延时函数

unsigned char ZKB;                       //占空比

void main (void) 

init_sys();                            //初始化

while(1)

{  

for(ZKB=5;ZKB40;ZKB=ZKB+2)         //每调节一次占空比,就延时大概8ms左右,这使得LED现象更明显

{

delay(8); 

}

for(ZKB=40;ZKB5;ZKB=ZKB-2)

{

delay(8); 

}

}

void delay(uint z)

{

uint x,y;

for(x=z;x0;x--)

for(y=100;y0;y--); 

}

void init_sys()            /*系统初始化函数*/ 

/*定时器初始化*/ 

TMOD=V_TMOD;         

TH0=V_TH0; 

TL0=V_TL0; 

TR0=1; 

ET0=1; 

EA=1; 

}

void timer0(void) interrupt 1 using 2              

static uchar click=0;    //中断次数计数器变量

TH0=V_TH0;               //重新恢复定时器初始值

TL0=V_TL0; 

++click;                       //每计数10次,产生一个中断,并且click增加一个

if (click=100)

click=0;              //计满一百次,这重新计数。

/*因为计一次数的时间是1us,10次产生一个中断,也就是一个中断10us。100个中断为1ms。

则,可以在这100个数中随便取值,用于表示占空比的多少,占空比的范围为(1~100)*/

if (click=ZKB)          //当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整 

P1=0x00;                      //P1口接的是LED灯

else 

P1=0xff;

}

此程序的总中断时间为100ms,即频率为:100KHZ,占空比从5 变为40(即5%~25%)。


文章标题:c语言余弦函数呼吸灯 c语言余弦定理
地址分享:http://scyanting.com/article/ddjppde.html