历史上的今天
返回首页

历史上的今天

今天是:2025年03月19日(星期三)

正在发生

2018年03月19日 | 简易4×4行列式键盘控制电路设计

2018-03-19 来源:eefocus

    1.概述

    键盘是一组按压式开关的集合,是微机系统不可缺少的输入设备,用于输入数据和命令。键盘的每一个按键都被赋予一个代码,称为键码。键盘系统的主要工作包括及时发现有键闭合,求闭合键的键码。根据这一过程的不同,键盘可以分为两种,即编码键盘和非编码键盘。编码键盘是通过一个编码电路来识别闭合键的键码,非编码键盘是通过软件来识别键码。由于非编码键盘的硬件电路简单,用户可以方便地增减键的数量,因此在单片机应用系统中,非编码键盘得到广泛的应用,有较好的应用价值。

 

    2.设计原理

    首先应该了解本次设计的基本要求和目的,再通过查找资料了解80C51单片机的工作原理、结构图,数码显示管的结构和工作原理。根据设计要求可以将单片机P3口接4×4键盘,P0口接数码显示管,根据扫描原理进行行扫描,用CJNE指令判断P3口的状态。采用软件延时去抖动,用MOVC A,@A+DPTR取键值。

    建立键值对应的显示码,通过查表指令实现键值的显示。由此画出设计流程图和利用汇编语言进行编程。最后利用Proteus画出电路图进行仿真。其系统原理框图如图1所示。

     

     

    3.单元电路设计

    3.1 显示电路

    按显示方式分,用单片机驱动LED数码管的方法有静态显示和动态(扫描)显示两种。

    静态显示就是显示驱动电路具有输出锁存功能,单片机将所要显示的数据送出后需要刷新,直到下一次显示内容需要更新时再传送新的数据,这种方法显示稳定,占用CPU时间少。本设计主要是用的动态显示,它的特点正好与静态显示相反,需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多,但动态显示所需硬件少,电路相对简单,能节省线路板空间。采用1位8段共阴极LED,P0口作为LED显示码输出端,因为只采用1位数码管,因此线选端直接接地。

    如图2所示。

     

     

    3.2 键盘电路

    用AT89S51的并行口P3接4×4行列式键盘,以P3.0-P3.3作输出线,以P3.4-P3.7作输入线;在数码管上显示每个按键的“0-F”

    序号。对应的按键的序号排列如图3所示。

     

     

    3.3 电路仿真

    采用Proteus仿真软件进行仿真,在仿真之前先按照预设值好的电路图进行连线,以及布局,最后确定线路已连接好,将汇编程序编译生成。hex文件,加载到51芯片中,再运行开始仿真,电路仿真效果图如图4所示。

     

     

    4.结束语

    本设计是以单片机为控制核心的键盘系统,对该系统的结构原理进行了相应的描述。通过对键盘的操作在数码管上显示相应的按键字符,具有使用方便、操作简单等特点。随着单片机的日益发展,它必将更多的电子系统设计中得到更多的应用,为电子设计增加更多精彩。


推荐阅读

史海拾趣

Advanced Ceramic X Corporation公司的发展小趣事

非常抱歉,由于我无法直接获取到Advanced Ceramic X Corporation公司的具体发展细节,因此无法为您直接编写关于该公司发展的五个具体故事。然而,我可以为您提供一种构建这类故事的框架,您可以根据这个框架,结合公司的公开信息,来编写符合要求的故事。

故事框架示例

故事一:技术突破引领市场

Advanced Ceramic X Corporation自成立以来,一直致力于陶瓷材料的研究与开发。某年,公司成功研发出一种具有极高耐高温性能的新型陶瓷材料,这一技术突破使得公司在航空航天领域获得了广泛应用,推动了公司的快速发展。随着技术的不断完善和市场需求的增长,公司逐渐成为了陶瓷材料领域的领军企业。

故事二:国际合作拓宽市场

为了进一步扩大市场份额,Advanced Ceramic X Corporation积极寻求国际合作机会。公司与欧洲一家知名陶瓷材料公司签订了战略合作协议,共同开发新型陶瓷产品。这一合作不仅提高了公司的技术水平,还拓宽了公司的国际市场,使得公司的产品在全球范围内得到了广泛应用。

故事三:环保理念驱动创新

在环保意识日益增强的背景下,Advanced Ceramic X Corporation积极响应国家环保政策,将环保理念融入产品研发和生产过程中。公司成功研发出一种环保型陶瓷材料,该材料不仅具有优异的性能,而且在生产过程中产生的污染极低。这一创新举措赢得了客户的广泛赞誉,也提升了公司的品牌形象。

故事四:人才培养与团队建设

Advanced Ceramic X Corporation深知人才是企业发展的核心动力。公司注重人才培养和团队建设,通过定期举办技术培训、团队建设活动等方式,提高员工的业务能力和团队协作能力。同时,公司还积极引进国内外优秀人才,为公司的长远发展奠定了坚实的基础。

故事五:社会责任与公益事业

