键盘实验报告
实验五 键盘扫描实验 实验报告

键盘扫描实验实验报告一、实验目的1. 掌握线反转法键盘扫描原理。
2. 了解单片机的输入和输出过程,理解单片机的数据采集过程。
二、实验内容单片机外接4x4键盘,通过线反转法判断按下的键,并在数码管上显示按键对应的数字。
第一行从左到右分别是开关K0, K1, K2, K3,第二行从左到右分别是K4, K5, K6, K7以此类推。
当按下Kn时,在数码管上显示数字n。
三、实验原理线翻转法:先对行(R0-R3)置0,对列(R4-R7)置1。
当有键被按下时,会把按键所在的列的电位从1变0,记录下位置;然后再将行列翻转,记录下按下键的所在行,两数进行或运算,就可以得到一个唯一表示按下键的数字。
例如:假定R0-R7分别与单片机的P2.0-P2.7相连。
先把R4-R7置1,R0-R3置0(通过指令MOV P2, #0F0H实现)。
当键K5被按下时,R5电位被拉低为低电平。
此时,P2口表示的数为:1101 0000(0xD0);然后再置R4-R7为0,R0-R3为1,此时,R1电位被拉低为低电平,此时,P2口表示的数为:0000 1101(0x0D)。
将两数相与取反,得到:0010 0010。
四、实验过程1. 连接好单片机及其外围设备电路2. 编写汇编程序ORG LJMP KeyLJMP K7: CJNE R2, #82H, K8ORG 0100H MOV P0, #0F8H Init: CLR P1.3 LJMP KeyMOV P0, #0C0H K8: CJNE R2, #14H, K9 Key: MOV P2, #0F0H MOV P0, #080HMOV A, P2 LJMP KeyMOV R1, A K9: CJNE R2, #24H, K10MOV P2, #0FH MOV P0, #090HMOV A, P2 LJMP KeyORL A, R1 K10: CJNE R2, #44H, K11CPL A MOV P0, #088HMOV R2, A LJMP KeyJNZ KeyPro K11: CJNE R2, #84H, K12LJMP Key MOV P0, #083H KeyPro: CJNE R2, #11H, K1 LJMP KeyMOV P0, #0C0H K12: CJNE R2, #18H, K13LJMP Key MOV P0, #0C6H K1: CJNE R2, #21H, K2 LJMP KeyMOV P0, #0F9H K13: CJNE R2, #28H, K14LJMP Key MOV P0, #0A1H K2: CJNE R2, #41H, K3 LJMP KeyMOV P0, #0A4H K14: CJNE R2, #48H, K15LJMP Key MOV P0, #086H K3: CJNE R2, #81H, K4 LJMP KeyMOV P0, #0B0H K15: CJNE R2, #88H, K16LJMP Key MOV P0, #08EH K4: CJNE R2, #12H, K5 LJMP KeyMOV P0, #099H K16: LJMP KeyLJMP Key ENDK5: CJNE R2, #22H, K6MOV P0, #092HLJMP KeyK6: CJNE R2, #42H, K7MOV P0, #082H五、实验结果1. 当按下开关Kn时,数码管能够显示对应的数字。
键盘的锁定实验报告

键盘的锁定实验报告1. 引言键盘锁定是指用户通过按下特定组合键使键盘上的一些键无法使用,这可以避免意外按键操作,尤其对于游戏玩家和写作人员而言尤为重要。
本实验旨在探索不同的键盘锁定方式对用户体验的影响,并寻找最佳的解决方案。
2. 方法2.1 实验器材本实验所用到的器材如下:- 一台个人电脑- 一把标准的键盘- 键盘锁定软件2.2 实验设计本实验设计了三种不同的键盘锁定方式,分别是:1. 软件实现:通过使用键盘锁定软件,在特定的按键组合下,锁定键盘上的某些按键。
2. 硬件实现:在键盘上安装物理开关,通过打开或关闭开关来锁定特定按键。
3. 整合实现:结合软件和硬件的方式,既可以使用键盘锁定软件,也可以通过物理开关来控制。
2.3 实验步骤1. 在个人电脑上安装键盘锁定软件。
2. 对于软件实现和整合实现的实验组,使用键盘锁定软件,将某些按键锁定起来,并记录用户在锁定状态下的体验和表现。
3. 对于硬件实现和整合实验组,使用键盘上的物理开关控制键盘锁定,并记录用户在锁定状态下的体验和表现。
2.4 实验指标本实验使用以下指标来评估键盘锁定方式的效果:- 用户自述的体验感受- 键盘锁定的易用性- 锁定和解锁的速度3. 结果与分析根据实验结果,我们得出以下结论:1. 软件实现的键盘锁定方式可以灵活地选择锁定的按键,但在解锁时需要通过软件操作,略显麻烦。
2. 硬件实现的键盘锁定方式操作简单方便,但需要额外的硬件支持,不够灵活。
3. 整合实现结合了软件和硬件的优点,可以自由选择按键锁定和使用物理开关进行解锁,操作相对简单且灵活。
4. 总结本实验通过比较不同键盘锁定方式对用户体验的影响,得出整合实现是最佳的解决方案。
它可以在用户需要锁定按键时提供简单、灵活的操作方式,并在解锁时通过物理开关实现快速解锁。
然而,需要进一步研究和改进的问题还有:- 如何减少解锁过程中的等待时间- 如何提高整合实现的易用性通过对键盘锁定方式的研究和改进,可以进一步提升用户的体验和效率,满足不同用户对键盘锁定的需求。
输入输出实验报告

一、实验目的1. 熟悉计算机输入输出设备的基本概念和作用。
2. 掌握常用输入输出设备的使用方法。
3. 了解输入输出设备的性能指标及其对计算机系统的影响。
二、实验环境1. 实验室:计算机实验室2. 硬件设备:计算机、键盘、鼠标、显示器、打印机、U盘等3. 软件:Windows操作系统三、实验内容1. 输入设备实验(1)键盘输入实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 连接键盘,确保键盘正常工作;③ 打开记事本,输入一段文字;2)实验结果:成功输入文字,观察键盘布局,了解各个键位的含义;3)实验总结:熟练掌握键盘布局,提高输入速度。
(2)鼠标输入实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 连接鼠标,确保鼠标正常工作;③ 使用鼠标在桌面进行拖动、点击等操作;2)实验结果:成功进行鼠标操作,熟悉鼠标的使用方法;3)实验总结:熟练掌握鼠标操作,提高操作效率。
2. 输出设备实验(1)显示器输出实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 观察显示器显示的桌面背景、图标等信息;2)实验结果:显示器正常工作,显示计算机信息;3)实验总结:了解显示器的作用,熟悉显示器的性能指标。
(2)打印机输出实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 将打印机连接到计算机;③ 打开文档,进行打印设置;④ 点击打印按钮,将文档打印到纸上;2)实验结果:成功将文档打印到纸上;3)实验总结:了解打印机的工作原理,熟悉打印机的性能指标。
3. 存储设备实验(1)U盘存储实验1)实验步骤:① 打开计算机,进入Windows操作系统;② 将U盘插入USB接口;③ 在文件资源管理器中找到U盘,进行文件读写操作;2)实验结果:成功将文件存入U盘,从U盘中读取文件;3)实验总结:了解U盘的工作原理,熟悉U盘的容量、读写速度等性能指标。
四、实验结果与分析1. 输入设备实验通过键盘输入实验,掌握了键盘布局和输入方法,提高了输入速度。
独立键盘设计实验报告

