基于ARM的智能按键设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能按键设计

专业:

学号:

姓名:

目录

一、设计要求 (1)

二、设计原理 (1)

1、功能描述 (1)

2、总体设计 (1)

2.1矩阵键盘原理 (1)

2.2系统的总体设计 (1)

2.3主要软件程序 (1)

3、硬件电路设计 (2)

3.1STM32功能特性概述 (2)

3.2复位电路设计 (2)

3.3时钟电路设计 (3)

3.4矩阵键盘电路设计 (3)

3.5LED显示电路 (4)

三、总结与体会 (5)

附录 (6)

智能按键设计

一、设计要求

1、使用四个IO 控制4*4矩阵键盘。

2、使用最简电路,不使用芯片。

二、设计原理 1、功能描述

电子信息行业将是人类社会的高科技行业之一,4*4矩阵键盘设计师当今社会中使用的最广的技术之一。鉴于此,研究人员通过不断的实验与研究开发,最终研发出来采用矩阵键盘设计的N 个端口连接N*N 个按键,来满足人们的需求,本次设计内容是4*4矩阵式键盘识别技术,不使用芯片,以ARM 为控制核心设计一个4*4的键盘和LED 数码管的显示电路。 2、总体设计

2.1矩阵键盘原理

在键盘中按键数量较多时,为了减少I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O 口作为输出端,而列线所接的I/O 口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

并且以LED 灯作为显示系统,这样就可以很清楚的看出来控制效果。 2.2系统的总体设计

整个系统的构成并不使用芯片,只是用ARM 的最小系统,LED 显示模块,和4*4矩阵键盘组成,系统框图如图1所示:

图1

2.3主要软件程序

在嵌入式系统开发中除了必要的硬件外,同样离不开软件,Keil 软件是目前最流行的开发嵌入式系统的软件。Keil 是美国Keil Software 公司出品的51系列兼容单片机语言软

4*4 矩 阵 键 盘 ARM 最 小 系 统 LED 显 示 模 块

件开发系统,与汇编相比,语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。并且在编程方面,国产的一款Tk软件可以使用多种语言编程,并且可以配合keil软件使用,编程时非常方便。

3、硬件电路设计

3.1STM32功能特性概述

STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex -M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

图 2 STM32B2M103XX

3.2复位电路设计

在该设计中使用了手动复位和上电自动复位组合电路,复位开关通过复位电路产生复位信号的优点是信号的波形比较好,复位电路可以去掉开关的抖动。复位电路原理图如图3所示:

图3复位电路

3.3时钟电路设计

RTC是STM32的脉搏,是单片机的驱动源。使用任何一个外设都必须打开相应的时钟。这样的好处就是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,打到节能,实现低功耗的效果。

STM32的时钟可以由以下3个时钟源提供:

1、HSI:高速内部时钟信号stm32单片机内带的时钟(8M频率)精度较差。

2、HSE:高速外部时钟信号精度高,来源(1)HSE外部晶振/陶瓷谐振器(晶振);

(2)HSE用户外部时钟。

3、LSE:低速外部晶体32.768KHZ,主要提供一个精确地时钟源,一般作为RCC时钟使用。

图4晶振电路

3.4矩阵键盘电路设计

4×4矩阵式键盘电路图如图4所示,该图中左边的接口连接在单片机的P3口,低四位接列线,高四位接行线。当要对键盘进行扫描时,可以一行一行进行扫描。假设要扫描第二行,我们只需先让第二行为低电平,即P3.2为低电平,其余三行为高电平,然后读取列线上的电平,如果第二行的5号键按下,那么第二列的电平变为低电平,即P3.6为低电平,这样每个键按下都会改变P3口的电平,且不同键按下所对应的P3口的电平不同,这样便可以使单片机正确识别有无键按下以及哪个键按下。

图5 矩阵键盘电路

3.5LED显示电路

数码显示电路图如图8所示,该电路由一个LED数码显示管和一个集成电阻器组成。其中显示块由若干发光二极管组合而成,图中的“8”字形显示块由8个发光二极管组成,每个二极管显示一字段,有共阴极和共阳极两种形式。如果将各发光二极管的阳极连接在一起成为公共电极,则称为共阳极接法,如果将各发光二极管的阴极连接在一起成为公共电极,则称为共阴极接法。

图6共阳极接法图7共阴极接法

图中所用的集成电阻器,就是集成了7个电阻,在此与显示块连接是为了保证显示块能够正常显示。图左边的端口分别接单片机上P0口的低七位,P0口不同的电平对应数码管不同的显示。图5用的是阳极LED数码管,所以另一脚接电源,若为阴极LED数码管,则要接地

相关文档
最新文档