帮我写个程序,用PIC12F683芯片
需要实现功能:按按键不放--LED一直亮,松开按键---LED熄灭需要完整的程序啊(包括寄存器的设置),不完整的我也不会弄啊,谢谢了...
需要实现功能: 按按键不放--LED一直亮,松开按键---LED熄灭 需要完整的程序啊(包括寄存器的设置),不完整的我也不会弄啊,谢谢了
展开
1个回答
2011-08-24
展开全部
#include<pic.h>
void delay(int x)
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
ANSEL=0;
CMCON0=0X07;
int a,b,c,d;
GPIO=0;
TRISIO0=1;
TRISIO1=1;
TRISIO2=0;
TRISIO3=0;
TRISIO4=0;
TRISIO5=1;
if(GPIO5==0)
{
//此处还没有加去抖动
while(1)
{
if((GPIO0==0)&&(GPIO1==0))
{
delay(5);
if((GPIO0==0)&&(GPIO1==0))
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
if((GPIO0==1)&&(GPIO1==0))
{
delay(5);
if((GPIO0==1)&&(GPIO1==0))
{
GPIO2=1;//点亮LED1
GPIO3=0;//点亮LED1
GPIO4=1;//点亮LED1
}
}
if((GPIO0==1)&&(GPIO1==1))
{
delay(5);
if((GPIO0==1)&&(GPIO1==1))
{ GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=0;//点亮LED1
}
}
if((GPIO0==0)&&(GPIO1==1))
{
delay(5);
if((GPIO0==0)&&(GPIO1==1))
{
while(1)
{
for(a=1000;a>0;a--)
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
for(a=1000;a>0;a--)
{
GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
}
}
}
}
if(GPIO5==1)
{
while(1)
{
for(d=3;d>0;d--)
{
for(c=5000;c>0;c--)
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
for(c=5000;c>0;c--)
{
GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
delay(500);
for(d=3;d>0;d--)
{
for(c=20000;c>0;c--)
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
for(c=20000;c>0;c--)
{
GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
delay(500);
}
}
}
void delay(int x)
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
ANSEL=0;
CMCON0=0X07;
int a,b,c,d;
GPIO=0;
TRISIO0=1;
TRISIO1=1;
TRISIO2=0;
TRISIO3=0;
TRISIO4=0;
TRISIO5=1;
if(GPIO5==0)
{
//此处还没有加去抖动
while(1)
{
if((GPIO0==0)&&(GPIO1==0))
{
delay(5);
if((GPIO0==0)&&(GPIO1==0))
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
if((GPIO0==1)&&(GPIO1==0))
{
delay(5);
if((GPIO0==1)&&(GPIO1==0))
{
GPIO2=1;//点亮LED1
GPIO3=0;//点亮LED1
GPIO4=1;//点亮LED1
}
}
if((GPIO0==1)&&(GPIO1==1))
{
delay(5);
if((GPIO0==1)&&(GPIO1==1))
{ GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=0;//点亮LED1
}
}
if((GPIO0==0)&&(GPIO1==1))
{
delay(5);
if((GPIO0==0)&&(GPIO1==1))
{
while(1)
{
for(a=1000;a>0;a--)
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
for(a=1000;a>0;a--)
{
GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
}
}
}
}
if(GPIO5==1)
{
while(1)
{
for(d=3;d>0;d--)
{
for(c=5000;c>0;c--)
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
for(c=5000;c>0;c--)
{
GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
delay(500);
for(d=3;d>0;d--)
{
for(c=20000;c>0;c--)
{
GPIO2=0;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
for(c=20000;c>0;c--)
{
GPIO2=1;//点亮LED1
GPIO3=1;//点亮LED1
GPIO4=1;//点亮LED1
}
}
delay(500);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
唯创智能
2024-05-10 广告
2024-05-10 广告
语音芯片根据集成电路类型来分,凡是与声音有关系的集成电路被统称为语音芯片(又称语音IC,这里应该叫成Voice IC),但是在语音芯片的大类型中,又被分为语音IC(这里应该叫成Speech IC),音乐IC(这里应该叫成Music IC)两...
点击进入详情页
本回答由唯创智能提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询