小键盘按键识别实验 实验报告_孔令宇 10284032
键盘实习实训报告

一、实习背景随着计算机技术的飞速发展,键盘作为计算机输入设备,已经成为人们日常生活中不可或缺的一部分。
为了更好地了解键盘的工作原理、操作技巧以及在实际工作中的应用,我于XX年XX月至XX年XX月在XX公司进行了为期一个月的键盘实习实训。
二、实习目的1. 理解键盘的基本结构和工作原理。
2. 掌握键盘的操作技巧和日常维护方法。
3. 提高键盘在各类办公软件中的应用能力。
4. 了解键盘在实际工作中的应用场景和行业发展趋势。
三、实习内容1. 键盘基础知识学习在实习的第一周,我系统地学习了键盘的基本知识,包括键盘的起源、发展历程、分类、按键布局等。
通过学习,我了解到键盘分为机械键盘和薄膜键盘两种类型,它们在结构、手感、寿命等方面存在差异。
2. 键盘操作技巧训练在接下来的两周,我重点进行了键盘操作技巧的训练。
通过实际操作,我掌握了以下技巧:(1)指法练习:通过练习,我熟悉了键盘的各个按键位置,提高了打字速度和准确性。
(2)盲打训练:通过盲打练习,我提高了在不知键盘按键位置的情况下进行输入的能力。
(3)快捷键应用:学习了各类办公软件中的快捷键,提高了工作效率。
3. 键盘应用实践在实习的最后两周,我将所学知识应用于实际工作中。
具体包括:(1)文字处理:使用Word、Excel等办公软件进行文档编辑、表格制作等。
(2)网页浏览:使用浏览器进行网页浏览、信息搜索等。
(3)编程:使用Python等编程语言进行编程练习。
四、实习总结1. 实习收获通过本次键盘实习实训,我收获颇丰。
不仅掌握了键盘的基本知识和操作技巧,还提高了自己在实际工作中的应用能力。
以下是我的一些心得体会:(1)键盘是计算机输入设备的重要组成部分,熟练掌握键盘操作技巧对提高工作效率至关重要。
(2)指法练习和盲打训练有助于提高打字速度和准确性。
(3)掌握各类办公软件的快捷键可以大大提高工作效率。
2. 实习不足在实习过程中,我也发现了一些不足之处:(1)键盘操作技巧有待进一步提高,尤其是在盲打方面。
实验五 键盘扫描实验 实验报告

键盘扫描实验实验报告一、实验目的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时,数码管能够显示对应的数字。
查询按键加减实验报告(3篇)

第1篇一、实验目的1. 理解按键输入的基本原理。
2. 掌握C语言编程中按键扫描和响应的实现方法。
3. 实现基于按键输入的加减功能,并能够查询结果。
二、实验环境1. 开发工具:Keil uVision52. 实验平台:STM32F103系列单片机开发板3. 外设:按键模块三、实验原理1. 按键扫描原理:通过查询或中断方式检测按键是否被按下,并判断是哪个按键被按下。
2. 单片机编程:使用C语言编写程序,实现对按键的扫描和加减功能的实现。
四、实验步骤1. 准备实验环境,连接按键模块到单片机开发板上。
2. 编写按键扫描函数,实现按键的检测和识别。
3. 编写加减功能函数,实现加法和减法运算。
4. 编写主函数,实现按键输入和结果显示。
五、实验代码```cinclude "stm32f10x.h"// 按键定义define KEY_ADD GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) // PA0define KEY_SUB GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1) // PA1// 全局变量volatile int result = 0;// 按键扫描函数void KeyScan(void) {if (KEY_ADD == 0) {while (KEY_ADD == 0); // 防抖动 result += 1;}if (KEY_SUB == 0) {while (KEY_SUB == 0); // 防抖动 result -= 1;}}// 加减功能函数void AddSub(void) {KeyScan();// 显示结果// ... (此处省略显示代码)}// 主函数int main(void) {// 初始化GPIO// ... (此处省略初始化代码)while (1) {AddSub();}}```六、实验结果与分析1. 实验结果:通过按键输入,可以实现对数字的加减操作,并实时显示结果。
8位DA转换实验 实验报告_孔令宇 10284032

