-----------------------------------------------------------------------------------------------------------------------------------

#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语言怎样同时接受两个按键,大家好,我现在想要实现同时按下两个按键在执行一个动作,不知怎么写了,求大神帮.......相关推荐

  1. 赫夫曼编码c语言 排序部分,c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错...

    c语言构造哈夫曼树输出哈夫曼编码出错 ,跪求大神帮我找错0 youxun0952016.09.07浏览120次分享举报 #include #include #include typedef struc ...

  2. php输出后以密文显示,加密解密,_求大神帮看一下,如何根据下面的程序,把明文生成密文谢谢,加密解密 - phpStudy...

    求大神帮看一下,如何根据下面的程序,把明文生成密文谢谢 求大神帮看一下,如何根据下面的程序,把明文生成密文谢谢 def parserLicense(self,encCode): data = base ...

  3. 计算机语言无限循环,求大神帮我看看为什么我的子程序无限循环无法使用F8停止...

    [C++] 纯文本查看 复制代码.版本 2 .支持库 eAPI .支持库 shellEx .程序集 窗口程序集_启动窗口 .程序集变量 F7, 整数型 .程序集变量 F8, 整数型 .子程序 _按钮1 ...

  4. Java修改全文数字,求大神帮我修改下java计算机代码,数字键只有0和8能用

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package rj0211; import java.awt.BorderLayout; import java.awt.GridLayout; imp ...

  5. matlab 最后一列,求大神帮我解释一下matlab最后几行是什么意思

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear; if nargin<1;action='initialized';end; [fname,pname]=uigetfile('*.wa ...

  6. c语言realloc函数中写啥,求大神解惑realloc函数,谢谢!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include void f(int * q,int i) { int j; for(j=0;j scanf("%d&quo ...

  7. java enum 报错_enum报错问题,求大神帮看下

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public enum OrderStatusEnum { NOT_PAY("未付款", 0), NOT_YET_SHIPPEND(& ...

  8. figure服务器无法显示,求大神帮帮忙,看一下为什么第二个figure出不来,只能显示第一个...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 I=imread('C:\Users\Administrator\Desktop\123.jpg'); figure(1) subplot(3,2,1), ...

  9. matlab fname pname,求大神帮我解释一下matlab最后几行是什么意思

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear; if nargin<1;action='initialized';end; [fname,pname]=uigetfile('*.wa ...

最新文章

  1. u-boot启动过程
  2. Java从小白到入门,Day7,JAVAOO-继承
  3. 电大最全计算机应用技术基础答案,电大最新最全计算机应用技术基础答案100%通过率...
  4. typescript函数使用
  5. “程序”二字的五笔字根
  6. golang web服务器_使用Go制作自己的Web服务器:快速指南
  7. pycharm运行时出现错误解决方法(持续更新中)
  8. linux mysql 磁盘_Linux运维知识之为Linux MySQL数据库设置磁盘限额
  9. 单例模式与线程安全问题浅析
  10. 整型索引查询mysql是不是快点_图解Mysql索引的数据结构!看不懂你来找我
  11. 2020年中国科技核心期刊目录(自然科学卷)
  12. Qt6.2.1在线安装教程
  13. 迅雷mac版精简安装教程
  14. 视频教程-Visio应用视频教程(上)-Office/WPS
  15. 网络安全渗透高级工具(黑客工具软件大全100套)
  16. Jetson开发实战记录(三):Jetson Xavier NX具体开发(Ubuntu18.04系统)
  17. 132 个 Web 设计工具(上)
  18. 【One Page】概率论复习|Probability Theory Review
  19. 塔夫斯大学计算机教授,观汗辨健康?美国塔夫茨大学发明了一种汗液传感器
  20. 使用腾讯云模板发送短信验证码

热门文章

  1. 5.2_1 北师大应用心理(MAP)347心理学专业综合 持续更新
  2. 可视化拖拽生成小程序,傻瓜式免开发实现一款属于自己的小程序,云开发低码入坑指北
  3. 【随风丶逆风】2021年终总结
  4. 推荐一个截图工具fscapture
  5. 2020年山东品牌年会落幕 齐鲁制药厂6产品入选“山东知名品牌(产品)”
  6. SysTick定时器
  7. 一个老程序员PHP程序员说的话
  8. 【UE4 塔防游戏系列】04-敌人沿着指定路线移动
  9. java代码实现单元测试jacoco覆盖率收集生成多模块聚合报告
  10. 【Python算法】数值分析—牛顿迭代法