/*******************电子蜡烛***********************/
/******************QQ:774145445********************/
/*****************快手:共同学习STM8****************/
/*****************PADAUK-0.91**********************/
// pms150g
// _____@_____
// |1 vdd gnd 8|
// |2 pa7 pa0 7|
// |3 pa6 pa4 6|
// |4_pa5__pa3_5|----pwmled
#include "extern.h"
void xiaoguo1(); //效果1
void xiaoguo2(); //效果2
void xiaoguo3(); //效果3
/**************************************************/
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/8 // SYSCLK=IHRC/4
/**************************************************///pwm配置请查看.inc文件
$ tm2c sysclk,pa3,pwm;
$ tm2s 8bit,/1,/1;
//tm2ct //timer2计数器
//tm2b //timer2上限
/**************************************************/
tm2b=130; //80-200(初值130)
while (1)
{
xiaoguo1();
xiaoguo2();
xiaoguo3();
.delay 100000;
}
/**************************************************/
}
/**************************************************/
void xiaoguo1() //效果1
{
byte xg;
xg =130;
while(xg<200)
{
xg ++;
tm2b =xg;
.delay 10000;
}
while(xg>130)
{
xg --;
tm2b =xg;
.delay 10000;
}
}
/**************************************************/
void xiaoguo2() //效果2
{
byte xg;
xg =130;
while(xg<220)
{
xg +=3;
tm2b =xg;
.delay 10000;
}
while(xg>95)
{
xg -=4;
tm2b =xg;
.delay 10000;
}
while(xg<130)
{
xg +=1;
tm2b =xg;
.delay 10000;
}
}
/**************************************************/
void xiaoguo3() //效果3
{
byte xg;
xg =130;
while(xg<200)
{
xg ++;
tm2b =xg;
.delay 10000;
}
while(xg>130)
{
xg -=2;
tm2b =xg;
.delay 10000;
}
}
/**************************************************/
/**************************************************/
/**************************************************/
/**************************************************/
|