找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1189|回复: 4
打印 上一主题 下一主题
收起左侧

新人入坑,实在是对c语言看不懂,类似按键输入怎么编程

[复制链接]
跳转到指定楼层
楼主
ID:551634 发表于 2019-5-31 09:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:316613 发表于 2019-6-3 14:23 | 只看该作者
if(按键==0)
回复

使用道具 举报

板凳
ID:517466 发表于 2019-6-3 15:27 | 只看该作者
无论是C语言还是汇编语言,对于按键的检测除了用if(按键位==0)以外,还需要考虑使用消除抖动的处理。
回复

使用道具 举报

地板
ID:553784 发表于 2019-6-3 15:30 | 只看该作者
描述的有点模糊,建议你直接百度
回复

使用道具 举报

5#
ID:511890 发表于 2019-6-3 16:28 | 只看该作者
按键一端接地,另一端窜联一个1K~10K的电阻接到单片机的I/O口(如P2.0)。再用一个IO输出(P1.0)接一个LED灯---接一个1K电阻---接VCC。程序中用一个死循环扫描按键,然后输出相应信号。
程序:
#include“reg52.h”
sbit key01 = P2^0;
sbit led01 = P1^0;

void delayms(unsigned int t1){   //89系列单片机延时函数 晶振11.0592MHz
             unsigned char i, j,k;
     for(k=0;k<t1;k++){
          i = 18;
          j = 235;
          do
          {
                while (--j);
          } while (--i);
     }
}

void main(){
     key01 = 1;
     led01 = 1;
     while(1){
          if(0==key01){
               delayms(10);/**延时10毫秒,防抖。延时函数根据单片机型号不同,可以在烧录工具里右上角那里得到。**/
               if(0==key01) led01 = 0;
               else led01 = 1;
          }
          else {led01 = 1;}
     }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表