实验六 查询式键盘实验

合集下载

实验5~6报告

实验5~6报告

实验五4×4键盘控制一、实验目的通过实验掌握键盘控制与设计方法。

熟练编写ARM 核处理器S3C2410X 中断处理程序。

二、实验设备硬件:Embest EduKit-III 实验平台,Embest ARM 标准/增强型仿真器套件,PC 机。

软件:Embest IDE Pro 2004 集成开发环境,Windows 98/2000/NT/XP。

三、实验原理常规键盘电路设计原理用户设计行列键盘接口,一般常采用三种方法读取键值。

一种是中断式,另两种是扫描法和反转法。

中断式在键盘按下时产生一个外部中断通知CPU,并由中断处理程序通过不同的地址读取数据线上的状态,判断哪个按键被按下。

本实验采用中断方式实现用户键盘接口。

扫描法对键盘上的某一行发送低电平,其他为高电平,然后读取列值,若列值中有一位是低,表明该行与低电平对应列的键被按下。

否则扫描下一行。

反转法先将所有行扫描线输出低电平,读列值,若列值有一位是低,表明有键按下;接着所有列扫描线输出低电平,再读行值。

根据读到的值组合就可以查表得到键码。

四、实验内容及步骤使用实验板上5x4 用户键盘,编写程序接收键盘中断。

通过IIC 总线读入键值,并将读到的键值发送到串口。

键盘硬件电路设计键盘连接电路实验步骤:1. 准备实验环境使用Embest 仿真器连接目标板,使用Embest EduKit-III 实验板附带的串口线,连接实验板上的UART0 和PC 机的串口。

2. 串口接收设置在PC 机上运行windows 自带的超级终端串口通信程序(波特率115200、1 位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。

3. 打开实验例程1) 使用Embest IDE 通过Embest JTAG仿真器连接实验板,打开实验例程目录5.2_keyboard_test子目录下的keyboard_test.ews 例程,编译链接工程;2) 点击IDE 的Debug 菜单,选择Remote Connect 项或F8 键,远程连接目标板;3) 点击IDE 的Debug 菜单,选择Download 下载调试代码到目标系统的RAM 中;4) 在“keyboard_test();”设置断点后,点击Debug 菜单Go 或F5 键运行程序。

查询按键加减实验报告(3篇)

查询按键加减实验报告(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. 实验结果:通过按键输入,可以实现对数字的加减操作,并实时显示结果。

[整理]单片机6个必做实验

[整理]单片机6个必做实验

第一部分软件实验实验一二进制到BCD码转换一、实验目的1、掌握简单的数值转换算法2、基本了解数值的各种表达方法二、实验说明单片机中的数值有各种表达方式,这是单片机的基础。

掌握各种数制之间的转换是一种基本功。

我们将给定的一个二进制数,转换成二十进制(BCD)码。

将累加器A的值拆为三个BCD码,并存入RESULT开始的三个单元,例程A赋值#123。

三、实验内容及步骤1、启动计算机,打开伟福仿真软件,进入仿真环境。

首先进行仿真器的设置,选择使用伟福软件模拟器。

2、打开TH2.ASM源程序进行编译,编译无误后,全速运行程序,打开数据窗口(DATA),点击暂停按钮,观察地址30H、31H、32H的数据变化,30H更新为01,31H更新为02,32H更新为03。

用键盘输入改变地址30H、31H、32H的值,点击复位按钮后,可再次运行程序,观察其实验效果。

修改源程序中给累加器A的赋值,重复实验,观察实验效果。

3、打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

四、流程图及源程序1.源程序RESULT EQU 30HORG 0000HLJMP STARTBINTOBCD:MOV B,#100DIV ABMOV RESULT,A ;除以100得百位数MOV A,BMOV B,#10DIV ABMOV RESULT+1,A ;余数除以10得十位数MOV RESULT+2,B ;余数为个位数RETSTART:MOV SP,#40HMOV A,#123CALL BINTOBCDLJMP $END2.流程图实验四程序跳转表一、实验目的1、了解程序的多分支结构2、掌握多分支结构程序的编程方法二、实验说明多分支结构是程序中常见的结构,在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。

若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

查询式键盘实验

查询式键盘实验

查询式键盘实验一、实验目的1、掌握键盘和显示器的接口方法和编程方法2、掌握键盘和八段码显示器的工作原理3、静态显示的原理和相关程序的编写 二、实验说明本实验提供了8个按钮的小键盘,可接到单片机的并行口,如果有键按下,则相应输出为低,否则输出为高。

单片机通过识别,判断按下什么键。

有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。

三、实验步骤及内容本实验需要用到单片机最小应用系统(F1区)、查询式键盘(B2区)、串行静态显示模块(I3区)和十六位逻辑电平显示模块(I4区)。

1、用一根扁平数据插头线连接查询式键盘实验模块JD2B 与十六位逻辑电平显示模块JD2I ,无键按下时,键盘输出全为“1”,发光二极管全部熄灭,有键按下,对应发光二极管点亮。

此种电路的程序要判断是否有2个或2个以上的键盘同时按下,以免键盘分析错误。

阵列式键盘的编程同样也有这样的问题要注意。

2、使用静态串行显示模块显示键值。

单片机最小应用系统1的 P1口JD1F 接查询式键盘输出口JD2B 。

P3.0接静态数码显示DIN ,P3.1接CLK 。

3、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

4、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 TH28_查询KEY.ASM 源程序,进行编译,直到编译无误。

5、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

6、打开模块电源和总电源,点击开始调试按钮,点击RUN 按钮运行程序。

在键盘上按下某个键,观察数显是否与按键值一致,键值从右至左为0~7。

四、流程图及源程序 (见光盘中的程序文件夹)1、流程图开始显示缓冲区初始化LED 显示读取键值键值转换为显示数据有键输入?N主程序框YN初始化地址参数去抖动查表读键值等待键释得键码调整表指针调整键码开始 比较相同?返回键入?五、思考题1、程序如何确保每按一次键,只处理一次。

嵌入式ARM键盘控制LED灯实验报告

嵌入式ARM键盘控制LED灯实验报告

实验六键盘控制LED灯实验1实验目的(1) 通过实验掌握中断式键盘控制与设计方法;(2) 熟练编写S3C2410中断服务程序。

2 实验设备(1) S3C2410嵌入式开发板,JTAG仿真器。

(2) 软件:PC机操作系统Windows XP,ADS1.2集成开发环境,仿真器驱动程序,超级终端通讯程序。

3 实验内容编写中断处理程序,处理一个键盘中断,并在串口打印中断及按键显示信息。

4 实验步骤(1) 参照模板工程,新建一个工程keypad,添加相应的文件,并修改keypad 的工程设置;(2) 创建keypad.c并加入到工程keypad中;(3) 编写键盘中断程序;参考代码如下:①串口初始化程序void uart_init()/* UART串口初始化*/{GPHCON |= 0xa0; //GPH2,GPH3 used as TXD0,RXD0GPHUP = 0x0; //GPH2,GPH3内部上拉ULCON0 = 0x03; //8N1UCON0 = 0x05; //查询方式为轮询或中断;时钟选择为PCLKUFCON0 = 0x00; //不使用FIFOUMCON0 = 0x00; //不使用流控UBRDIV0 = 26; //波特率为57600,PCLK=12Mhz}②发送数据while( ! (UTRSTAT0 & TXD0READY) );UTXH0 = c;③接收数据while( ! (UTRSTAT0 & RXD0READY) );return URXH0;④打印数据int i = 0;while( str[i] ){putc( (unsigned char) str[i++] );}return i;⑤按键初始化int key_init()/* 按键初始化*/{GPFCON = 0x55aa;GPFUP = 0xff;printk("按键初始化OK\r\n");return 0;}⑥中断初始化void irq_init()/* 中断初始化*/{INTMSK &= ~(3<<2);printk("中断初始化OK\r\n");}(5) 编译keypad;(6) 运行超级终端,选择正确的串口号,并将串口设置位:波特率(115200)、奇偶校验(None)、数据位数(8)和停止位数(1),无流控,打开串口;(7) 运行程序,在超级终端中输入的数据将回显到超级终端上,结果如图5.4所示:图6.1 初始化运行结果图6.2 main运行结果5 实验总结通过这次实验我巩固了上次实验的串口的使用方法,串口初始化、发送数据和接收数据,同时也熟悉了中断的处理过程,即保护现场、中断处理、恢复现场并返回。

查询键盘式课程设计

查询键盘式课程设计

查询键盘式课程设计一、课程目标知识目标:1. 学生能掌握键盘的基本布局,了解每个键位的功能。

2. 学生能掌握正确的打字姿势和指法,提高打字速度和准确性。

3. 学生能理解并运用常用的快捷键,提高计算机操作效率。

技能目标:1. 学生能熟练运用键盘进行文字输入,达到每分钟30字以上的打字速度。

2. 学生能运用快捷键进行基本的计算机操作,如复制、粘贴、撤销等。

3. 学生能通过键盘操作完成简单的计算机任务,提高信息处理能力。

情感态度价值观目标:1. 培养学生对计算机操作的自信心,激发学习计算机技术的兴趣。

2. 培养学生良好的打字习惯,提高工作效率。

3. 培养学生团队协作精神,学会在合作中共同进步。

分析课程性质、学生特点和教学要求,本课程旨在帮助学生掌握键盘操作技能,提高信息处理能力。

课程针对小学高年级学生,结合他们好奇心强、动手能力强、求知欲旺盛的特点,设计具有趣味性和实用性的教学内容。

通过本课程的学习,使学生能够在日常生活和学习中熟练运用键盘,提高计算机操作水平,为今后的学习和发展奠定基础。

二、教学内容1. 键盘布局与功能键介绍:学习键盘的基本布局,包括字母键、数字键、符号键、功能键(如Ctrl、Alt、Shift等)的位置及其功能。

教材章节:第一章 认识键盘2. 正确打字姿势与指法训练:教授正确的坐姿、手指位置及击键方法,通过练习提高打字速度和准确性。

教材章节:第二章 打字姿势与指法3. 文字输入训练:进行文字输入练习,包括字母、数字、汉字输入,提高学生打字速度。

教材章节:第三章 文字输入4. 快捷键操作:学习并掌握常用的快捷键,如复制、粘贴、撤销等,提高计算机操作效率。

教材章节:第四章 快捷键应用5. 键盘操作实践:通过实际操作练习,使学生熟练运用键盘完成计算机任务。

教材章节:第五章 键盘操作实践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字。

实验八键盘实验-10页文档资料

实验八键盘实验-10页文档资料

实验八键盘扫描实验一、实验目的1. 掌握中断键盘扫描编程方法。

2. 掌握LED动态显示方法。

二、实验原理及实验内容1. 实验原理无论是单片机控制系统还是单片机测量系统,都需要一个人机对话装置,这种人机对话装置通常采用键盘和显示器。

键盘是单片机应用系统中人机对话常用的输入装置,而显示器是单片机应用系统人机对话中的常用输出装置。

键盘是由若干个按键开关组成,键的多少根据单片机应用系统的用途而定。

键盘由许多键组成,而每个键相当于一个机械开关触点,当键按下时,触点闭合,当键松开时,触点断开。

单片机接收到按键的触点信号后作相应的功能处理。

因此对于单片机系统来说键盘接口信号是输入信号。

单片机的键盘接口分为独立式和矩阵式。

独立式键盘的每个按键都有一个信号线与单片机电路相连,所有按键有一个公共地或公共正端,每个键相互独立互不影响。

如图7-7所示,当按下键1时,无论其它键是否按下,键1的信号线就由1变0;当松开键1时,无论其它键是否按下,键1的信号线就由0变1。

矩阵式键盘的按键触点接于由行、列母线构成的矩阵电路的交叉处,每当一个按键按下时通过该键将相应的行、列母线连通。

若在行、列母线中把行母线逐行置0(一种扫描方式),那么列母线就用来作信号输入线。

矩阵式键盘原理图如图7-8所示。

图7-7 独立式按键原理图图7-8 矩阵式按键原理图针对以上两大类键盘工作方式,单片机又有三种键盘扫描方式:查询方式;定时扫描方式和中断扫描方式。

查询方式是指在程序中用一段专门的扫描和读按键程序不停查询有无按键按下,确定键值。

这种方式电路简单,但需要占用单片机的机器时间。

定时扫描方式是指利用单片机内的定时器来产生定时中断,然后在定时中断的服务程序中扫描,检查有无按键按下,确定键值。

这种方式的电路也比较简单,不占用单片机的机器时间,但需要占用一个定时器,同时定时的时间不能过长,否则可能检测不到相应得按键。

中断扫描方式是指当有键按下时由相应的硬件电路产生中断信号,单片机在中断服务程序中扫描,检查有无按键按下,确定键值。

LGSX-04A单片机、自动控制、计算机控制技术、信号与系统综合实验装置

LGSX-04A单片机、自动控制、计算机控制技术、信号与系统综合实验装置

LGSX-04A单片机、自动控制、计算机控制技术、信号与系统综合实验装置一、概述LGSX-04A单片机、自动控制、计算机控制技术、信号与系统综合实验装置由控制屏、实验挂箱、实验桌组成,通过单片机开发实训台可完成单片机的接口扩展、数据采集、数据显示、键盘控制、定时器、打印机接口等实验,配备有仿真器。

LGSX-04A单片机、自动控制、计算机控制技术、信号与系统综合实验装置设有电流型漏电保护器,控制屏若有漏电现象,漏电流超过一定值,即切断电源,对人身安全起到一定的保护。

LGSX-04A单片机、自动控制、计算机控制技术、信号与系统综合实验装置采用组件式结构,更换实验模块便捷。

如需扩展功能或开发新实验,只需添加实验模块挂箱即可,永不淘汰。

二、主要技术参数1、输入电源:AC220V±10% 50Hz2、工作环境:温度-10℃~+40℃相对湿度<85%(25℃)3、装置容量:200VA4、重量:100Kg5、外形尺寸(cm):160×75×1506、挂箱尺寸(mm):410×240×607、输出电源:有漏电、短路、过流保护A.~220V,通过安全插座输出B.直流稳压电源:±5V/1A ±12V/2A三、装置构成(一)实验屏:实验时放置实验挂箱,并提供实验电源,铁质双面亚光密纹喷塑结构。

(二)实验桌:钢木结构,桌面为防火、防水、耐磨高密度板,电脑桌连体设计,造型美观大方。

(三)实验模块:1、LGDP-01 单片机实验挂箱(一)LED点阵显示模块、点阵式字符液晶显示模块、8253定时计数器、A/D转换、D/A转换、V/F 转换、F/V转换、串引EEPROM、EEPROM、Flash Rom、SRAM、I2C总线接口2、LGDP-02 单片机实验挂箱(二)8251串行口扩展、232总线串行接口、单片机最小应用系统1、单片机最小应用系统2、拔码开关输出3、LGDP-03 单片机实验挂箱(三)ISD 1420语音控制、IC卡读写接口、实时时针/日历、USB接口、RS232转RS485接口4、LGDP-04 单片机实验挂箱(四)8279接口电路、8255 I/O扩展、8155 I/O扩展、动态扫描显示模块、转换接口、MC14433、整列式键盘实验模块5、LGDP-05 单片机实验挂箱(五)步进电机驱动程序示列、温度传感器与温度控制、汽车转弯信号灯/十字路口交通灯、数字频率计、看门狗6、LGDP-06 单片机实验挂箱(六)十六位逻辑电平显示、继电器控制接口、常用器件接口、八位逻辑电平输出、单次脉冲、扬声器、串引静态显示模块、查询式键盘。

小键盘实验报告心得

小键盘实验报告心得

小键盘实验报告心得引言小键盘是一种新型的输入设备,它具有独特的设计和功能,可以方便地输入数字和特殊符号。

在本次实验中,我通过使用小键盘,了解了其工作原理和使用方法,并对其进行了实际操作和测试。

本文将总结我的实验心得和体会,并对小键盘的优缺点进行评价。

实验过程和结果在实验过程中,我首先详细了解了小键盘的结构和工作原理。

小键盘主要由数字键、功能键和控制键组成,使用USB接口与计算机连接。

它工作时,通过电脑上的驱动程序进行配置和映射,使每个按键都能产生对应的输入信号。

在实验中,我使用了Windows系统自带的小键盘驱动程序进行配置。

经过一番设置和调试,我成功地将小键盘与计算机连接并进行了测试。

在测试中,我发现小键盘的响应速度非常快,按键的手感也很舒适,操作起来非常流畅。

同时,小键盘支持多种输入模式,可以通过切换键自由切换输入方式,非常方便实用。

我还测试了小键盘的一些实际应用场景,包括数字输入、计算器模式、游戏操作等。

在数字输入方面,小键盘的数字按键布局合理,操作起来快速准确,比起常规键盘更加高效。

在计算器模式下,小键盘提供了常用的算术运算按键,可以方便地进行简单计算。

在游戏操作方面,小键盘的功能键和控制键的设计非常人性化,能够满足不同游戏的操作需求。

心得体会通过本次实验,我对小键盘有了深入的了解,并受益匪浅。

首先,小键盘的设计十分合理,按键布局和手感都非常优秀,能够提供良好的使用体验。

其次,小键盘的配置和映射功能非常强大,可以根据个人需求进行个性化设置,满足不同用户的需求。

最后,小键盘的多种输入模式和应用场景使其具备了广泛的适用性,既可以用于日常办公,也可以用于游戏娱乐。

小键盘的出现对于数字输入、数据处理和游戏操作等方面都带来了很大的便利。

在数字输入方面,小键盘能够提高输入的速度和准确性,同时也减轻了手腕的负担。

在数据处理方面,小键盘具备快速输入特殊符号和快捷键等功能,能够提高效率。

在游戏操作方面,小键盘的功能键和控制键能够提供更多的操作选项,增强游戏的可玩性。

汇编数码显示及键盘实验实验报告

汇编数码显示及键盘实验实验报告

数码显示及键盘实验【实验内容】1、数码管显示0-72、独立按键识别【需要了解的知识】1、GPIO设定2、数码管动态扫描显示原理,键盘扫描工作原理,输入与输出及其处理【实验预习】仔细预读实验指导电子文档的实验六、七及其前面的实验流程【实验设备】Keil C51软件、ICE52 仿真驱动、MEFlash编程软件、USB驱动程序【实验过程】实验一数码管显示0-7实验任务:1)先将“0-7”数码管的段码值写入存储器中,使8位数码管从右至左显示0-7.实验步骤:1)首先在硬盘上建立一个文件夹;2)启动Keil C51软件;3)执行Keil C51软件的菜单“Project|New Project……”,弹出一个名为“Create New Project”的对话框。

输入工程文件名,选择保存路径uv2后缀,点击“保存”按钮;4)紧接着弹出“Options for Target‘Target 1’”,为刚才的项目选择ATMEL的AT89S52的CPU。

选择之后,点击“确定”按钮;5)接下来弹出一个对话框提示你是否要把标准8051的启动代码添加项目中去,此时,点击“否”按钮;6)执行菜单“File|New……”,出现一个名为“Text1”的文档。

接着执行菜单“File|Save”弹出一个名为“Save As”的对话框,将文件名改为“.asm”后缀,然后保存;7)添加源程序文件到工程中,一个空的源程序文件建成。

单击Keil C51软件左边项目工作窗口“Target1”上的“+”,将其展开。

然后右击“Source Group1”文件夹弹出下拉菜单,单击其中的“Add Files to Group‘Source Group1’”项;8)在弹出的对话框中先选择文件类型为“Asm Source file(*.s*;*.src;*.a*)”,这时对话框内创建的空的源程序文件已经出现在项目工作窗口的“Source Group1”文件夹中;输入源程序代码;9)点击工具栏“Options for target”按钮,弹出一个对话框,定义“Xtal”为11.0592.下面依序是存储模式、程序空间大小等设置,均用默认值即可。

单片机实验五报告_单片机键盘实验

