导航:首页 > 操作系统 > 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单片机按键开关灯相关的资料

热点内容
去尚学堂培训python 浏览:160
web服务器ip地址设置在哪里 浏览:467
分布式java应用pdf 浏览:975
为什么程序员老是找不到女朋友 浏览:961
更换压缩机启动器 浏览:821
webviewandroid加载网页 浏览:986
材料成型pdf 浏览:625
悦动app怎么连接智能手表 浏览:635
游戏本文件夹如何改名称 浏览:404
phpxml转化为数组 浏览:960
pythondecorator模块 浏览:883
dos命令退出当前用户 浏览:563
vvo有没有系统加密码的设置 浏览:193
加密数据主权恢复 浏览:966
压缩机内容积测量 浏览:251
51单片机做硬件 浏览:455
zip压缩照片 浏览:393
php登录了首页显示不了用户名 浏览:291
马库斯加密战争 浏览:307
企业图文加密系统怎么设置 浏览:617