一个简单的开关控制一盏灯的c程序如下:
#include<reg52.h>
sbit S1=P1^4 皮悄 //将S1位定义为P1^4,检测独立按键
sbit led0=P1^0 //将led0定义为P1.0口的LED
/***********************************************************************************************************************************************
延时函数
***********************************************************************************************************************************************/
void delay(void)
{
unsigned int i
for(i=5000i>0i--)
}
/***********************************************************************************************************************************************
主函数
***********************************************************************************************************************************************/
void main(void)
{
while(1)
{
if(S1==0) //判断是否有键按下
{
delay() //有键按下,延时去抖,真正应戚衫用时要少用这种延时,占用时间,用定时器延时或一个寄高握腔存器循环检测10多次按键
if(F0==0) //用F0标志位判断键按下是否已经处理,因刚学C语言没多久,
//不知道怎么定义RAM能位寻址的寄存器,先用F0,按键多的话,一个F0不够用
{
F0=1 //F0置1,表示这次按键按下已处理
led0=~led0 //将LED亮灭状态取反
}
}
else //S1=1说明按键释放
{
F0=0 //F0清零,清按键已处理标志
}
}
}
#include<reg52.h>sbit sw1 = p3^5
sbit led = p3^2
void delay()
{
unsigned int x,y=100
for(x=5y>0y--)
}
void mian()
{
if(sw1==0)
{
delay()
if(sw1==0)
led=!led
}
}
sbit led =P1.1if(key==1)
delay10ms()
{if(keyi==1)
{ a++
while(!key)
}}
if(a%3==0)
{
led =~led
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)