单片机实验五报告_单片机键盘实验

南昌大学实验报告学生姓名:学号:专业班级:实验类型:⃞验证⃞综合■设计⃞创新实验日期:2018.05.18 实验成绩:实验五单片机键盘实验(一)实验目的1.掌握单片机键盘控制;2.掌握数码管显示控制。

(二)设计要求1.行列扫描按键键值为0~F;2.按键只支持单键按下,不支持多键同时按下;3.要求用数码管显示按键值。

(三)实验原理1.矩阵式键盘的设计按键数目较多的杨合常采用矩阵式(也称行列式)键盘。

键盘由行线和列线组成,按键位于行、列的交叉点上,如下图所示,一个4×4的行列结构可构成一个16个按键的键盘,需要一个8位的并行I/O口。

很明显,在按键数目较多的场合,矩阵式键盘要比独立式键盘节省较多的I/O口线。

对下图所示的矩阵式键盘的查询扫描,一般包括以下4个步骤。

(1)首先判别整个键盘有无按键按下方法为单片机驱动列线P0.0-P0.3输出全0,然后读行线P0.4-P0.7的状态,若全为1,则键盘上没有闭合键;若P0.4-P0.7,则有键按下。

(2)去除键的抖动当判别出可能有键按下时,软件延时一段时间(10ms左右)再判别键盘的状态,若仍有键闭合,则认为键盘上有确定的键按下,否则是键抖动。

