#include "HT66F70A.h"
#include "mydatatype.h"
#include "./delay/delay.h"
#define N 2 //亮暗的速率
#define T 1000 //PWM的周期
void pwm(u16 x)
{
while(x--);
}
void flash1(void)
{
u16 t=1;
u8 f=0;
u16 count=5;//5次,每个函数执行的次数
while(1)
{
_pe=0x00;
pwm(t); //Toff,亮的时间
//led0=1;
_pe=0xff;
pwm(T-t+100);//Ton,暗的时间
if(!f)
t+=N+1;//亮速率较快,模拟呼吸
else
t-=N;//暗速率较慢
if(t>T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗
if(t<0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮
// count--;
}
}
void main()
{
_wdtc = 0b10101011;
_pfc = 0;
_pec = 0;
while(1)
{
flash1();
}
}
#include "mydatatype.h"
#include "./delay/delay.h"
#define N 2 //亮暗的速率
#define T 1000 //PWM的周期
void pwm(u16 x)
{
while(x--);
}
void flash1(void)
{
u16 t=1;
u8 f=0;
u16 count=5;//5次,每个函数执行的次数
while(1)
{
_pe=0x00;
pwm(t); //Toff,亮的时间
//led0=1;
_pe=0xff;
pwm(T-t+100);//Ton,暗的时间
if(!f)
t+=N+1;//亮速率较快,模拟呼吸
else
t-=N;//暗速率较慢
if(t>T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗
if(t<0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮
// count--;
}
}
void main()
{
_wdtc = 0b10101011;
_pfc = 0;
_pec = 0;
while(1)
{
flash1();
}
}