作为一家有社会责任感的企业,Advanced Ceramic X Corporation积极参与公益事业。公司捐资支持教育事业、扶贫济困等公益活动,为社会发展贡献自己的力量。同时,公司还关注员工福利,为员工提供良好的工作环境和福利待遇,增强了员工的归属感和忠诚度。

请注意,上述故事仅为示例,并未涉及Advanced Ceramic X Corporation公司的具体发展情况。您可以根据公司的实际情况和公开信息,结合上述框架来编写符合要求的故事。在编写过程中,请确保只描述事实,避免加入个人主观评价。

Belden Wire and Cable公司的发展小趣事

随着业务的不断扩展,Belden公司于1910年搬迁至芝加哥更大的区域,并在产品线上增加了橡胶绝缘电线。这一举措不仅扩大了公司的生产规模,也进一步丰富了产品种类,满足了市场的多样化需求。随后,百通工程师于1927年发明的软橡胶塞技术,进一步推动了公司的技术创新和业务拓展。

Amidon Associates Inc公司的发展小趣事

为了满足不断增长的市场需求,1928年,Belden在印第安纳州里士满开设了一家专为制造电线而设计的新工厂。这家工厂的建立极大地提升了公司的产能和效率,为公司的进一步发展提供了有力保障。在随后的几十年里,随着第二次世界大战的爆发和战后经济的复苏,里士满工厂经历了多次扩建和升级,逐渐成为百通最大的制造工厂之一。

Alpha (Taiwan)公司的发展小趣事

随着全球电子市场的不断扩大,Alpha (Taiwan)公司积极寻求国际合作,拓宽市场渠道。公司与多家国际知名电子企业建立了战略合作关系,共同研发新产品,开拓新市场。此外,公司还积极参加国际电子展会,展示公司的最新技术和产品,吸引更多的潜在客户。这些国际合作的开展,不仅提升了公司的国际影响力,也为公司的长远发展注入了新的动力。

Allied Wire & Cable Inc公司的发展小趣事

面对日益严峻的环境问题,Allied公司积极承担社会责任,致力于可持续发展。公司注重环保生产,采用环保材料和工艺,减少对环境的影响。同时,公司还关注未来发展趋势,制定了一系列战略规划,包括加大研发投入、拓展新兴市场、提升品牌影响力等,为公司的未来发展奠定了坚实的基础。

这些故事基于Allied Wire & Cable Inc公司的历史和发展情况构建,旨在展现其在电子行业中的成长和进步。如需更详细的信息,建议查阅公司的官方网站或相关新闻报道。

ELESTA GmbH公司的发展小趣事

2013年,ELESTA公司更名为ELESTA GmbH,这一品牌重塑标志着公司进入了新的发展阶段。同时,ELESTA也开始实施全球化战略,积极拓展国际市场,通过不断提升产品质量和服务水平,赢得了全球客户的信赖和认可。

问答坊 | AI 解惑

二相与五相步进电机的差异

 概述:步进电机主要是依相数来做分类,而其中又以二相、五相步进电机为目前市场上所广泛采用。二相步进电机每转最细可分割为400等分,五相则可分割为 1000等分, 所以表现出来的特性以五相步进电机较佳、 加减速时间较短、 动态惯性较低。 二相/ ...…

查看全部问答>

ALTERA 的家庭网络产品方案

本帖最后由 jameswangsynnex 于 2015-3-3 20:02 编辑 针对消费娱乐的家庭网络连接 利用多媒体家庭联网技术,各种多媒体设备 ( 例如电视机、便携式媒体播放器、照相机和蜂窝电话等) 以及数据设备 (例如PC和PDA) 可以在安全的家庭网络环境中共享音 ...…

查看全部问答>

如何不让导航仪连接上电脑识别为U盘,而是识别为同步移动设备

目前我手上有一台导航仪,用的是wince5.0的系统,现在我想在这台导航仪上开发一个程序。 目前的问题是,我无法直接在该导航仪上调试我的程序,只能将程序编译好后再复制到导航仪上运行,这样调试起来非常不方便。 因为我的导航仪目前是只要通过US ...…

查看全部问答>

菜鸟请教各位高手!!!!!

软件工程中的嵌入式软件与系统是个怎么样的专业 它的就业前景如何啊??????????…

查看全部问答>

WinCE中如何禁止/开启Edit自动换行功能

如题,我想实现PC上记事本的自动换行功能。…

查看全部问答>

开关电源工程调试技术

《开关电源工程调试技术》可以看一下…

查看全部问答>

关于定义TMOD的问题

我写了一个程序,用51单片机,用定时器方式产生PWM波形,同时用串口方式改变占空比,问题来了,在初始化中,都有对TMOD赋予初始值,可是我即使让TMOD成为同一个数,最后的程序, 还是不对,串口发送数据接收不到,请大家指教该如何处理呢?…

查看全部问答>

CPLD程序求助:到fit这一步编译不过去了

初学CPLD,编个接收1553B数据的小程序。前面综合,翻译都通过了,就是到映射过不去,编译的结果总是报同样的错误,如下:Mapping a total of 236 equation into 16 function blocksError:CPLD:892  Cannot place signal init_reg<1>. ...…

查看全部问答>