(3)求出按下键的键号上图中的16个按键,键号依次为0,1,...15。

各行的首键号分别为0,4,8,12,列号依次为0,1,2,3。

行线通过上拉电阻接+5V,当无键按下时,行线为高电平,当有按键按下时,对应的行线与列线短接,行线的电平将由此行线相连的列线电平决定。

如果把行线设置为单片机的输入口线,列线设置为单片机的输出口线,则按键号的识别过程是:先令0列线P0.0为低电平0,其余3根列线都为高电平,遂行检查行线状态。

如果行线P0.4-P0.7都为高电平1,则P0.0这列上没有按键闭合,若P0.4-P0.7中有一行为低电平,则该行线与列线交叉的按键按下。

如果P0.0这一列上没有按键闭合,接着再使P0.1为低电平,其余列线为高电平。

实验键盘使用方法与中英文输入.ppt

实验键盘使用方法与中英文输入.ppt

图1-5
图1-6
2021/2/24
计算机导论实验指导
17
2、英文输入
大写字母的输入:在英文输入状态下,单击大写锁 定键Capslock,键盘右上方对应的指示灯会亮,此时 输入的英文字母为大写状态。或者在小写字母输入状 态下按住Shift键,再同时按下字母键也可以输入大写 字母。
注意:在大写字母状态下不能进行汉字拼音的输入。
2021/2/24
计算机导论实验指导
19
〖实验内容〗
依次执行“开始” “程序” “附件” “记事本”命令,打开记事本应用程序窗 口,或打开Word应用程序窗口,选择一种中 文输入方法,录入下面给定的2篇文字,注意 输入过程的正确性以及速度。
2021/2/24
计算机导论实验指导
20
1、第一位程序员
实验 1 键盘使用方法与中/英文输入
实验内容
1.1 键盘使用方法 1.2 中/英文输入
2021/2/24
计算机导论实验指导
2
实验目的
了解微机标准键盘的布局及各种键的功能 掌握用微机输入中/英文的方法
2021/2/24
计算机导论实验指导
3
1.1 键盘使用方法
实验目的和要求 预备知识 实验内容
预备知识 实验内容 思考问题
2021/2/24
计算机导论实验指导
13
〖预备知识〗
1、中/英文输入基本操作
中英文输入间的切换:按Ctrl+空格键,进入
中文输入状态,这时屏幕下方出现“标准”
中文输入法状态条
。再次按Ctrl+空
格键可退出中文输入状态,进入英文输入状
态,这时屏幕下方的输入法状态条消失。
Print Screen:用于打印屏幕(Windows下按此键 可以将当前屏幕的内容拷贝到剪贴板)。

