51单片机汇编矩阵键盘与显示系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 矩阵键盘与显示系统
  • 一、系统整体概述
  • 二、硬件电路
  • 三、软件设计


矩阵键盘与显示系统

一、系统整体概述

矩阵键盘与显示系统的设计与制作是通过模块化的设计让单片机能够控制LCD屏幕显示相应内容,并能通过矩阵键盘在4位数码管上显示按键内容。

矩阵键盘与显示系统由六部分组成:4位数码管、4*4矩阵键盘、单片机、LCD1602A、晶振电路和复位电路 。4位数码管为输出装置是为了显示矩阵键盘所按下的按键并记录之前所按按键。4*4矩阵键盘是输入装置,给单片机提供用户所按按键。LCD1602A是显示装置,能够显示专业班级姓名及学号。晶振电路为单片机提供稳定的时钟信号。复位电路保证单片机在上电或按下按钮时能正常启动。

矩阵键盘与显示系统采用keil5软件编写和编译汇编语言代码。Proteus进行设计和仿真电路图,测试程序的功能。在PCB电路板上进行STC89C52和其他元器件的焊接。

矩阵键盘与显示系统的功能是在LCD1602A上显示出专业班级姓名及学号,采用4*4矩阵键盘在4位数码管上显示0-F这16个字符,并记录之前所按按键对应的字符。

二、硬件电路

图2  Proteus仿真电路图

硬件电路由六部分组成:4位数码管、4*4矩阵键盘、LCD1602A、单片机、晶振电路和复位电路。以下是各部分电路的简介和功能。

四位共阳数码管是一种常见的数字显示装置,其内部由多个发光二极管组成,而每个数字就对应着一组特定的发光二极管,以显示相应的数字。在四位共阳数码管中,每个数码管的阳极都连接在一起,而每个发光二极管的阴极则分别连接在单片机的输出端口上。单片机会根据输入的数字信号,控制相应的发光二极管发光,以显示出相应的数字。值得注意的是,由于四位共阳数码管的阳极连接在一起,因此只能同时显示一个数字,也就是说,当一个数码管显示数字时,其他数码管必须停止工作。因此,在实际应用中,需要通过控制芯片快速地依次控制每个数码管,以实现数字的连续显示

图3 四位共阳数码管

4*4矩阵键盘是一种常见的电子设备输入装置,键盘内部由16个按键组成,其中每个按键的两个端口都分别连接在键盘的行列线上。行列线是由控制芯片通过输出端口控制的,每个行列线上都有一定电压。当按下某个按键时,该按键的行列线就会相连,形成一条电路,控制芯片会检测到这个电路,并判断出按下的是哪一个按键。例如,如果用户按下了第一个行第二列的按键,控制芯片会检测到第一行第二列的行列线相连,并判断出用户按下了数字 2 的按键。为了避免按键重复触发的问题,控制芯片还需要对输入进行去抖动处理。这一过程通常是通过软件算法实现的,控制芯片会在短时间内检测按键状态的变化,并确定按键是否真正被按下。总之,4*4矩阵键盘的工作原理是通过行列线的组合,将每个按键和一个特定的电信号相连,通过控制芯片的检测和去抖动处理,实现对按键输入的识别和响应。

表1  LCD1602指令表

LCD 1602A能够同时显示16x2,32个字符,是一种专门用来显示字母、数字、符号等的点阵型液晶模块。LCD1602主要用来显示数字、字母、图形以及少量自定义字符。可以显示2行16个字符,拥有16个引脚,其中8位数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节V0和背光源AK。通过向LCD1602输入各种指令,便可在显示屏上显示出对应的内容。

晶振电路由晶振(X1)和两个电容(C2和C3)组成,连接到单片机的18和19脚,晶振频率为12MHz。51单片机晶振电路的作用是为单片机系统提供基准时钟信号,类似于部队训练时喊口令的教官,所有的士兵都在教官的口令下完成响应的动作。

复位电路由一个电阻(R1)、一个电容(C1)和一个按钮(S1)组成,连接到单片机的9脚。51单片机复位电路的作用是:使单片机的状态处于初始化状态,让单片机的程序从头开始执行,运行时钟处于稳定状态、各种寄存器、端口处于初始化状态等等。复位电路可以防止单片机受到环境干扰出现程序跑飞的情况。复位电路一般由一个按键开关和一个上拉电阻组成,当按下按键时,给单片机的第九个引脚接高电平持续2us以上就可以实现复位。

4  实物电路

三、软件设计 

代码部分请点击链接获取:http://t.csdn.cn/9GMkf

 (不想开会员的可以小黄鱼搜索或者某宝搜csdn,里面会有你想要的)


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值