独立键盘设计实验报告引言独立键盘是一种通过单独设计的键盘,可以替代传统的键盘。
独立键盘的设计可以根据个人需求和偏好进行定制,提供更好的使用体验。
本实验旨在设计一种独立键盘,并通过实验评估其功能和效果。
设计目标本实验的设计目标如下:1. 基本功能:实现常见的键盘功能,包括字母、数字、符号等输入。
2. 人体工学:设计符合人体工学原理的键盘布局,以减少手部疲劳和不适。
3. 可定制性:提供键盘布局定制和按键映射定制的功能,以适应不同用户的需求。
4. 独立性:键盘具备自身的处理能力和输入接口,无需依赖外部设备。
设计过程键盘布局设计独立键盘的第一步是确定键盘的布局。
我们选择了常见的QWERTY键盘布局作为基础,同时参考了一些人体工学键盘的设计原则,例如将常用的按键放置在最容易触及的位置,减少手指的运动距离等。
根据这些原则,我们对QWERTY 键盘进行了一些微调和优化。
按键设计在键盘布局确定后,我们需要设计按键。
按键的设计需要考虑按键的形状、大小和高度等因素,以及按键的触发方式(例如机械按键或薄膜按键)。
我们选择了机械按键,因为它们在使用过程中具有明显的反馈和触感,且寿命较长。
电路设计为了实现键盘的独立性,我们需要设计键盘的电路。
电路主要由按键和控制芯片组成。
按键通过矩阵连接方式将多个按键连接到少量的引脚上,以减少引脚的数量。
控制芯片负责接收按键输入信号,并将其转化为计算机可以识别的数据格式。
软件开发为了使键盘能够与计算机进行通信,我们需要开发相应的软件。
软件主要负责读取控制芯片输出的数据,并将其转化为键盘输入信号。
我们开发了一个简单的驱动程序,可以将键盘识别为标准的计算机键盘,与计算机兼容。
实验评估为了评估设计的独立键盘的功能和效果,我们进行了一些实验。
功能评估我们首先测试了独立键盘的基本功能,包括字母、数字、符号等输入。
我们使用了不同的按键和组合键进行测试,验证了键盘的功能正常。
人体工学评估为了评估键盘的人体工学效果,我们请来了一些参与者进行试用。
计算机基础实验报告单实验报告单1