8位D/A转换实验学生:孔令宇班级:计科10级1006班任课教师:吴为民一、实验目的学习掌握数/模转换的基本原理,掌握DAC0832芯片的使用方法。
二、实验内容按实验接线图编写转换程序,分别产生锯齿波,三角波并用示波器观察波形。
三、实验原理图四、实验流程1.锯齿波2.三角波五、实验代码1.锯齿波.model small.386data segmentdata endscode segmentassume cs:code,ds:datastart: mov al,00H ;输出数据初值J: mov dx,200H ;DAC0832的地址out dx,al ;锯齿波输出inc al ;al+1cmp al,0FFH ;是否等于0FFHjnz J ;不等于跳到J处,继续al+1mov al,00H ;等于0FFH,重置aljmp Jcode endsend start2.三角波.model small.386data segmentdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,200hmov al,00h ;出数据从0开始l1: out dx,alinc al ;输出数据加1jnz l1 ;al是否加满?未满继续mov al,0ffh ;已满,al置全1l2: out dx,aldec al ;出数据减1jnz l2 ;al是否减到0?不为0继续jmp l1 ;为0,al加1code endsend start六、实验数据七、实验体会与上周的中断实验相比,本次8位D/A转换实验较为顺利。
通过本次实验,我对DAC0832芯片的使用方法有了更进一步的认识。
锯齿波和三角波的产生原理比较类似。
在产生锯齿波时,将AL+1后与0FFH做比较,若是等于0FFH则重新置AL=00hH,若小于0FFH则继续执行AL+1,并再次与0FFH比较,直到AL=0FFG。
按键显示电路实验报告(3篇)

第1篇一、实验目的1. 熟悉按键电路的基本原理和设计方法。
2. 掌握按键电路的搭建和调试方法。
3. 了解按键电路在实际应用中的重要性。
4. 提高动手实践能力和电路分析能力。
二、实验原理按键显示电路是一种将按键输入转换为数字信号,并通过显示设备进行显示的电路。
本实验主要涉及以下原理:1. 按键原理:按键通过机械触点实现电路的通断,当按键被按下时,电路接通,产生一个低电平信号;当按键释放时,电路断开,产生一个高电平信号。
2. 译码电路:将按键输入的信号转换为相应的数字信号,以便后续处理。
3. 显示电路:将数字信号转换为可视化的信息,如LED灯、数码管等。
三、实验器材1. 电路板2. 按键3. 电阻4. LED灯5. 数码管6. 电源7. 基本工具四、实验步骤1. 按键电路搭建(1)根据电路原理图,在电路板上焊接按键、电阻、LED灯等元器件。
(2)连接电源,确保电路板供电正常。
2. 译码电路搭建(1)根据电路原理图,在电路板上焊接译码电路所需的元器件。
(2)连接译码电路与按键电路,确保信号传输正常。
3. 显示电路搭建(1)根据电路原理图,在电路板上焊接显示电路所需的元器件。
(2)连接显示电路与译码电路,确保信号传输正常。
4. 电路调试(1)检查电路连接是否正确,确保无短路、断路等问题。
(2)按下按键,观察LED灯或数码管显示是否正常。
(3)根据需要调整电路参数,如电阻阻值、电源电压等,以达到最佳显示效果。
五、实验结果与分析1. 实验结果通过实验,成功搭建了一个按键显示电路,按下按键后,LED灯或数码管能够正确显示数字信号。
2. 结果分析(1)按键电路能够正常工作,实现电路通断。
(2)译码电路能够将按键输入转换为相应的数字信号。
(3)显示电路能够将数字信号转换为可视化的信息。
六、实验总结1. 通过本次实验,掌握了按键电路的基本原理和设计方法。
2. 提高了动手实践能力和电路分析能力。
3. 了解了按键电路在实际应用中的重要性。
键盘 实验报告

键盘实验报告键盘实验报告一、引言键盘是我们日常生活和工作中不可或缺的一部分。
它作为人机交互的重要工具,承载着我们输入信息和指令的功能。
然而,键盘的设计和使用是否对我们的身体健康和工作效率有影响,是一个值得探究的问题。
本实验旨在通过对键盘的使用方式和设计特点进行研究,探讨键盘对人体的影响,并提出相应的改进建议。
二、实验方法1. 实验对象在本次实验中,我们邀请了20名久坐办公室的职场人士作为实验对象,他们每天平均使用键盘超过6小时。
2. 实验设备我们选择了市场上常见的两种键盘进行对比实验。
一种是传统的机械键盘,另一种是薄膜键盘。
3. 实验过程实验对象被要求在实验室内完成一系列的键盘输入任务,包括打字速度测试、长时间连续输入测试等。
实验过程中记录实验对象的打字速度、错误率以及主观感受。
三、实验结果通过对实验数据的统计和分析,我们得出了以下结论:1. 打字速度相比传统的机械键盘,实验对象在薄膜键盘上的打字速度普遍更快。
这可能是因为薄膜键盘的按键触发力较小,按键反馈更为敏感。
2. 错误率实验对象在使用薄膜键盘时的错误率明显高于使用机械键盘的情况。
这可能是因为薄膜键盘的按键设计较为扁平,按键间距较小,容易误按相邻按键。
3. 主观感受大部分实验对象对机械键盘的手感和按键反馈更为满意,认为使用机械键盘打字更舒适。
然而,也有一部分实验对象对机械键盘的按键声音感到不适,更喜欢薄膜键盘的安静设计。
四、讨论与改进建议基于实验结果和实验对象的反馈,我们提出以下改进建议:1. 键盘设计薄膜键盘可以借鉴机械键盘的按键结构和触发力,以提高打字的准确性和稳定性。
同时,机械键盘可以进一步优化按键的噪音问题,以满足用户对安静环境的需求。
2. 按键布局合理的按键布局对于减少误按和提高打字效率至关重要。
键盘设计者应考虑按键间距、按键高度和按键形状等因素,以提供更符合人体工程学原理的键盘布局。
3. 用户教育用户在使用键盘时应注意正确的手部姿势和打字姿势,以减少手部疲劳和损伤的风险。
键盘 实验报告