单片机按键实验报告

单片机按键实验报告

单片机按键实验报告篇一:单片机按键扫描实验报告键盘扫描一.实验目的(1)掌握矩阵键盘接口电路和键盘扫描编程方法。

(2)掌握按键值处理与显示电路设计。

二.实验任务(1)设计4*4键盘,编写各个键的特征码和对应的键值(0~F);(2)编程扫描按键,将按键对应的数字值使用数码管显示出来。

三.实验电路及连线方法1.采用动态显示连线方法:电路由2 片74LS573,1 个六字一体的共阴数码管组成。

由U15 输出段选码,U16 做位选码,与单片机的采用I/O 口连接方式,短路片J22 连接P2.0,J23 连接P2.3,做输出信号锁存。

(实际电路连接是d7-d6-d5-d4-d3-d2-d1-d0?h-c-d-e-g-b-a-f)。

PW12 是电源端。

2.键盘电路连线方法:电路由16 个按键组成,用P1 口扩展4×4 行列式键盘。

J20 是键盘连接端,连接到P1 口。

J21 是行列键盘、独立键盘选择端,当J21 的短路片连接2-3脚时,构成4×4 行列式键盘;当J21 的短路片连接2-1 脚时,可形成3×4 行列式键盘,4 个独立式按键S4、S8、S12、S16,这4 个独立按键分别连接P1.4~P1.7;其他12 个键3×4 行列式键盘。

PW15 是电源端。

四.编程思路1.采用反转法识别按键的闭合。

2.采用动态显示将键值显示出来。

五.算法流程图六.资源分配1.用P1口进行查找按键2.用R3做键值指针3.用R1做动态显示为选码指针。

4.R5为延时指针。

七.程序设计KPIN:ORG MOV MOV ANL MOV 0000H P1,#0F0H A,P1 A,#0F0H B,AMOVP1,#0FHMOVA,P1ANLA,#0FHORLA,BCJNE A,#0FFH,KPIN1AJMP EXITKPIN1: MOVB,AMOVDPTR,#TABKPMOVR3,#0KPIN2: MOVA,R3MOVC A,@A+DPTRCJNE A,B,KPIN3MOVA,R3LOOP: MOVR1,#0FEH;键盘动态显示 LOOP1: MOVA,R3ANLA,#0FHMOV DPTR,#TABMOVC A,@A+DPTRCLRP2.0CLRP2.1MOVP0,ASETB P2.0NOPCLRP2.0LOOP2: MOVA,R1;位选码MOVP0,ASETB P2.1MOVR5,#250LOOP3: DJNZ R5,LOOP3CLRP2.1SJMP LOOPKPIN3: INCR3CJNE A,#0FFH,KPIN2EXIT: RETTABKP: DB0EEH,0DEH,0BEH,7EH,0EDH,0DDH,0BDH,7DH,0EBHDB 0DBH,0BBH,7BH,0E7H,0D7H,0B7H,77H,67H,0FFHTAB: DB77H,44H,3EH,6EH,4DH,6BH,7BH,46H,7FH,6FH,5FHDB 79H,33H,7CH,3BH,1BHEND八.调试出现的问题及解决问题1:程序正常运行,但按键显示出现乱码解决:动态显示笔形码错误,并改正。

小键盘按键识别实验--实验报告-孔令宇-10284032

小键盘按键识别实验--实验报告-孔令宇-10284032

小键盘按键识别实验学生:孔令宇班级:计科10级1006班任课教师:吴为民一、实验目的掌握用软件方法识别行列式键盘按键的原理和方法,以此进一步理解和掌握8255并行接口的原理和使用方法。