实验名称:熟悉键盘与指法练习任课教师:________________
专 业:班级:姓名:
学 号:完成日期:成 绩:
一、实验目的:1)熟悉键盘结构,熟记几个键的位置及常用键、组合键的使用2)了解键盘字母的分布结构和录入文字的标准3)掌握大小写英文字母、各种符号的输入方法4)掌握汉字输入法的选用
5、记事本的输入练习
四、实验结果与结论:熟悉掌握了计算机键盘的使用及计算机的初步实践应用,掌握字体输入语输入法切换
五、实验中遇到的问题及解决方法:对上机操作不熟悉,打字慢,错误多。通过多加练习来解决,平时注意输入的正确率
注意:如果答题纸不够,可背面答题!
二、实验内容及要求:1)键盘的组成2)使用键盘的正确指法3)中文输入法的选择4)中英文键盘练习软件的使用
三、实验步骤:
1、认识键盘组成:功能键区、主键盘区、编辑键区、小键盘区
2、使用键盘的正确指法:正确的姿势你、各手指的具体控键
3、中文输入法的选择;鼠标操作、键盘操作、对输入法浮动块的解释
4、中英文键盘练习软件的使用:英文输入练习、五笔字型输入练习
键盘 实验报告

键盘实验报告实验报告:键盘引言:键盘是计算机输入设备中最常用的一种设备,用于输入字符、数字、命令等等。
键盘以一定的方式将我们按下的按键转换成计算机可识别的信号,从而实现输入功能。
本实验的目的是了解键盘的工作原理、结构以及使用方法。
实验目的:1. 了解键盘的工作原理;2. 掌握键盘通信协议;3. 掌握键盘的结构和按键布局;4. 学习键盘的使用方法。
实验原理:键盘的工作原理是通过扫描矩阵的方式实现的,常见的键盘为4x4矩阵结构,也有其他规格的矩阵结构。
按键的每一个位置都与键盘电路中的一个电气开关相连接,当按下某个按键时,会导电并向计算机发送信号。
键盘通过PS/2或USB 接口与计算机相连,传输按键的信息。
键盘结构通常包括以下部分:1. 按键:键盘上的每一个按键代表一个字符、数字、命令或功能等。
按键大致分为四个区域:字母区、数字区、符号区和功能区。
2. 电路板:键盘的电路板上连接着按键开关,实现按键的电气连接和信号传输。
3. 导线和线缆:将电路板与接口连接,传递信号。
4. 接口:键盘通过PS/2或USB接口与计算机相连,实现信号的传输。
实验步骤:1. 准备一个计算机和一台键盘,确保键盘的连接正确。
2. 打开计算机,进入操作系统。
3. 在文本编辑器中打开一个文档,用来记录实验结果。
4. 将注意力集中在键盘上,按下键盘上的一个按键,观察文档中的输入情况。
5. 重复步骤4,测试其他按键,记录测试结果。
6. 关闭计算机,结束实验。
实验结果与分析:通过本实验,我们了解到键盘的工作原理是通过扫描矩阵的方式实现的,按键通过电路板中的电气开关与计算机相连,实现键盘输入。
键盘的按键布局通常分为四个区域:字母区、数字区、符号区和功能区。
通过实验测试,我们发现按键输入是可靠的,按下按键时能够正确输入对应的字符或数字。
键盘的使用方法是简单明了的,只需要按下对应的按键即可完成输入。
实验总结:键盘作为计算机最常用的输入设备,广泛应用于各个领域。
查询时键盘实验报告