键盘实验报告键盘实验报告引言:键盘是我们日常生活中不可或缺的工具之一。
无论是在办公室、学校还是家中,键盘都是我们与电脑进行交流的媒介。
然而,我们对键盘的了解却往往停留在表面,我们很少去思考它的设计原理、使用习惯以及对我们的影响。
为了更好地了解键盘,我们进行了一系列的实验。
实验一:键盘布局对打字速度的影响我们首先进行了一个实验,通过比较不同键盘布局对打字速度的影响,来探究键盘布局的优劣。
我们选取了QWERTY布局和DVORAK布局进行对比。
实验结果显示,使用DVORAK布局的参与者在相同时间内能够输入更多的文字,平均提高了15%的打字速度。
这是因为DVORAK布局在设计时考虑了人手的生理结构和打字时的频率,使得更多的常用字母位于中间行,避免了手指的过度运动,提高了打字的效率。
实验二:键盘声音对打字体验的影响我们接着进行了一个实验,研究键盘声音对打字体验的影响。
我们选取了机械键盘和薄膜键盘进行对比。
实验结果显示,使用机械键盘的参与者在打字时感受到更好的触感和反馈,打字的准确性和速度也有所提高。
而薄膜键盘则显得较为平淡,没有机械键盘的手感。
这是因为机械键盘采用了独立的开关和弹簧,使得按键的触发更为明显,给人一种实实在在的反馈。
而薄膜键盘则采用了薄膜电路,按键的触发感较为模糊。
实验三:键盘布局对人体健康的影响最后,我们进行了一个实验,探究键盘布局对人体健康的影响。
我们选取了常见的QWERTY布局和人体工学键盘进行对比。
实验结果显示,使用人体工学键盘的参与者在长时间使用键盘后,手部的疲劳感和不适感较低。
而使用QWERTY布局的参与者则普遍出现手腕疼痛和肩颈部不适的情况。
这是因为人体工学键盘在设计时考虑了手部的自然姿势和舒适度,使得手腕和手指的弯曲角度更为合理,减少了手部的压力。
总结:通过这一系列实验,我们对键盘有了更深入的了解。
键盘布局、声音和人体工学都对我们的打字体验和健康有着重要的影响。
选择合适的键盘布局、触感和人体工学设计,可以提高我们的打字效率,减少手部疲劳感,保护我们的健康。
键盘 实验报告

