- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于EDA和单片机技术在键盘上的应用
在电子技术飞速发展的今天,特别是微电子技术的发展,更是令人应接不暇。在这其中尤其以EDA技术和单片机技术的发展更为迅速。现在对EDA技术和单片机技术的应用十分广泛,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有它们的应用。目前这两项技术已在各大公司、企事业单位和科研教学部门广泛使用。为了更好的研究EDA和单片机技术,我们借助EDA―单片机综合系统。这套系统由浅入深包括了基于AT89S51单片机和Cyclone公司的EP1C3T144C8 EDA芯片为设计芯片。
单片机部分我们采用的是AT89S51单片机及其相配套的爱迪克编译软件,还有Easy 51pro下载软件。而EDA部分我们选用了EDA软件Quartus II 4.1来作为编程下载软件。
首先我们采用的是矩阵式键盘(也称作行列式键盘)适用于按键数量较多的场合。接线电路图如下图所示:
本文采用的是4*4的一个十六键键盘,键盘的工作原理是:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。平时无按键按下时,行线处于高电平状态,而当有键按下时,行线电平状态将由与此行线相连的列线电平决定。列线电平如果为低,则行线电平为低;列线电平如果为高,则行线电平也为高。这是识别矩阵键盘按键是否被按下的关键所在。由于矩阵键盘中行、列线为多键共用,各按键均影响该键所在行和列的电平。因此各按键彼此将互相发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。同时我们还设定了键盘工作允许控制如电路图,这样当我们不用键盘时可以空着VCC和ZL_KEY_RX端,键盘不工作,当我们要用到键盘时,则可以用短路帽将VCC和ZL_KEY_RX端短接,这样键盘就工作了。
按键的识别方法有两种方法,①扫描法和②线反转法我们采用线反转法扫描法,图中用一个8位I/O口构成一个4*4的矩阵键盘,采用查询方式进行工作,下面介绍一下线反转法的两个具体操作步骤:
第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出为全零电平,则行线中电平由高到低的所在行为按键所在行。
第二步:同第一步完全相反,将行线编程为输出线,列线编程为输入线,并使输出线输出为全低电平,则列线中电平由高到低的所在列为按键所在列。
结合两步的结果,可确定按键所在的行和列,从而识别出所按的键。假定3号键被按下,那么第一步即在D0~D3输出全零,然后,读入D4~D7位,结果D4=0,而D5,D6,D7均为1,因此,第一行出现电平的变化,说明第一行有键按下;第二步让D4~D7输出全0,然后,读入D0~D3位,结果D0=0,而D1,D2,D3均为1,因此第四列出现电平的变化,说明第四列有键按下。综合一、二两步,即第一行第四列按键被按下,此按键即是3号键。因此线反转法非常简单实用。当然要运用好还得靠编程实现。
单片机程序如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:MOV P1,#0F0H
NOP
NOP
NOP
CJNE A,#0F0H,KEY1
SJMP $
KEY1:CJNE P1.4,#0,KEY2
SJMP XIACI
KEY2:CJNE P1.5,#0,KEY3
SJMP XIACI
KEY3:CJNE P1.6,#0,KEY4
CHULI:CJNE P1.0,#0,KEY6
SJMP $
KEY6:CJNE P1.1,#0,KEY7
SJMP $
KEY7: CJNE P1.2,#0,KEY8
KEY8: CJNE P1.3,#0,MAIN
SJMP $
END
用这个键盘程序可以实现功能的散转,即根据按下不同的键去完成不同的功能,可以通过键盘去调显示子程序完成显示功能。
下面是相应的EDA的键盘程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;
USE IEEE.STD_LOGIC_ARITH.all;
USE IEEE.STD_LOGIC_UNSIGNED.all;
NTITY keyboard IS
PORT(keyboard_clk, keyboard_data, clock_25Mhz ,
reset, read: INSTD_LOGIC;
scan_code: OUTSTD_LOGIC_VECTOR(7 DOWNTO 0);
scan_read
您可能关注的文档
最近下载
- 第4课 用联系的观点看问题-【中职专用】2024年中职思想政治《哲学与人生》金牌课件(高教版2023·基础模块).pptx VIP
- 新版十八项核心制度课件.pptx VIP
- 集装箱运输实务(十二五国规教材)教学课件作者江明光第一章.pptx VIP
- 2011年-2020年广东省历年高考理科数学试卷真题及答案(共10套).doc VIP
- 甲醇合成操作工(技师)职业技能鉴定理论试题及答案 .docx VIP
- 护士如何与患者建立信任关系.pptx VIP
- 个人融资规划课件.pptx VIP
- 《园林艺术鉴赏》课件.ppt VIP
- 九年级化学(人教2024版)新教材培训课件.pptx
- 2021年广东卷高考真题化学试卷.pdf VIP
文档评论(0)