‘壹’ 单片机C语言按键开关程序
#include<reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
voiddelay_ms(uint);
sbitled0=P0^0;
sbitled1=P0^1;
sbitkey1=P3^2;
sbitkey2=P3^3;
voidmain()
{
uchari=0;
ucharj=0;
while(1)
{
if(key1==0)//按键1
{
delay_ms(10);
if(key1==0)
{
i++;
i=i%2;
switch(i)
{
case0:led0=1;break;//关小灯
case1:led0=0;break;//开小灯
default:break;
}
}
while(!key1);
}
if(key2==0)//按键2
{
delay_ms(10);
if(key2==0)
{
j++;
j=j%2;
switch(j)
{
case0:led1=1;break;//关小灯
case1:led1=0;break;//开小灯
default:break;
}
}
while(!key2);
}
}
}
voiddelay_ms(uintz)//延时子程序
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
‘贰’ 51单片机中按键程序用C怎么写
用一个定时器,先赋值一个num,当num=20的时候,LED亮的时间是1s,当按下键,让num+20(12M的晶振)在定义一个a,判断a是否与num相等。这样试试呢....
‘叁’ 51单片机的按键控制小灯亮灭的问题(程序类型:c语言)
系统设置如下 p1.0 按键1 p1.1 按键2 p1.2按键3
p2.0 p2.1 p 2.2 分别接一个继电器和LED
IO口 初始化均为高电平
程序
main()
{
while(1)
{
if(p1.0==0)
if(p1.1==0)
if(p1.2==0)
}
‘肆’ 51单片机1按键切换3种不同状态的c程序
主程序大致是这样的
flag=0;//记录按键次数
While(1)
{
if(key==0){delayms(20);if(key==0)flag++;}//按键检测
if(flag==3)flag=0;
if(flag==0){正向流水}
else if(flag==1){反向流水}
else {间隔流水}
}存在问题,由于流水灯执行时间较长,因此对按键响应缓慢,可以在流水灯之间加入按键检测语句,当检测到按键按下时,用break语句退出当前循环
‘伍’ 单片机按键触发C程序
while(1)
{
if(keyflag==1) //有按下切出死循环
break;
else continue;
}
while(1)
{
..... //用户自己的程序
}
这种方法是模拟按键按下启动真正的应用程序,触发的是自己的功能程序短。从效果上来还是可以的
‘陆’ 单片机 4x4键盘c程序
把 if(P1!=k) 该做 if(P1!==k) 其他的没看了·
‘柒’ 51单片机 C语言按键多功能程序怎么写
长按或短按你可以用定时器来设定时间。时间一到就直接跳出来执行就可以了。想连续按1或2或3次的话你就直接用个变量来当计数器,按一下计数一次就可以了。
‘捌’ C语言实现单片机按键
这个是曾经一个天才级的年轻人写的语句
#define
reset()
((void
(code
*)
(void))
0x0000)
()
你在要复位的的时候,添加reset();就可以实现软件复位了
‘玖’ 键盘 单片机程序C语言
哪有这样写的?
你说的也不清楚啊
P3.1串口输出一个信号给电脑四个键带便“上下左右”,...
这句什么意思呢?