键盘实验报告实验报告:键盘引言:键盘是计算机输入设备中最常用的一种设备,用于输入字符、数字、命令等等。
键盘以一定的方式将我们按下的按键转换成计算机可识别的信号,从而实现输入功能。
本实验的目的是了解键盘的工作原理、结构以及使用方法。
实验目的:1. 了解键盘的工作原理;2. 掌握键盘通信协议;3. 掌握键盘的结构和按键布局;4. 学习键盘的使用方法。
实验原理:键盘的工作原理是通过扫描矩阵的方式实现的,常见的键盘为4x4矩阵结构,也有其他规格的矩阵结构。
按键的每一个位置都与键盘电路中的一个电气开关相连接,当按下某个按键时,会导电并向计算机发送信号。
键盘通过PS/2或USB 接口与计算机相连,传输按键的信息。
键盘结构通常包括以下部分:1. 按键:键盘上的每一个按键代表一个字符、数字、命令或功能等。
按键大致分为四个区域:字母区、数字区、符号区和功能区。
2. 电路板:键盘的电路板上连接着按键开关,实现按键的电气连接和信号传输。
3. 导线和线缆:将电路板与接口连接,传递信号。
4. 接口:键盘通过PS/2或USB接口与计算机相连,实现信号的传输。
实验步骤:1. 准备一个计算机和一台键盘,确保键盘的连接正确。
2. 打开计算机,进入操作系统。
3. 在文本编辑器中打开一个文档,用来记录实验结果。
4. 将注意力集中在键盘上,按下键盘上的一个按键,观察文档中的输入情况。
5. 重复步骤4,测试其他按键,记录测试结果。
6. 关闭计算机,结束实验。
实验结果与分析:通过本实验,我们了解到键盘的工作原理是通过扫描矩阵的方式实现的,按键通过电路板中的电气开关与计算机相连,实现键盘输入。
键盘的按键布局通常分为四个区域:字母区、数字区、符号区和功能区。
通过实验测试,我们发现按键输入是可靠的,按下按键时能够正确输入对应的字符或数字。
键盘的使用方法是简单明了的,只需要按下对应的按键即可完成输入。
实验总结:键盘作为计算机最常用的输入设备,广泛应用于各个领域。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小键盘按键识别实验
学生:孔令宇
班级:计科10级1006班
任课教师:吴为民
一、实验目的
掌握用软件方法识别行列式键盘按键的原理和方法,以此进一步理解和掌握8255并行接口的原理和使用方法。
二、实验内容
将小键盘的键号(S1-S16)用16进制数0-F在7段数码管上显示。
三、实验原理图
四、实验流程
五、实验代码
.model small
.386
data segment
i8255_a equ 200h
i8255_b equ 201h
i8255kz equ 203h
led_cs equ 210h
ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h,77h,7ch,39h,5eh,79h,71h
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,i8255kz ;8255 命令口
mov al,10000010 ;设置8255控制字:0方式A口输出,B口输入 out dx,al ;输出8255控制字
L1 : call readkey ;判断行线、列线状态
mov bh,ah ;AH=行线状态
mov bl,al ;AL=列线状态
call delay ;延时20-30ms
call readkey ;再次判断行线、列线状态是否与第一次相同
cmp bl,al ;比较al和bl的值
jnz start ;不相等则跳至start cmp bh,ah ;比较bh ,ah 的值 jnz start ;不相等则跳至start call keyup ;等待键释放后再处理 mov ax,bx
call cmpoffset ;调用求键值的子程序cmpoffset call disp ;调用求键值的子程序disp ,显示数字 call delay ;延时20-30ms
jmp L1 ;循环进行将小键盘输出到数码管显示
readkey proc mov ah,11111110 scan: mov al,ah
mov dx,i8255_a ;8255 A 口
out dx,al ;输出一行线为低 mov dx,i8255_b ;8255 B 口
in al,dx ;输入列线状态
or al,0f0h ;高四位置1
,低四位为列线状态 cmp al,0ffh ;检查是否有按键按下
jne exitkey ;有键按下,退出
rol ah,1 ;
没有键按下则检查下一行 jmp scan exitkey: ret readkey endp
delay proc push cx mov cx,8000h ;延时
delay1: loop delay1
pop cx ret delay endp keyup proc
noup: mov al,ah
mov dx,i8255_a ;8255 A 口 out dx,al ;输出行线 mov dx,i8255_b ;8255 B 口
in al,dx ;读入列线
or al,0f0h ;与0f0h 相或,为判断按键是否释
放提供数据
cmp al,0ffh ;按键是否释放 je exit ;已释放,退出 jmp noup ;未释放,继续检查
exit: ret keyup endp
cmpoffset proc
not ah ;行值取反
not al ;列值取反
mov bh,00h
mov bl,00h
kk: shr ah,1
jc next1
add bh,4h ;一行4列
jmp kk
next1: shr al,1
jc next2
add bl,1 ;列号加1
jmp next1
next2: add bh,bl ;求得键值
mov al,bh
cmpexit: ret
cmpoffset endp
disp proc
push bx
push dx
mov bx,offset ledcode ;将偏移地址放bx中 mov ah,0
add bx,ax
mov al,[bx]
mov dx,led_cs ;段选
out dx,al
mov al,01h ;位选
inc dx
out dx,al
pop dx
pop bx
ret
disp endp
code ends
end start
六、实验现象
将实验代码在“386EX微机实验集成开发环境中”编译生成可执行文件后,在“386EX 微机实验集成开发环境中”全速运行程序后,按动试验箱右下方的小键盘中任意一个数字,在数码管中以十进制的方式显示该数字。
例如,在上图中在小键盘上按9,在数码管上则显示9。
七、实验体会
通过本次实验,我对8255的0方式的设置和运用化有了更进一步的认识。
本次实验要求使用8255的0方式、A口输出、B口输入,所以需要把初始化命令设置为10000010。
在本次实验中,如何判断一个按键的按下和释放是本次实验的关键点。
由于按键去抖动的需要,所以在本次实验中要进行两次按键的判断。
第一次通过对小键盘行和列的比较确定某一个按键被按下,在延时20-30ms后,再次进行判断小键盘行、列状况是否与第一次相同,相同则进行计算码值的工作。
通过对本次实验代码进行详细的注释,我清楚的了解了本次实验的执行过程和核心问题,让我了解到有一个清晰的解决问题的思路是解决好一个问题的关键。