4X4扫描式矩阵键盘课程设计

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

4x4矩阵键盘识别设计班级:1221201

专业:测控技术与仪器

姓名:涂勇

学号:2012 2012 0110

指导老师:钟念兵

东华理工大学

2016年1月1日

摘要

随着21世纪的到来,电子信息行业将是人类社会的高科技行业之一,电子式设施现代化的基础,也是人类通往科技巅峰的直通路。电子行业的发展从长远来看很重要,但最主要的还是科技问题。

矩阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。是它能准时、实时、高效地显示按键信息,以提高工作效率和资源利用率。

矩阵式键盘乃是当今使用最为广泛的键盘模式,该系统以N个端口连接控制N*N 个按键,显示在LED数码管上。单片机控制依据这是键盘显示系统,该系统可以对不同的按键进行实时显示,其核心是单片机和键盘矩阵电路部分,主要对按键与显示电路的关系、矩阵式技术及设备系统的硬件、软件等各个部分进行实现。

4*4矩阵式键盘采用STM32嵌入式微处理器为核心,主要由矩阵式键盘电路、硬件电路、显示电路等组成,软件选用C语言编程。STM32将检测到的按键信号转换成数字量,显示于LED显示器上。该系统灵活性强,易于操作,可靠性高,将会有更广阔的开发前景。

目录

第一章:系统功能要求-------------------------------------------------------- 1.1 4*4 矩阵式键盘系统概述------------------------------------------------ 1.2 本设计任务和主要容--------------------------------------------------- 第二章:系统硬件电路的设计------------------------------------------------

2.1 硬件系统主要思路和电路原理图- --------------------------------------

2.2 硬件上键盘规划- --------------------------------------------------------- 第三章:系统程序的设计------------------------------------------------------

3.1 程序的编写步骤-----------------------------------------------------------

3.2 编写的源程序-------------------------------------------------------------- 第四章:心得体会---------------------------------------------------------------

第一章:系统功能要求

1.1 4*4 矩阵式键盘系统概述

利用STM32对4*4矩阵键盘进行动态扫描,当有按键盘的键时,可将相应按键值(0~F)实时显示在数码管上。

由p1.0—p1.3(列)和p1.4—p1.7(行)组成4*4矩阵键盘,p0口接LED静态显示电路。由于p0口部无上拉电阻,因此必须外部接上上拉电阻,其值的选择可以根据LED数码管发光电流及其亮度来决定。

通过编写4*4键盘的驱动程序,当有键盘按下时,能够在led数码管与按键的键值对应的数字。

最常见键盘布局如下图1.1所示。一般由16个按键组成,在单片机中正好可以用一个p口实现16

键盘模式。

图1.1

1.2 本设计任务和主要容

本论文主要研究STM32嵌入式控制器控制的键盘识别显示系统,分别对按键信息和显示电路以及软、硬件各个部分进行研究。

主要容如下:

1.2.1 根据矩阵式键盘的特点,进行键盘控制系统的整体研究与设计;

1.2.2 熟练掌握protues软件的使用,并能够按要求对设计的电路进行仿真,实现相应的功能;

1.2.3 LED实时显示按键的信息;

1.2.4 采用软件编程的方法实现按键信息的提取和显示。

第二章:系统硬件电路的设计

2.1 硬件系统主要思路和电路原理图

首先,把纵向三线设置为推挽输出,然后把横向三线设置为下拉输入,然后读取横向三线的值,如果有接口的读数为1,说明有按键按下了,把该值与0x07相与后放到scana,然后左移4位放到result中,这之后把横向三线设置为推挽输出,纵向三线设置为下拉输入,然后读取纵向三线的值,把相应的键值保存到scanb中,然后通过移位使得低四位表示的是相应的按键所在横向的值,然后与result相或放到result的低四位,这样得到的result高四位就是按键所在纵向的值,低四位就是按键所在横向的值,由此就可以检测到那个按键被按下了。

效果:按下相应的键盘,四个led灯会显示各种不同的状态,hoho,一共有9种状态。

用protrus仿真软件所画的仿真图如下:

图3.2 仿真原理图2.2 硬件上的键盘规划

stm32 矩阵键盘

这是硬件上的键盘规划

// | 1 | 2 | 3 | 4 | ---line 1 PE6 //

// --------------------------- //

// | 5 | 6 | 7 | 8 | ---line 2 PE5 //

// --------------------------- //

// | 9 | 10| 11| 12| ---line 3 PE4 //

// --------------------------- //

// | 13| 14| 15| 16| ---line 4 PE3 //

// --------------------------- //

// | 17| 18| 19| 20| ---line 5 PE2 //

// --------------------------- //

// | | | | //

// col1 col2 col3 col4 //

相关文档
最新文档