《能力拓展训练》课程设计-基于键盘输入单元的单片机仿真精选.docx

《能力拓展训练》课程设计-基于键盘输入单元的单片机仿真精选.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《能力拓展训练》课程设计-基于键盘输入单元的单片机仿真精选

摘要在日常生活中,我们经常要通过按键来实现对电子装置的控制,小到手表手机,中到电视电脑,大到各种复杂仪器,都需要通过按键来实现各种操作。本次课程设计作为实践教学的一个重要环节,将以按键控制显示为主题,以AT89C51单片机及其接口芯片为核心构造一个键盘控制显示系统,并使用Proteus软件对所设计的电路进行仿真。关键词:Proteus 键盘显示 AT89C51 仿真1 软件与硬件简介1.1 Proteus软件简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年新增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。本次设计将使用Proteus7.5SP3版本进行仿真。1.2 AT89C51硬件简介AT89C51芯片是一种带有4K字节闪存的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高而且价格低廉的方案。本次设计将使用此芯片作为核心硬件进行设计。2 总体分析设计2.1 电路结构分析本次设计的目标为单片机控制的键盘识别显示系统,主要采用AT89C51单片机作为核心,由矩阵键盘电路、译码电路、显示电路等模块构成,分别对按键信息和显示电路以及软、硬件各个部分进行控制;本设计采用汇编语言编程来实现对单片机的控制。实际运作时,单片机会将检测到的按键信号转换成数字,显示于七段数码管上。系统主要结构可以拆分如下:①矩阵键盘:按键传送输入信息;本次设计使用16个独立按键形成4*4矩阵键盘;②AT89C51:采用软件编程来实现按键信息的提取和转换;③七段数码管:用于显示最终被单片机转换过的按键信息。由以上构思可以设计此按键显示电路。2.2 总体方案设计图2.2为按键控制显示电路系统的总体原理框图:矩阵键盘输入单片机提取转换数码管显示数字图2.2整体电路原理方框图即实验者通过按下矩阵键盘的按键来进行信息输入,当有按键被按下时,按键信息被输入到经过编程的单片机AT89C51中进行提取与转换,变为对数码管进行操作的输出信息,使数码管显示对应的数字。2.3 总体电路图总体电路图如图2.3所示:图2.3 整体电路图列线P1.0-P1.3为输出线,行线P1.4-P1.7为输入线。一开始单片机将列线(P1.0-P1.3)全部输出低电平,此时读入行线数据,若行线全为高电平则没有键按下,当行线有出现低电平时调用延时程序以此来去除按键抖动。延时完成后再判断是否有低电平,如果此时读入行线数据还是有低电平,则说明确实有键按下。最后一步确定键值。现在我们以第二行的S5键为例,若按下S5后我们应该怎么得到这个键值呢?当判断确实有键按下之后,列线轮流输出低电平,根据读入行线的数据可以确定键值。首先,单片机将P10输出为低电平,其它P11-P13输出高电平,此时读取行线的数据全为高电平,说明没有在第一行有键按下;其次,单片机将P11输出低电平,其它P10、P12、P13仍为高电平,此时再来读取行线数据,发现行线读到的数据有低电平,数值为1011(0x0B),如果我们的键盘布局已经确定,那么0x0B就代表S5的值了。转到S5键功能处理子程序就可以达到目的。3 硬件电路模块3.1键盘输入模块矩阵键盘驱动的主要作用就是实时监测外部按键中断,一旦发现外部有键按下就向内核发送键盘消息实现键盘输入功能。键盘驱动创建了中断服务线程和4个键盘中断事件,每行按键对应一个键盘中断事件。有键被按下时,中断服务例程得到对应的中断标识符并报告给系统任务调度进程,同时产生键盘中断事件,键盘中断服务线程响应键盘中断事件,开始扫描矩阵键盘。根据产生的中断事件类型不同,可以首先确定被按下键的行位置。由于键盘被按下后

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档