二、实验内容将小键盘的键号(S1-S16)用16进制数0-F在7段数码管上显示。

三、实验原理图四、实验流程五、实验代码.model small.386data segmenti8255_a equ 200hi8255_b equ 201hi8255kz equ 203hled_cs equ 210hledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,67h,77h,7ch,39h,5eh,79h,71hdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov 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-30mscall readkey ;再次判断行线、列线状态是否与第一次相同cmp bl,al ;比较al和bl的值jnz start ;不相等则跳至start cmp bh,ah ;比较bh ,ah 的值 jnz start ;不相等则跳至start call keyup ;等待键释放后再处理 mov ax,bxcall cmpoffset ;调用求键值的子程序cmpoffset call disp ;调用求键值的子程序disp ,显示数字 call delay ;延时20-30msjmp L1 ;循环进行将小键盘输出到数码管显示readkey proc mov ah,11111110 scan: mov al,ahmov 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 endpdelay proc push cx mov cx,8000h ;延时delay1: loop delay1pop cx ret delay endp keyup procnoup: mov al,ahmov 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 endpcmpoffset procnot ah ;行值取反not al ;列值取反mov bh,00hmov bl,00hkk: shr ah,1jc next1add bh,4h ;一行4列jmp kknext1: shr al,1jc next2add bl,1 ;列号加1jmp next1next2: add bh,bl ;求得键值mov al,bhcmpexit: retcmpoffset endpdisp procpush bxpush dxmov bx,offset ledcode ;将偏移地址放bx中 mov ah,0add bx,axmov al,[bx]mov dx,led_cs ;段选out dx,almov al,01h ;位选inc dxout dx,alpop dxpop bxretdisp endpcode endsend start六、实验现象将实验代码在“386EX微机实验集成开发环境中”编译生成可执行文件后,在“386EX 微机实验集成开发环境中”全速运行程序后,按动试验箱右下方的小键盘中任意一个数字,在数码管中以十进制的方式显示该数字。

单片机 矩阵键盘实验 实验报告

单片机 矩阵键盘实验 实验报告

实验五矩阵键盘实验一、实验内容1、编写程序,做到在键盘上每按一个数字键(0-F)用发光二极管将该代码显示出来。

按其它键退出。

2、加法设计计算器,实验板上有12个按键,编写程序,实现一位整数加法运算功能。

可定义“A”键为“+”键,“B”键为“=”键。

二、实验目的1、学习独立式按键的查询识别方法。

2、非编码矩阵键盘的行反转法识别方法。

三、实验说明1、MCS51系列单片机的P0~P3口作为输入端口使用时必须先向端口写入“1”。

2、用查询方式检测按键时,要加入延时(通常采用软件延时10~20mS)以消除抖动。

3、识别键的闭合,通常采用行扫描法和行反转法。

行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如读列值中某位为低电平,表明有键按下,否则扫描下一行,直到扫完所有行。

行反转法识别闭合键时,要将行线接一并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作于输入方式,程序使CPU通过输出端口在各行线上全部送低电平,然后读入列线值,如此时有某键被按下,则必定会使某一列线值为0。

然后,程序对两个并行端口进行方式设置,使行线工作于输入方式,列线工作于输出方式,并将刚才读得的列线值从列线所接的并行端口输出,再读取行线上输入值,那么,在闭合键所在行线上的值必定为0。

这样,当一个键被接下时,必定可以读得一对唯一的行线值和列线值。

由于51单片机的并口能够动态地改变输入输出方式,因此,矩阵键盘采用行反转法识别最为简便。

行反转法识别按键的过程是:首先,将4个行线作为输出,将其全部置0,4个列线作为输入,将其全部置1,也就是向P1口写入0xF0;假如此时没有人按键,从P1口读出的值应仍为0xF0;假如此时1、4、7、0四个键中有一个键被按下,则P1.6被拉低,从P1口读出的值为0xB0;为了确定是这四个键中哪一个被按下,可将刚才从P1口读出的数的低四位置1后再写入P1口,即将0xBF写入P1口,使P1.6为低,其余均为高,若此时被按下的键是“4”,则P1.1被拉低,从P1口读出的值为0xBE;这样,当只有一个键被按下时,每一个键只有唯一的反转码,事先为12个键的反转码建一个表,通过查表就可知道是哪个键被按下了。

微机原理实验六从键盘输入数据并显示

微机原理实验六从键盘输入数据并显示

实验六从键盘输入数据并显示1要求:编写程序,将键盘接收到的四位十六进制数转换为等值的二进制数,并显示在屏幕上。

若输入的不是0—F间的数字,则显示出错信息,并要求重新输入。

2目的:掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。

