独立键盘的使用

发布者:梦想启航最新更新时间:2022-04-21 来源: eefocus关键字:独立键盘  驱动  上拉电阻 手机看文章 扫描二维码
随时随地手机看文章

1、前言

线与

开关合上后,都是0(0&1 = 0)即,两端只要有一端是0,合上就是0,两端都是1,合上才是1;


线或


右边是高阻态;左边是0,合上就是0,左边是1,合上就是1.


2、独立键盘电路图

 

51单片机,P1、P2、P3均自带上拉电阻,只有P0需要单独接上拉电阻。


3、独立键盘的驱动原理:

查I/O口的状态;


检查过程,先给对应的I/O口置1,再读这个I/O口,若还是1,说明按键未被按下,若是0说明按键按下了。


例如:


P3 = 0xff;  //需要先将I/O口输出1.,只有先输出1,才能被当做输入使用。


//按键按下,二极管亮,按键松,二极管灭;按键按下后数码管示数加1


#include

sbit key1 = P3^2;

sbit led1 = P2^0;

unsigned char code smg_du[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void main()

{

    P3 = 0xff;

    unsigned char num;

 

    while(1)

    {

        if(key1 == 0)

        {

            led1 = 0;      //灯亮

            num++;

            if(num ==10)

                num = 0;

            while(!key1);//按键按下时间相较单片机执行时间,很长,导致按一下,数码管跳变,故添加词条代码

        }

            

        else

             led1 =1;      //灯灭

        P1 = smg_du[num];

    }

}

左图为软件消抖,右图为硬件消抖;


//按键时间一般都20ms,


#include

sbit key1 = P3^2;

sbit led1 = P2^0;

unsigned char code smg_du[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//12MHz下,延时50us

void delay_50us(unsigned int t)

{

    unsigned char j;

    for(;t>0;t--);

        for(j =19;j>0;j--);

}

 

void main()

{

    P3 = 0xff;

    unsigned char num;

 

    while(1)

    {

        if(key1 == 0)

        {

            delay_50us(200);//延时5ms

            if(key1 == 0)

            {

                led1 = 0;      //灯亮

                num++;

                if(num ==10)

                num = 0;

                while(!key1);//按键按下时间相较单片机执行时间,很长,导致按一下,数码管跳变,故添加词条代码

            }

            delay_50us(200);//延时5ms;

            while(!key1);          

        }

            

        else

             led1 =1;      //灯灭

        P1 = smg_du[num];

    }

}

关键字:独立键盘  驱动  上拉电阻 引用地址:独立键盘的使用

上一篇:80C51定时器中断
下一篇:数码管简介

推荐阅读最新更新时间:2024-11-09 15:58

MSP432(Keil5)——2.按键及外部中断驱动
本次按键实验是采用了板载的两个按键分别对应的P1.1与P1.4口,具体迁移到其他IO口的外部中断请移步原理图。 实验现象:按下按键会翻转板载LED灯状态。 key.c #include key.h void Key_Init(void) { /* Configuring P1.1 as an input and enabling interrupts */ /*配置1.1口为上拉输入*/ MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN1); /*清除IO口的中断标志位*/ MAP_GPIO_clearInt
[单片机]
MSP432(Keil5)——2.按键及外部中断<font color='red'>驱动</font>
ROHM 可同时验证功率半导体和驱动IC的免费在线仿真工具
可同时验证功率半导体和驱动IC的免费在线仿真工具“ROHM Solution Simulator”新增热分析功能 ~在电路解决方案中增加业内先进的热电耦合在线分析功能,可对复杂的热问题进行快速仿真~ 全球知名半导体制造商ROHM(总部位于日本京都)面向汽车和工业设备等电子电路设计者和系统设计者,在ROHM官网上公开了一款在线仿真工具“ROHM Solution Simulator”,利用该仿真工具可以在电路解决方案上一并验证功率元器件(功率半导体)和驱动IC等,此次又在该工具中新增了热分析功能。 “ROHM Solution Simulator”是在ROHM官网上提供的一款免费电子电路仿真工具,可支持广泛的仿真应用,
[电源管理]
ROHM 可同时验证功率半导体和<font color='red'>驱动</font>IC的免费在线仿真工具
LCD驱动程序(二)
上节我们主要是对fb_info结构体的配置,对fb_info结构体的配置主要分为一下步骤: static int lcd_init(void) { /* 1. 分配一个fb_info */ s3c_lcd = framebuffer_alloc(0, NULL); /* 2. 设置 */ /* 2.1 设置固定的参数 */ /* 2.2 设置可变的参数 */ /* 2.3 设置操作函数 */ /* 2.4 其他的设置 */ /* 3. 硬件相关的操作 */ /* 3.1 配置GPIO用于LCD */ /* 3.2 根据LCD手册设置LCD控制器, 比如VCLK的频率等 */ /* 3.3 分配显存(framebuffer), 并把
[单片机]
LCD<font color='red'>驱动</font>程序(二)
用于汽车负载的上桥SmartFET驱动
上桥SmartFET因其易于使用和高水平的保护而越来越受欢迎。与标准MOSFET一样,SmartFET非常适合各种汽车应用。它们的区别在于内置在上桥SmartFET器件中的控制电路。控制电路持续监控输出电流和器件温度,同时针对电压瞬变和其他意外应用条件提供被动保护。这种主动和被动保护功能的结合确保了稳定可靠的应用方案,延长了器件本身及其所保护的应用负载的使用寿命。   安森美(onsemi)现在提供从45 mΩ到160 mΩ的上桥SmartFET系列。这些器件是受保护的单通道上桥驱动器,可切换各种负载,如灯泡、螺线管和其他执行器。如表1所示,器件名称表示SmartFET在25°C时的典型RDSon。下面列出了完整的产品系列:   
[嵌入式]
用于汽车负载的上桥SmartFET<font color='red'>驱动</font>器
在STM8 Nucleo-64开发板上使用GPIO和中断控制器驱动LED
NUCLEO-8S208RB(基于STM8S208RBT6)和NUCLEO-8L152R8(基于STM8L152R8T6)开发板可用于评估所有STM8S系列和STM8L系列微控制器的主要特性。 本应用笔记简要介绍了如何使用NUCLEO-8S208RB和NUCLEO-8L152R8开发板上的GPIO和中断控制器驱动一组LED指示灯。 当微控制器(本例中为STM8S208RBT6或STM8L152R8T6)使用连接到主机电脑的USB电缆供电时,LD2和LD5指示灯(不是板载的LED)开始闪烁。 每次按下“push”按钮,中断控制器产生一个用于控制I/O的中断,然后改变LED的显示方式。 1. 应用说明 本节主要介绍了在NU
[单片机]
在STM8 Nucleo-64开发板上使用GPIO和中断控制器<font color='red'>驱动</font>LED
英特尔中国研究院“双轮驱动,融合创新”,解锁智能发展新机遇
2022年4月12日,北京——今天,以 “智探索•汇无界”为主题的“ 2022英特尔中国研究院探索创新日”在北京举行,英特尔研究院副总裁、英特尔中国研究院院长宋继强博士在活动中发表主题演讲,分享了英特尔中国研究院在数字化时代的使命、责任和研究方向,并重点阐释了英特尔中国研究院的创新策略,同时宣布了其政产学研合作的最新进展。 英特尔高级院士、副总裁、英特尔研究院院长Rich Uhlig博士发来致辞并表示:“依托中国巨大的创新机遇,英特尔中国研究院不仅着眼于未来革命性的科技研究,还承载着将研究成果转化为中国乃至全球创新产品的使命。我们始终致力于为英特尔中国研究院提供全方位支持,帮助其融合中国智慧,用前瞻性的实践和突破,探索未来
[嵌入式]
英特尔中国研究院“双轮<font color='red'>驱动</font>,融合创新”,解锁智能发展新机遇
服务机器人领域所需的各类零部件-②机器人关联零件、装置等:顺畅、精准的关节驱动
实现服务的顺畅、精准驱动的间接驱动的机制。 日本电产集团持有运用滑环和电位计等顺畅地控制服务机器人的关节和旋转部的技术。 例如,物流搬运机器人在使用上要求365天每天24小时运转,也有像看护用机器人和动力辅助服一样,必须具备非常坚固的结构和较高可靠性的机器人。 这些机器人的关节部和旋转部所用到的导线由于反复弯曲有造成断线的危险。 并且,为了确保精准的运转,需要对关节和旋转部进行精密的传感和控制。 滑环 进行旋转部和传递的滑环 通常,用于旋转部和关节的导线会在轴上卷绕或是扭曲,而反复的扭曲造成的金属疲劳有可能导致断线。若在旋转部、关节部使用日本电产伺服公司的滑环,可以防止由于卷绕、扭曲、弯曲造成的断线。并且,不仅可以从供电
[机器人]
Allegro 发布针对汽车和工业等应用的4x4mm 50V全桥栅极驱动
Allegro MicroSystems 发布针对汽车和工业等应用的4x4mm 50V全桥栅极驱动器 新驱动器可减少外部组件数量,占用更小的空间,同时提高系统性能 美国新罕布什尔州曼彻斯特 - 运动控制和节能系统传感技术以及功率半导体解决方案的全球领导厂商Allegro MicroSystems(纳斯达克股票代码:ALGM)(以下简称Allegro)宣布推出针对汽车和工业应用的两款新型全桥栅极驱动器,这些器件具备直接控制 (A89505) 和脉宽调制 (A89506) 选项,可将关键功能向上集成(up-integrate)以简化系统设计,用固态驱动器代替机械继电器以提高性能和可靠性。凭借灵活的接口逻辑电路、降低EMI的可编
[电源管理]
Allegro 发布针对汽车和工业等应用的4x4mm 50V全桥栅极<font color='red'>驱动</font>器

推荐帖子

FAQ_ 关于STEVAL_IDB007V1 评估板无法通过BlueNRG-1 Navigator进行演示程序升级的问题
本文作者:ST工程师WeishengCHEN点击下载pdf文档查看:问题:为什么一些老版本的STEVAL_IDB007V1板子没法通过BlueNRG-1Navigator进行演示程序的升级?背景:当使用一些老版本的oldSTEVAL_IDB007V1评估板,在下载了DTM程序后可以和BlueNRGGUI正常通讯。但是没办法通过BlueNRG-1Navigator进行演示程序的升级,BlueNRG-1Navigator在其界面上提示错
nmg 意法半导体-低功耗射频
申请ufun学习板,入门&深度学习模拟,工程技能
申请ufun学习板,入门&深度学习模拟,工程技能活动详情在此之前,咱们EEWorld已经举办过一期的UFUN学习活动:跟帖免费申请UFUN学习板开始啦,跟着张进东学习&进阶模拟、工程技能相信现在提到UFUN这个名字,坛子里有一波网友已经很熟悉并且收益颇多了~现在我们的UFUN学习活动又来了。即日起-2019年7月15日,进活动贴,点击我要申请,提交个人申请表单参加到ufun学习活动中来吧~想要学习模拟知识的趁着即将到来的假期赶紧学起来吧~
okhxyyo 单片机
当理工男遭遇小“破“孩,一起来看发生了什么!
当理工男遭遇破小孩,会发生什么?尤其是让习惯逻辑思维的理工男给活(tiao)泼(pi)好(dao)动(dan)的小学生上课,你能想象是什么样的场景吗?老师授课会是这样:而听课的学生则是懵懵懂懂,或者叽叽喳喳,偏偏理工男老师却束手无策?对此,一位资深理工男表示:真相并不是这样哦,看看我们是如何做到的!就是这位:David,人称老魏,德州仪器电子工程师。工作之余的爱好是DIY很多有趣的产品。例如,他的行车记录仪就是自己用德州仪器的产品DIY的。
maylove 模拟与混合信号
LED无线通信技术 "光照上网"或将实现,中国也参与研究了?
在英国爱丁堡大学任教的德国物理学家哈拉尔德·哈斯13日晚为公众作了一场报告,名为“我的Li-Fi革命”。他说,Li-Fi光照上网利用LED(发光二极管)照明灯以极高频率闪烁形成的脉冲来传输数据,最近的实验表明,单色5毫瓦LED照明灯和接收设备在1米和10米的距离上,数据传输速率可分别达到3.5Gbps和1.1Gbps(1bps为每秒1比特),用不同颜色的光还可以成倍提高数据传输速率。1.哪些因素影响传输速率?接收距离、光的颜色、光线强度2.光照上网有哪些优点?不
qwqwqw2088 LED专区
把小弟这两天DIY的过程分享一下,顺便晒一晒第二块板子O(∩_∩)O~
前两天做了个小板子,算是练了练手,承蒙大家夸奖正好要开始做第二块板子,看到有朋友问了,就把过程也写一下吧,谈不上经验,大家姑且看看;P首先是打印:我用的是硫酸纸,按理说阻焊应该是打在菲林上的,但是出去转了一圈没有愿意打的,就干脆都打到硫酸纸上了,最后再想办法然后裁好板子就是曝光了。把保护膜撕下来,用一块玻璃把线路图压在感光板上,然后拿到太阳下晒。我都是在中午太阳最高的时候晒的,无云,第一次晒了四分半,结果略微有点过了,腐蚀出来以后大面积的覆铜表面很粗糙(打印的时
anqi90 PCB设计
HDMI2.0和HDMI2.1有没有区别?
买线的时候你们有没有纠结过是买HDMI2.0还是买HDMI2.1的线,看商品详情写着这么大的差距,价格也是差的不少,到底应该怎么选择呢?HDMI2.0VSHDMI2.1区别在哪里?带宽和分辨率HDMI2.0:18Gbps带宽,蕞高支持4K@60Hz。适合大多数游戏需求。HDMI2.1:48Gbps带宽,蕞高支持8K@60Hz或4K@120Hz,会减少画面撕裂和输入延迟。HDMI2.0:支持多音频流和动态HDR。未来兼容性是适合目前大多数设备,但未来可能无法支持更高分辨率和刷
SAMZHE山泽 测试/测量
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved