导航:首页 > 操作系统 > c52单片机按键开关灯

c52单片机按键开关灯

发布时间:2022-06-01 23:26:22

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED暗!循环

1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。

⑵ 用52单片机的4x4矩阵键盘的前八个键分别控制8个LED灯

#include "reg51.h"
#define uchar unsigned charconst tab[]={0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d};
const uchar led[]={0x01,0x01,0x04,0x08,0x10,0x20,0x40,0x80};
void delay()
{
uchar i;
for(i=0;i<10;i++){;}
}
void keyscan()
{
uchar a,b,c,i;
P3=0x0f;
a=P3;
delay();
P3=0xf0;
b=P3;
delay();
c=a+b; for(i=0;i<8;i++)
if(c==tab[i]) P2=led[i];
if(c==0xeb) P2=0xff;
}
void main()
{ P2=0x00; while(1)
{
keyscan();
}
}

⑶ 单片机c52怎么用4个键控制四种方式的流水灯,还能暂停,求解决!!!

这个程序可以试一下
#include "reg52.h"
typedef unsigned int WORD;

sbit key = P3^4;

void Delay_ms(WORD n)//软件延时
{
WORD x;
while (n--)
{
x = 100;
while (x--);
}
}

void main()
{
bit Y=0;
P1=0X01;
P3=0XFF;
while(1)
{
if(key==0)
{
Delay_ms(10);
if(!key)
{
Y=~Y;
while(!key);
}
}

if(Y==1)
{
if(P1==0X00)P1=0X01;

Delay_ms(100);
P1=P1<<1;

}

}

}

⑷ 单片机C语言按键控制LED灯

其实是一样的,也没什么哪个规范这一说,这个看个人习惯了

首先if(SW13==0)是判断此引脚是否为0 (按键按下)
然后一个delay用于按键防抖动

没被注释的那部分是靠if在次判断是否为0按下按下后执行LED_ON函数使LED亮
然后通过while判断按键是否松开,如果松开的话就继续执行LED_OFF将LED关闭

而注释掉的那段是依靠while函数直接判断按键是否处于按下状态
是的话就循环执行LED_ON函数直至判断按键松开(SW13=1)后在继续执行到LED_OFF函数使LED 关闭

不过这两种写法的有个共同缺点就是按键判断是while死循环,如果你这个按键按下后,单片机就只是在判断这个条件成立与否,期间不在进行其他工作

⑸ 单片机STC89C52,P0.1口作为按钮,P1.0连接灯,要求按钮控制灯的亮灭。请设计硬件连接方式和C程序

单片机是不认识平p1.0 , P1.3 等,你把P1.0改为P1^0 , P1.3改为p^3.

⑹ 使用52单片机,用8个开关,分别控制8个LED灯

52单片机,有P4口?开玩笑吧

⑺ 单片机 用C语言怎么编写用一个按钮,控制一盏灯的亮与灭的程序

读取连接按键的IO口,判断是否为低电平,如果是,延时(十毫秒左右可以),再次读取IO口,判断是否为低电平,如果是则表示有有效的按键按下,接着用while判断等待按键释放,然后让连接led的IO口电平取反以控制其亮灭(是强电的灯可以通过此处控制继电器的合、闭来控制灯的亮灭)。参考程序:if(key==0){delayms(10);if(key==10){while(key==0);//等待按键释放,IO口恢复高电平led=!led;//按键控制程序}}

⑻ 单片机按键控制小灯程序

用c给你编一下
#include<reg52.h>//89s52单片机头文件
#define
K1
=
P0^0
;
//用宏定义定义按键1
#define
K2
=
P0^1
;
//用宏定义定义按键2
#define
LED
=
P3^7
;
//用宏定义定义小灯
void
LED_shuanshuo
(char
a
);
void
main
(void)
{
char
a
;
while(1)
{
if(k1)
a
=
5;
//此处的值可以从0
-
255
次之间闪烁
if(k2)
a
=
10
;//此处的值可以从0
-
255
次之间闪烁
LED_shuanshuo
(a
);
}
}
void
LED_shuanshuo
(char
a
)
{
char
b;
for(b
=
0
;
b
<
a
*
2
;
b
++)
{
LED
^=
1
;
}
LED
=
1
;
//1
代表灯亮
0
代表灯灭
}

阅读全文

与c52单片机按键开关灯相关的资料

热点内容
安阳少儿编程市场 浏览:496
云服务器建设原理 浏览:258
javajunit4for 浏览:845
华为服务器如何进阵列卡配置 浏览:435
apache服务器ip地址访问 浏览:718
如何买到安卓手机预装软件 浏览:537
冤罪百度云不要压缩 浏览:87
苏州云存储服务器 浏览:175
解压收纳原声 浏览:386
java注册验证 浏览:375
火花app怎么上推荐 浏览:981
什么app能游戏投屏到电视上 浏览:455
服务器托管到云端是什么意思 浏览:836
app保存草稿怎么用 浏览:808
安卓如何进入proumb 浏览:144
主机虚拟云服务器 浏览:619
删除分区加密的空间会不会恢复 浏览:706
京东app客户上门怎么看搜索量 浏览:741
怎么在农行app购买黄金 浏览:46
c型开发板和单片机 浏览:146