实验程序CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTMARK DB?MESS DB'please input the number(H),press inter,ture into number(B).press space end.',0DH,0AH,'$'ERROR DB 0DH,0AH, 'input error',0DH,0AH,'$'DATA ENDSSTACK SEGMENTSTA DW32 DUP(?)TOP DW?STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV SP,TOPHEAD: CRLFMOV MARK,0MOV AH,09HLEA DX,MESSINT 21H ;显示提示输入的信息CALL GETNUM ;接收键入数值送DXCMP MARK,01HJE HEADMOV CX,0010H ;16位MOV BX,DXTTT: ROL BX,1 ;循环左移1位MOV DL,BLAND DL,01H ;屏蔽掉高7位ADD DL,30HMOV AH,02HINT 21H ;显示二进制位对应的ASCII字符LOOP TTTJMP HEADFINI: MOV AX,4C00HINT 21H ;返回DOSGETNUM PROC NEAR ;子程序,接收键入数值送DX PUSH CXXOR DX,DXGGG: MOV AH,01HINT 21HCMP AL,0DH ;输入为回车,则进行转换JE PPPCMP AL,20H ;输入为空格,则退回DOSJE FINICMP AL,30HJB KKKSUB AL,30HCMP AL,0AHJB GETSCMP AL,11HJB KKKSUB AL,07HCMP AL,0FHJBE GETSCMP AL,2AHJB KKKCMP AL,2FHJA KKKSUB AL,20HGETS: MOV CL,04SHL DX,CLXOR AH,AHADD DX,AXJMP GGGKKK: MOV AH,09HMOV DX,OFFSET ERRORINT 21HMOV MARK,01HPPP: PUSH DXCRLFPOP DXPOP CXRETGETNUM ENDPCODE ENDSEND START。

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

实验六查询式键盘实验
一、实验目的
掌握查询式键盘的接口和编程方法。

二、实验内容
本实验提供了4个按键的小键盘,如果有键按下,则相应输出为低电平,否则输出为高电平。

MCU判断有键按下后,要有一定的延时,防止由于键盘抖动而引起误操作。

编写一个程序,能读出键盘操作的编号,并在数码显示器上显示。

三、实验电路
本实验所需电路请参见系统原理图的第一部分和独立式键盘电路。

四、实验程序参考框图
(a)主程序框图
(b)键盘扫描子程序框图
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV 30H,#0aH
MOV 31H,#0aH
MOV 32H,#0aH
MOV 33H,#0aH
MOV 34H,#0aH
MOV 35H,#0aH
MOV 36H,#0aH
MOV 37H,#0aH
MOV 50h,#0H
Loop: CALL DISPLAY
CALL KEY
MOV 50h,A
AJMP Loop KEY: MOV P3,#0FFH
MOV A,P3
Orl a,#0f0h
CJNE A, #0FFH, K00
AJMP KEY
K00: ACALL DELAY
ACALL DELAY
ACALL DELAY
ACALL DELAY
MOV A,P3
Orl a,#0f0h
CJNE A,#0FFH,K01
AJMP KEY
K01: cjne a,#0feh,k02
MOV 50h,,#0bh
Sjmp k05
K02: cjne a,#0fdh,k03
MOV 50h,,#0ch
Sjmp k05
K03: cjne a,#0fbh,k04
MOV 50h,,#0dh
Sjmp k05
K04: cjne a,#07h,k05
MOV 50h,,#0eh
Sjmp k05
K05: MOV 30H,50h
MOV 31H, 50h
MOV 32H, 50h
MOV 33H,50H
MOV 34H,50H
MOV 35H,50H
MOV 36H,50H
MOV 37H,50h
MOV A,P3
Orl a,#0f0h
CJNE A,#0FFH,K05
ACALL DELAY
RET DISPLAY:MOV R0,#30H
MOV R2,#07H
MOV R3,#00H
NEXT:MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
INC R0
MOV A,R3
RL A
RL A
MOV P2,A
INC R3
ACALL DELAY
MOV P0,#00H
ACALL DELAY
DJNZ R2,NEXT
RET
DELAY: MOV 7FH,#5
DELAY1: MOV 7EH,#250
DJNZ 7EH,$
DJNZ 7FH,DELAY1
RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
DB 6fH,40H,76H,73H,71H,79H,38H,5eh,31H
END
END五、思考题
1、A/D转换程序有三种编制方式:中断方式、查询方式、延时方式,实验中使用了查
询方式,请用另两种方式编制程序。

2、P0口是数据/地址复用的端口,请说明实验中ADC0809的模拟通道选择开关在利用
P0口的数据口或地址地位口时,程序指令和硬件连线的关系。

六、电路图
七、实验总结与体会。

相关文档
最新文档