查询时键盘实验报告一、实验背景在计算机领域,查询是一种常见的操作。
键盘作为计算机的一种输入设备,是用户与计算机进行交互的重要工具之一。
通过键盘,用户可以输入各种指令和数据,包括查询关键词。
键盘的性能和使用体验直接影响到用户的操作效率和舒适度。
为了评估键盘的性能,我们进行了查询时键盘实验。
二、实验目的本实验的目的是评估不同类型键盘在查询操作中的性能表现,包括击键速度、准确性和舒适度等方面。
通过实验结果的比较,可以得出不同类型键盘的优缺点,为用户的选择提供参考。
三、实验方法1. 实验材料- 键盘A:机械键盘- 键盘B:薄膜键盘- 键盘C:触摸板2. 实验步骤1. 进行键盘A的实验:由实验者使用键盘A进行10次查询操作(先手工输入一段文字再进行查询),记录每次的击键速度和准确性。
2. 进行键盘B的实验:由实验者使用键盘B进行10次查询操作,并记录数据。
3. 进行键盘C的实验:由实验者使用触摸板进行10次查询操作,并记录数据。
4. 分析和比较实验结果。
四、实验结果1. 键盘A的实验结果序号击键速度(字/分钟)准确性(百分比)1 120 95%2 130 92%3 115 98%4 125 94%5 110 96%6 135 90%7 121 96%8 114 95%9 118 93%10 112 97%2. 键盘B的实验结果序号击键速度(字/分钟)准确性(百分比)1 95 92%2 100 89%3 90 96%4 105 93%5 92 95%6 97 91%7 100 93%8 91 92%9 98 90%10 93 94%3. 键盘C的实验结果序号击键速度(字/分钟)准确性(百分比)1 80 88%2 85 83%3 90 86%4 75 81%5 88 84%6 82 87%7 85 82%8 79 85%9 84 83%10 81 86%五、实验分析通过对实验结果的分析,可以得出以下结论:1. 在击键速度方面,机械键盘(键盘A)表现出最高的性能,平均每分钟击键速度为120字。
键盘显示实验报告

键盘显示实验报告键盘显示实验报告一、引言键盘是我们日常生活中常用的输入设备之一,它通过按下不同的按键来输入字符和命令。
在计算机科学领域,键盘显示是一项重要的实验,它涉及到了计算机硬件和软件的相互配合。
本文将介绍一个键盘显示实验的设计和结果分析。
二、实验设计1. 实验目的本实验的目的是通过键盘输入字符,并在计算机屏幕上进行显示。
通过这个实验,我们可以深入了解键盘的工作原理和计算机输入输出的基本知识。
2. 实验材料本实验所需的材料包括:计算机、键盘、显示器和相应的连接线。
3. 实验步骤(1) 将键盘与计算机通过连接线连接好。
(2) 打开计算机,并启动相应的键盘显示程序。
(3) 在键盘上按下不同的按键,观察计算机屏幕上的显示效果。
(4) 分析和记录实验结果。
三、实验结果在本次实验中,我们按下了键盘上的不同按键,并观察了计算机屏幕上的显示效果。
实验结果表明,键盘输入的字符能够准确地显示在屏幕上,并且显示的速度非常快。
四、结果分析1. 键盘工作原理键盘是一种输入设备,它通过按下不同的按键来输入字符和命令。
当我们按下键盘上的某个按键时,键盘会发送一个信号给计算机,计算机通过解读这个信号来确定我们按下的是哪个按键,并将相应的字符显示在屏幕上。
2. 计算机输入输出键盘显示实验涉及到了计算机的输入输出过程。
输入是指将外部信息传递给计算机的过程,而输出是指将计算机处理后的信息传递给外部的过程。
在本实验中,键盘是输入设备,它将我们按下的按键信息传递给计算机;而显示器是输出设备,它将计算机处理后的字符信息显示在屏幕上。
3. 键盘显示的应用键盘显示技术在计算机领域有着广泛的应用。
无论是在日常办公还是在专业领域,键盘输入都是必不可少的。
通过键盘,我们可以输入文字、命令、密码等信息,实现与计算机的交互。
键盘显示技术的发展也为计算机的普及和应用提供了方便。
五、实验总结通过本次键盘显示实验,我们深入了解了键盘的工作原理和计算机输入输出的基本知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机4×4键盘的实现
成员:刘耀鹏、高攀、谢富田
2014年7月20日
理论分析
本实验是基于AT89C52单片机来实现4×4阵列键盘的输入,用七段数码管输出相应的键值,从而提供良好的人机接口。
AT89C52单片机是一个8位的单片,与51系列单片机相比较,其最大的区别是多了一个计数定是中断。
采用12MHz的晶振,采用内接法,对电路提供一个时间基准,P1端口作为键盘的输入端口,P0端口为数据输出端口,P1端口输入的键值,在P0端口产生相应的输出。
4×4键盘被抽象为16个开关按钮(每行4个共四行),那么久有4位行控制线,和列四位控制线,当开关接通时,则按键按下,数码管显示相应的键值,具体硬件电路如下:
电路中排阻限流作用,以达到对数码管保护作用,P2口作为位选端口,数码管8接P2.0端口,数码管7接P0.1端口。
以达到位选
的作用,对于电路可编写一下程序:
2、程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
//uchar code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};
uchar code table[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};
/********************************************************** ****
* 名称: Delay_1ms()
* 功能: 延时子程序,延时时间为1ms * x
* 输入: x (延时一毫秒的个数)
* 输出: 无
*********************************************************** ****/
void Delay_1ms(uint x)
{
uint i;
uchar j;
for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);
}
/********************************************************** ****
* 名称:Keyscan()
* 功能:P1外接4×4按键, 按照扫描法读出键值
* 输出:按键值0~15/如无键按下, 返回16
*********************************************************** ****/
uchar Keyscan(void)
{
uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
for(j = 0; j < 4; j++) { //循环四次
P1 = Buffer[j]; //在P1高四位分别输出一个低电平
temp = 0x01; //计划先判断P1.0位
for(i = 0; i < 4; i++) { //循环四次
if(!(P1 & temp)) //从P1低四位,截取1位
return (i + j * 4); //返回取得的按键值
temp <<= 1; //判断的位,左移一位
} }
return 16; //判断结束,没有键按下,返回16
}
/********************************************************** ****
* 名称:Display(uchar k)
* 功能:将参数分成十位、个位分别显示
* 输入:k (键盘数值)
* 输出:P0口输出七段码,P2口输出位选码
*********************************************************** ****/
void Display(uchar k)
{
P2 = 1111; //消隐
P0 = table[k / 10];
P2 = 0xfd; Delay_1ms(5); //显示5ms十位
P2 = 1111; //消隐
P0 = table[k % 10];
P2 = 0xfe; Delay_1ms(5); //显示5ms个位
}
/********************************************************** ****
* 名称: Main()
* 功能: 主函数
***********************************************************
****/
void Main(void)
{
uchar Key_Value = 16, Key_Temp1, Key_Temp2; //两次读出的键值
while(1) {
//---------以下读入按键、消抖、等待按键释放
P1 = 0xf0;
Key_Temp1 = Keyscan(); //先读入按键
if(Key_Temp1 != 16) { //如果有键按下
//Delay_1ms(10); //延时一下
Display(Key_Value); //可用显示代替延时
Key_Temp2 = Keyscan(); //再读一次按键
if (Key_Temp1 == Key_Temp2) {//必须是两次相等
Key_Value = Key_Temp1; //才保存下来,这就是消除抖动
while(Keyscan() < 16) //等待按键释放
Display(Key_Value); //等待期间显示键值
//---------以下是对按键的处理
Display(Key_Value); //显示键值
} }
Display(Key_Value); //没有按键按下,也显示键值
}
}
程序分析:
程序中可分为3个子函数你和一个主函数,其中子函数void Delay_1ms(uint x)功能是延迟秒,x为一个整形变量,控制外层循环次数,由于晶振是12MHz那个内层循环循环一次为1/120ms,因此内层循环变量必须是小于120,
子函数uchar Keyscan(void)功能是键盘扫描,在P1高四位分别输出一个低电平,低四位输出一个高电平,即高四位为输出,第四位为输入,当接通时输入输出均为低电平,从而实现键盘输入的功能。
void Display(uchar k)函数的功能是将按下的键值输出到七段数码管,原理是将对输入对的键值(0-15)除以10,若键值不小于10,那么十位则为一,之后对键值取余,输出个位数字。
主函数对以上三个子函数进行调用,在初始化(初始值为16)后,限进行消除抖动,之后将输入的键值输出。
仿真效果
初始状态
键值为8
实验效果
初始状态
键值为01
键值为10
键值为15
问题分析
本次试验我们组存在一些问题,首先是在键盘的输入端口,将排线接错,P1.0端口与P1.1端口位置接错,致使输入不正常;其次是排查问题的时候忽略了按键的原因,键值为6的按键损坏,致使键盘无法输入;最后显示的数字不正常,其原因是在共阳极改共阴极的时,没有将多余的线路拆除,从而影响输出。
总结经验,在焊接时首先确定器件的好坏,之后更应该注意线路连接及布线的正确性,一致达到实验要求的目的。