c语言怎样同时接受两个按键,大家好,我现在想要实现同时按下两个按键在执行一个动作,不知怎么写了,求大神帮.......
-----------------------------------------------------------------------------------------------------------------------------------
#include "reg51.h" //头文件
//=======================声明区=================================
typedef unsigned char u8; // 使用“u8”代替unsigned char;无符号字符
typedef unsigned int u16; // 使用“u16”代替unsigned int;无符号整形
sbit open=P0^0; //马达开
sbit suoshe=P0^1; //锁舌开
sbit lock=P0^2; //马达锁
sbit gb1=P0^6; //关闭通道1 通道1为开锁
sbit gb2=P0^7; //关闭通道2 通道2为关锁
#define gbtd1 delay(100),gb1=0,delay(100),gb1=1
#define gbtd2 delay(100),gb2=0,delay(100),gb2=1
//==============传感器输入端 按键======================================
sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit k4=P2^3;
/******************************************************************
我现在要同时按下k1、k2执行“kaisuo”。同时按下k2、k3执行“guansuo“
*******************************************************************/
#define kaisuo k1
#define guansuo k2
sbit op=P2^7; //门锁已开的传感器,低电平有效使用k8代替
sbit clo_door=P2^6; //门已关到位的传感器,低电平有效,使用k7代替
sbit loc=P2^5; //门已锁住的传感器,低电平有效,使用k6代替
void delay(u16 i);
void keypros();
/*==============主程序==========================================================*/
void main()
{
P0=0xc0; //LED:共阴0关闭输出,共阳1关闭输出
//P2=0x0f;
while(1)
{
keypros();
}
}
/*===============子程序=======================================================*/
//=======================延时函数=====
void delay(u16 i)
{
u16 j,k;
for(j=0;j
for(k=0;k<200;k++);
}
//=======================IO、按键端口控制==========================================
void keypros()
{
if(kaisuo==0)
{
delay(30);
//P0^6=1;
if(kaisuo==0)
{
while(op==1)
{
open=1; //马达开
}
while(op==1) ;
if(op==0) //门锁开传感器
{
delay(30);
if(op==0)
{
delay(1);
open=0; //马达停止
suoshe=1; //锁舌打开
// while(k1==0) ; //k1按下一直保持
delay(1000);
suoshe=0;
gbtd1;
}
}
}
}
if(guansuo==0)
{
delay(30);
//P0^7=1;
if(guansuo==0)
{
if(clo_door==1) //==门未关闭,
{
delay(300); //delay,
if(clo_door==1) //==门未关闭,
{
gbtd2;
}
}
if(clo_door==0)
{
delay(300); //delay,
if(clo_door==0) //==0门关闭,
{
if(loc==0) //如果门已经锁住
{
gbtd2; // 退出,关闭通道2
}
if(loc==1) //门锁锁传感器,loc==1,
{
lock=1; //马达开始锁门
//while(k2==0); //k2持续按下一直点亮led1
while(loc==1);
if(loc==0)
{
delay(1);
if(loc==0)
{
delay(100);
lock=0;
gbtd2;
}
}
}
}
}
}
}
}
2017-10-7 18:20 上传
点击文件名下载附件
13.37 KB, 下载次数: 2
c语言怎样同时接受两个按键,大家好,我现在想要实现同时按下两个按键在执行一个动作,不知怎么写了,求大神帮.......相关推荐
- 赫夫曼编码c语言 排序部分,c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错...
c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错0 youxun0952016.09.07浏览120次分享举报 #include #include #include typedef struc ...
- php输出后以密文显示,加密解密,_求大神帮看一下,如何根据下面的程序,把明文生成密文谢谢,加密解密 - phpStudy...
求大神帮看一下,如何根据下面的程序,把明文生成密文谢谢 求大神帮看一下,如何根据下面的程序,把明文生成密文谢谢 def parserLicense(self,encCode): data = base ...
- 计算机语言无限循环,求大神帮我看看为什么我的子程序无限循环无法使用F8停止...
[C++] 纯文本查看 复制代码.版本 2 .支持库 eAPI .支持库 shellEx .程序集 窗口程序集_启动窗口 .程序集变量 F7, 整数型 .程序集变量 F8, 整数型 .子程序 _按钮1 ...
- Java修改全文数字,求大神帮我修改下java计算机代码,数字键只有0和8能用
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package rj0211; import java.awt.BorderLayout; import java.awt.GridLayout; imp ...
- matlab 最后一列,求大神帮我解释一下matlab最后几行是什么意思
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear; if nargin<1;action='initialized';end; [fname,pname]=uigetfile('*.wa ...
- c语言realloc函数中写啥,求大神解惑realloc函数,谢谢!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include void f(int * q,int i) { int j; for(j=0;j scanf("%d&quo ...
- java enum 报错_enum报错问题,求大神帮看下
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public enum OrderStatusEnum { NOT_PAY("未付款", 0), NOT_YET_SHIPPEND(& ...
- figure服务器无法显示,求大神帮帮忙,看一下为什么第二个figure出不来,只能显示第一个...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 I=imread('C:\Users\Administrator\Desktop\123.jpg'); figure(1) subplot(3,2,1), ...
- matlab fname pname,求大神帮我解释一下matlab最后几行是什么意思
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear; if nargin<1;action='initialized';end; [fname,pname]=uigetfile('*.wa ...
最新文章
- u-boot启动过程
- Java从小白到入门,Day7,JAVAOO-继承
- 电大最全计算机应用技术基础答案,电大最新最全计算机应用技术基础答案100%通过率...
- typescript函数使用
- “程序”二字的五笔字根
- golang web服务器_使用Go制作自己的Web服务器:快速指南
- pycharm运行时出现错误解决方法(持续更新中)
- linux mysql 磁盘_Linux运维知识之为Linux MySQL数据库设置磁盘限额
- 单例模式与线程安全问题浅析
- 整型索引查询mysql是不是快点_图解Mysql索引的数据结构!看不懂你来找我
- 2020年中国科技核心期刊目录(自然科学卷)
- Qt6.2.1在线安装教程
- 迅雷mac版精简安装教程
- 视频教程-Visio应用视频教程(上)-Office/WPS
- 网络安全渗透高级工具(黑客工具软件大全100套)
- Jetson开发实战记录(三):Jetson Xavier NX具体开发(Ubuntu18.04系统)
- 132 个 Web 设计工具(上)
- 【One Page】概率论复习|Probability Theory Review
- 塔夫斯大学计算机教授,观汗辨健康?美国塔夫茨大学发明了一种汗液传感器
- 使用腾讯云模板发送短信验证码