导航:首页 > 操作系统 > 51单片机独立按键

51单片机独立按键

发布时间:2022-05-20 01:58:17

A. 独立按键与51单片机相连为什么有的需要接电源,有的则不用

一般不需接电源,将独立按键接于单片机IO管脚和地(电源负极)之间,让单片机管脚输出高电平,当有按键按下时,读得结果为低电平 如下图中 S2 S3 S4

如果想让平时读得为低电平,按键按下为高电平,需外接一下拉电阻(阻值小于10K),将单片机输出的高电平拉低,按键接于正电源和IO口之间,当按键按下时又读出高电平 如下图中S5

显然这种方法比较麻烦,并且如果程序不小心错误地让该IO口输出0,恰巧又按下按键就会损坏单片机

B. 51单片机独立式按键程序

#include<reg52.h>
unsignedcharID;
sbitk1=P3^7;//定义按键端口
voiddelay()
{
TMOD=0x10;//定时器的工作方式
TH1=0xd8;
TL1=0xf0;
TR1=1;
while(!TF1);//这里错了,是定时器1
TF1=0;
}
voidmain()
{
while(1)
{
if(k1==0)
{
delay();//去抖动
if(k1==0)//检测按键确实按下,进行按键处理
{
ID++;
if(ID==0)
{
ID=0;
}
while(!k1);//这里错了,多余的加了==0
}
}
switch(ID)
{
case0:P1=0x3f;break;
case1:P1=0x06;break;
case2:P1=0x5b;break;
case3:P1=0x4f;break;
case4:P1=0x66;break;
case5:P1=0x6d;break;
case6:P1=0x7d;break;
case7:P1=0x07;break;
case8:P1=0x7f;break;
case9:P1=0x6f;break;
default:break;
}
}
}

C. 51单片机中独立按键控制数码管时当每个键按下去之后松开又恢复原状态

只要程序和硬件没有问题,那么每一个独立按键按下,都应该显示该独立按键所对应的东东,不应该恢复到之前的显示值。
所以出现你所说的状态,一种情况是程序有问题,另一种情况是硬件有问题。具体如何要看你的代码才能确定。

D. 51单片机独立按键,怎么组合实现某个功能

配合显示器选择不同的功能。
如:
按键启动选择功能,显示器依次显示1,2,3。。。。表示功能,每个数字显示10秒,等待按键确认,进入下一个菜单。
循环显示2次,没有接收到确认按键,自动退出此模块,返回上一层菜单。

E. 51单片机独立按键中,按一下和一直按的区别

按一下松开这个LED一直亮:

if(key==0)
{
while(key==0);
led=0;
}

按一下松开就亮一下:

if(key==0)
{
led=0;
while(key==0);
led=1;
}

F. 51单片机为什么要先按独立按键才能正常工作

51(开发板)中的数码管一次只能显示一位数,属于硬件限制,不能同时显示两位。在数码管上显示多位数只能靠高频率的刷新显示,在视觉上显示多位。所以可以定义一个变量i,按键i自加,然后用循环显示,循环次数为i。

根据提供的函数,表明你的板子LED是共阳极连接的,即LED阳极接到一起,每个LED阴极接IO口,这样当IO口为低电平时灯就点亮了。所以,程序一开始是亮灯而不是灭灯。sbit BY1=P3^4是一个位定义,意思是把单片机的P3.4口定义为BY1,以后对BY1进行操作就是对P3.4进行操作。

单片机

也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。 由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。

G. 51单片机独立按键控制门禁密码

#include "reg51.h"

#include "display_7seg_4.h"


sbit KEY1 = P1^0;

sbit KEY2 = P1^1;

sbit KEY3 = P1^2;

sbit KEY4 = P1^3;

sbit KEY5 = P3^0;

sbit KEY6 = P3^1;

sbit KEY7 = P3^2;

sbit KEY8 = P3^3;

sbit KEY9 = P3^4;

sbit KEY0 = P3^5;

sbit KEYE = P3^6;

sbit LED = P1^5;


unsigned int count=0;



void main(void)

{

unsigned char keyvalue;

unsigned char i=0;

unsigned char dis[4]={10,10,10,10};

unsigned int password;

LED = 0;

while(1)

{

keyvalue = 20;

if(KEY1 == 0)

{

while(!KEY1);

keyvalue = 1;

}

if(KEY2 == 0)

{

while(!KEY2);

keyvalue = 2;

}

if(KEY3 == 0)

{

while(!KEY3);

keyvalue = 3;

}

if(KEY4 == 0)

{

while(!KEY4);

keyvalue = 4;

}

if(KEY5 == 0)

{

while(!KEY5);

keyvalue = 5;

}

if(KEY6 == 0)

{

while(!KEY6);

keyvalue = 6;

}

if(KEY7 == 0)

{

while(!KEY7);

keyvalue = 7;

}

if(KEY8 == 0)

{

while(!KEY8);

keyvalue = 8;

}

if(KEY9 == 0)

{

while(!KEY9);

keyvalue = 9;

}

if(KEY0 == 0)

{

while(!KEY0);

keyvalue = 0;

}

if(KEYE == 0)

{

while(!KEYE);

keyvalue = 10;

}

if(keyvalue != 20)

{

if(keyvalue == 10)

{

i=0;

password = dis[0]*1000+dis[1]*100+dis[2]*10+dis[3];

if(password == 1234)

{

LED = 1;

}

else

{

LED = 0;

}

dis[0] = 10;

dis[1] = 10;

dis[2] = 10;

dis[3] = 10;

}

else

{

dis[i] = keyvalue;

i++;

}

}

display_seg(dis);

}

}

H. 51单片机独立按键的程序

51单片机独立按键的程序独立按键的程序的话,这个可以从一些一些具体的方面来进行一些查看。

I. 51单片机控制数码管显示时钟,独立按键怎么弄

独立按键处理起来是非常简单的,一般都是IO口单独控制,所以只需要消抖和判断按键按下抬起状态就好。比如:
sbitkey=P1^0;
if(key==0)
{
delay(10);
if(key==0)
{
keyval=1;
while(key==0);
}
}

J. 用51单片机怎么通过独立按键实现串口通信

这个是单片机双机通讯,其实很简单,关注这个公众号吧,单片机仿真,里面有。其实大致思路就是按键按下一个单片机发送数据到串口,另外一个单片机配置串口中断,你在中断里放一个buf,让他收到一个字节自加一就可以了。

阅读全文

与51单片机独立按键相关的资料

热点内容
解压小熊手机壳 浏览:346
成都市区建成面积算法 浏览:660
智能家居单片机 浏览:97
买男装用什么app好 浏览:855
文件夹合并了怎么拆开 浏览:260
波段副图源码无未来函数 浏览:88
livecn服务器地址 浏览:259
程序员这个工作真的很吃香吗 浏览:846
程序员和数学分析师待遇 浏览:680
压缩气弹簧怎么拆 浏览:324
华为公有云服务器添加虚拟ip 浏览:211
程序员和运营哪个累 浏览:26
抖音安卓信息提示音怎么设置 浏览:456
光速虚拟机的共享文件夹 浏览:251
程序员培训机构发的朋友圈真实性 浏览:744
天干地支简单算法 浏览:299
下载个压缩文件 浏览:300
普通人电脑关机vs程序员关机 浏览:630
米酷建站源码 浏览:115
氢气app怎么搜搭配 浏览:619