程序实现功能:按键调光,按键带
响声。
#include<pic.h>
__C
FIG(0X034);
#define KEY RC5
#define LED RC2
int b;
void key(unsigned *p)
{
static bit valid=0;
static bit finish=0;
if(valid==0)
{
if(KEY==0)
{
if(finish==0)
{
finish=1;
RC0=1;//蜂鸣器接这里
b=50;
while(b--);
RC0=0;
if(*p>251)
{
*p=0x01;
}
else
{
*p+=50;
}
}
}
else
{
valid=0;
finish=0;
}
}
else
{
if(KEY==0)valid=1;
}
}
void tiaoguang(unsigned PWM)
{
unsigned char PwmH;
unsigned char PwmL;
unsigned char i;
for(i=0;i<20;i++)
{
PwmH=PWM;
PwmL=255-PWM; LED=1;
while(PwmH--);
LED=0;
while(PwmL--); } }
void main()
{
unsigned char PWM=0;
RC2=0;
SC=0b00100000;
while(1)
{
key(&PWM);
tiaoguang(PWM); }
}
程序思路:设定PWM变量,每按一次,PWM增加50个单位,加到到250,归零。
-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。
自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。