当前位置:文档之家› 6-输入输出设备-2-键盘及其工作原理

6-输入输出设备-2-键盘及其工作原理

第六章“输入输出及接口”习题答案

第六章输入输出及接口 〔习题6.2〕 I/O端口与存储器地址常有__????___?和__????___?两种编排方式,8088/8086处理器支持后者,设计有专门的I/O指令。其中指令IN是将数据从__????___?传输到__????___?,执行该指令时8088/8086处理器引脚产生__????___?总线周期。指令“OUT DX, AL”的目的操作数是__????___?寻址方式,源操作数是__????___?寻址方式。 〔解答〕 (I/O端口与存储器地址)统一编址 (I/O端口与存储器地址)独立编址 外设 处理器 I/O读 (I/O端口的DX)寄存器间接 寄存器 〔习题6.4〕 基于教程P142图6-7接口电路,编程使发光二极管循环发光。具体要求是:单独按下开关K0,发光二极管以L0、L1、L2、……L7顺序依次点亮,每个维持200ms,并不断重复,直到有其他按键操作;单独按下开关K1,发光二极管以L7、L6、L5、……L0顺序依次点亮,每个也维持200ms,并不断重复,直到有其他按键操作;其他开关组合均不发光,单独按下开关K7,则退出控制程序。延时200ms可以直接调用子程序DELAY实现。 〔解答〕 again: mov dx,6000h mov al,0ffh out dx,al ;全不亮 again1: in al,dx cmp al,7fh ;D7~D0=0111111B ? jz done ;单独按下K7,退出 cmp al,0feh ;D7~D0=11111110B ? jz next1 ;单独按下K0,转移到next1 cmp al,0fdh ;D7~D0=11111101B ? jz next2 ;单独按下K1,转移到next2 jmp again ;其它情况不点亮 next1: mov cx,8 mov al,1 ;从K0开始 next11: out dx,al ;某个LED电亮 call delay ;延时200ms shl al,1 ;rol al,1 loop next11 jmp again1 next2: mov cx,8

矩阵键盘的工作原理和扫描确认方式

9.3.1 矩阵键盘的工作原理和扫描确认方式 来源:《AVR单片机嵌入式系统原理与应用实践》M16华东师范大学电子系马潮 当键盘中按键数量较多时,为了减少对I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图9-7 为一个 4 x 3 的行列结构,可以构成12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个16 键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O 口线。 矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU 的占用时间。 下面以图9-7 为例,介绍采用行扫描法对矩阵键盘进行判别的思路。图9-7 中,PD0、PD1、PD2 为3 根列线,作为键盘的输入口(工作于输入方式)。PD3、PD4、PD5、PD6 为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。行扫描法也称为逐行扫描查询法,其按键识别的过程如下。 √将全部行线PD3-PD6 置低电平输出,然后读PD0-PD2 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

按键控制键盘检测原理与应用

按键控制键盘检测原理与应用 一、任务目标: 认知目标 1、 掌握按键分类及工作原理 2、 掌握IF 条件选择结构和使用方法 3、 掌握循环结构和使用原理 4、 掌握独立按键子函数的编写原理及方法 1、独立键盘 在简单的单片机应用系统中,往往只需要几个功能键就能满足要求, 此时,可采用独立 式按键结构。 独立式按键是直接用 I/O 口线构成的单个按键电路,其特点是每个按键单独占用一根 I/O 口线,每个按键的工作不会影响其它 I/O 口线的状态。独立式按键的典型应用如图 1.2.1 所示。 独立式按键示意图 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根 I/O 口线,因此, 在按键较多时,I/O 口线浪费较大,不宜采用。 程序开始,检测按键是否被按下,若按下,则移动机器人启动,未被按下,继续检测。 这里将程序分成三个部分,分别是延时子函数、按键子函数、主函数。 延时子函数,通过参数 t 设置延时时间;按键模块子函数需用到延时函数,对按键进行 消抖;主函数主要调用按键检测程序,实现对移动机器人的控制。程序流程图如图 1.2.2所 示 xnu Lnu Jnu L] iu lu o 1 3 4 5 6 - IL I 」 IL IL IL IL IL IL- PPPPFFPP 3 S-I

程序示例: 在编写程序开始的部分,将系统头文件“STC89C52RC.H ”包含进来,对常用的变量类 型进行宏定义,规划各函数和变量,对变量进行定义和初始化,对自定义子函数进行声明并添加相应标注,程序开始部分如下 sbit IN仁P1A0; sbit IN2=P1A1; Void key(); 编写主函数,在主函数中就是调用按键检测函数。 Void mai n() { key(); } 编写key()按键检测函数,按键按下,输出低电平,通过if语句检测低电平,延时10ms 后,再次检测,若检测为高电平,则表示为机械抖动,若检测到低电平表示按键按下。 Void key() { if(IN1==0) { delay_ms(10); if(IN 仁=0) { while(IN 仁=0); IN2=~IN2 ; } } } 在上面的程序中,就只有一个检查按键扫描的函数key(),key()函数是检查有没有按键

键盘工作原理

键盘工作原理 一、PS/2键盘 PS/2键盘是遵循IBM PS/2键盘协议,通过PS/2的接口与主机相连。PS/2接口共有4条信号线。如下所示: 5-Pin DIN Connector 6-Pin Mini DIN Connector 如上图所示,PS/2接口四条信号线分别为“电源,地线,数据,时钟”。键盘通电后,所有数据都是通过“时钟/数据”两条信号线与主机进行沟通的。键盘与主机之间的沟通每次传送的数据为11位:1个起始位/8个数据位/1个校验位/1个停止位。键盘上每个按键都会进行编码称之为扫描码(Scan Code),每个键都有按下去的码称为通码(Make Code)与弹起来的码称为断码(Break Code)。扫描码又分为两种Code Set 1(简称为CS1)与Code Set2(简称为CS2)。这两种编码方式不同,CS1中“断码=通码+80(十六进制)”;CS2中“断码=F0 + 通码”。举例来说,如字母“A”,CS1码为通码=1E、断码= 9E;CS2码为通码=1C、断码=F0 1C。键盘是按CS2的方式将码传送至电脑主板的上键盘控制口8042,8042再将码转换成CS1的方式再传给操作系统。操作系统收到码后再转换成其相应的功能。

二、USB键盘 USB键盘是随着USB协议的推出而设计出来的。其通讯方式是遵循USB1.1与HID 1.1规范的。HID中文称之为人机接口设备,HID的规范主要定义了如键盘、鼠标、游戏杆等由人直接控制跟电脑相连的一些输入输出设备。 USB键盘的原理较为复杂,这里只能做简单介绍: 1、信号线:分为四条,按顺序依次为“VCC(红色)、DATA-(白色)、DATA+ (绿色)、GND(黑色)。 2、编码:USB编码跟PS/2不同,相对PS/2来讲要复杂。USB键盘编码是根据 功能不同而分成了不同的“Usage Page”,每个Page里再对各个按键进行编码。普通的按键如A、B、C….等Page为07,电源控制部分为01,多媒体控制部分为0C。 3、工作原理:USB键盘是通过主板上USB控制器上的USB接口进行沟通的。 在通电后,主机会侦测其USB接口上是否连有设备,如果有的话,会送出控制数据包到设备。设备厂收到后,会回应相关的数据包到主机。主机再解析收到的数据包,再判断此设备是哪类设备。如果是键盘的话,主机会再送键盘相应的数据包过来,键盘再回应过去,双方沟通完毕后,键盘就能正常使用了。在尚未进入Windows操作系统之前,是由BIOS控制键盘工作的,只做一些简单的沟通双方就能工作,但一些复杂的功能也不能使用,如电源与多媒体控制等功能是没法在DOS下使用的。在进入Windows操作系统后,操作系统会重新初始化键盘,会对键盘所有的数据进行解析。如用户按下字母“A”,键盘会送出含有字母“A”编码的数据包送给系统。系统收到后会解析此数据包,从中寻找其对应的Usage Page 07,再在07中寻找其对应的编码,然后再翻译成相应的功能再在屏幕上显示字母“A”等。

通过scanf函数从键盘输入数据

通过scanf函数从键盘输入数据 1)当调用scanf函数从键盘输入数据时,最后一定要按下回车键,scanf函数才能接受键盘输入的数据。 2)输入数据值 当键盘输入数据时,输入的数值数据之间用间隔符隔开。列<间隔符>10<间隔符>20 <间隔符> 此处间隔符可以是空格符、制表符(Tab)、回车符。 3)跳过输入数据的方法 可以在格式字符和%之间加上一个*,它的作用是跳过对应的输入数据。列 Int a1,a2, a3; Scanf("%d%d*%d%d%d",&a1,&a2,&a3); 当输入如下数据时:10 20 30 40 将把10赋给a1,跳过20,把30赋给a2,把10赋给a3 4)在格式字符串中插入其他字符 如果想在屏幕上输入字符串来提示,应该使用printf函数,如果在scanf的格式控制字符串中插入其他字符,则在输入时要求按一对一的位置原样输入这些字符 列1 Int a1,a2,a3; Scanf(“inpat a1,a2,a3:%d%d%d”,&a1,&a2,&a3); 要求按以下形式进行输入 Input a1,a2,a3:102030 列1 以下程序由终端出入两个整数给变量x和y,在交换x和y的值后,在输出x和y,验证两个变量中的数是否正确的进行了交换。 #inclube "stdio.h" Main() {int x,y,t; Printf("enter x&y:\n"); Scanf("%d %d",&x,&y); Printf9("x=%d y=%d\n",x,y); T=x;x=y;y=t; Printf("x=%d y=%d\n",x,y); } 列2 输入一个doulbe类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入后处理,然后输出此数,以便验证处理是否正确。

第九章 输入输出设备

9.2基本题 9.2.1填空题 1.按功能分类,外部设备大致可以分为(输入设备)(输出设备)和(输入输出兼用设备) 2.输入设备的作用是将(外部信息)以一定的数据格式送入(系统内存)答案:、 3.输入设备和输出设备统称为(外设),通常通过(输入输出接口)与主机相连接 4.输入设备分为(图形)输入设备、(图像)输入设备、(语音)输入设备几类 5.输出设备的作用是将(计算机的处理结果)提供给(外界) 6.每一种外设都是在它自己的(设备控制器)控制下工作,而(、适配器)则是通过() 和()相连接并受(主机)控制 7.常用的按键有(机械触点)式、薄膜式和(电容)式。其中(电容)式键开关无触点, 简单可靠,使用寿命长 8.鼠标器主要有(机械)式和(光电)式两种,后者需要特制的网格板与鼠标配合使用 9.光笔可以与(屏幕)上光标配合画出或修改图形,是一种定位输入设备 10.按显示器件分类,显示器有(阴极射线管显示器)(CRT)(液晶显示器)(LCD)和等离 子显示器 11.显示器的主要性能指标是图像的(分辨率)和(灰度级)。前者的值越高,显示的图像 就越清晰 12.液晶显示器的主要工作电压(低)、功耗(低)、体积小、重量轻、常用作便携式设备的 显示器 13.字符显示器的控制逻辑电路的功能包括(显示控制)(同步控制)(消隐)和(光标控制) 14.不同CRT显示标准所支持的最大(分辨率)和(颜色)数目是(不同)的. 15.按所显示的信息内容分类,显示器可以分为(字符)显示器、(图形)显示器和(图像) 显示器三类 16.CRT显示器上构成图像的最小单元称为(像素) 17.常用的打印设备有(点阵式)打印机、(宽行)打印机、(激光)打印机、(彩色喷墨) 打印机,他们都属于(硬拷贝)输出设备 18.按照工作原理,打印机可分为(击打)式和(非击打)式两类,激光打印机和喷墨打印 机均属于后者 19.对于单色显示器,若每屏可以显示80列*25行=2000个字符,字符窗口为9*14点阵, 字符为7*9点阵,则VRAM中存放的(2000个字符的ASCII码),容量为(2000)字节20.显示适配器作为CRT和CPU的接口,由(刷新)存储器、(显示)控制器、(ROM BIOS) 三部分组成。先进的显示控制器具有(图形)加速能力 21.激光打印机的工作过程分为(处理)阶段、(成像)阶段、(转印)阶段、(定影)阶段 22.衡量打印机打印速度的指标是:每秒钟打印的英文字符数(或每分钟打印的页数) 23.打印字符的点阵存储在(字符发生器)中,该装置通常采用ROM实现 24.数模转换(D/A转换)是将(数字)信号转换成(模拟)信号 25.模数转换(A/D转换)是将(模拟)信号转换成(数字)信号 26.音频处理总体上可分为三部分,即(音频识别)、(音频合成)和音效处理 27.VESA标准是一个可以扩展的标准,它除兼容传统的](VGA)等显示方式外,还支持 (1280*1024)像素光栅,每像素点(24位)颜色深度 9.2.2选择题

电脑键盘工作原理

电脑键盘工作原理 随着IBM PC机的发展,键盘也分为XT, A T, PS/2键盘以至于后来的USB键盘. PC系列机使用的键盘有83键、84键、101键、102键和104键等多种。XT和AT机的标准键盘分别为83键和84键,而286机以上微机的键盘则普遍使用101键、102键或104键。83键键盘是最早使用的一种PC机键盘,其键号与扫描码是一致的。这个扫描码被直接发送到主机箱并转换为ASCII码;随着高档PC机的出现,键盘功能和按键数目得到了扩充,键盘排列也发生了变化,产生的扫描码与83键键盘的扫描码不同。为了保持PC系列微机的向上兼容性,需将84/101/102/104键键盘的扫描码转换为83键键盘的扫描码,一般将前者叫作行列位置扫描码,而将后者称为系统扫描码。显然,对于83键键盘,这两种扫描码是相同的。 键盘是由一组排列成矩阵方式的按键开关组成,通常有编码键盘和非编码键盘两种类型,IBM系列个人微型计算机的键盘属于非编码类型。微机键盘主要由单片机、译码器和键开关矩阵三大部分组成。其中单片机采用了INTEL8048单片微处理器控制,这是一个40引脚的芯片,内部集成了8位CPU、1024×8位的ROM、64×8位的RAM、8位的定时器/计数器等器件。由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。当有键按下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。因此可以用硬件或软件的方法对键盘的行、列分别进行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。 键盘是与主机箱分开的一个独立装置,通过一根5芯电缆与主机箱连接,系统主板上的键盘接口按照键盘代码串行传送的应答约定,接受键盘发送来的扫描码;键盘在扫描过程中,7位计数器循环计数。当高5位(D6一D2)状态为全“0”时,经译码器在O列线上输出一个“0”,其余均为“1”;而计数器的低二位(D1D0)通过4选1多路选择器控制0—3行的扫描。计数器计一个数则扫描一行,计4个数全部行线扫描一遍,同时由计数器内部向D2进位,使另一列线1 变低,行线再扫描一遍。只要没有键按下,多路选择器就一直输出高电平,则时钟一直使计数器循环计数,对键盘轮番扫描。当有一个键被按下时,若扫描到该键所在的行和列时,多路选择器就会输出一个低电平,去封锁时钟门,使计数器停止计数。这时计数器输出的数据就是被按键的位置码(即扫描码)。8048利用程序读取这个键码后,在最高位添上一个“O”,组成一个字节的数据,然后从P22引脚以串行方式输出。在8048检测到键按下后,还要继续对键盘扫描检测,以发现该键是否释放。当检测到释放时,8048在刚才读出的7位位置码的前面(最高位)加上一个“1”,作为“释放扫描码”,也从P22引脚串行送出去,以便和“按下扫描码”相区别。送出“释放扫描码”的目的是为识别组合键和上、下档键提供条件。 同时,主机还向键盘发送控制信号,主机CPU响应键盘中断请求时,通过外围接口芯片8255A 一5的PA口读取键盘扫描码并进行相应转换处理和暂存;通过PB口的PB6和PB7来控制键盘接口工作。 从用途上看,键盘可分为台式机键盘、笔记本电脑键盘和工控机键盘三大类;其中台式机键

第六章 基本输入输出技术

微机原理与接口技术
第六章
基本输入输出技术
合肥工业大学计算机与信息学院
2017年 2017 年 5月

第六章 基本输入输出技术
6.1 I/O接口概述 6.2 无条件传送方式及其接口 6.3 查询传送方式及其接口 6.4 中断传送方式及其接口 6.5 DMA传送方式
2

6.1 I/O接口概述 什么是输入/输出设备?
? 能够完成输入/输出操作的设备,简称外设或I/O设备。 ? 输入设备:键盘、鼠标器、条形码阅读器和扫描仪等; 输出设备:显示器、打印机、绘图仪、投影仪等。
3

6.1 I/O接口概述 I/O设备与CPU信息交换时存在的问题
? 速度不匹配:CPU的速度很高,而外设的速度要低得多, 而且不同的外设速度差异很大。 ? 时序不匹配:各种外设都有自己的定时和控制逻辑,与 计算机的CPU时序不一致。 ? 信号格式不匹配:CPU能识别的是8 (16或32)位的并行 数字量信息,而有些外设用的是模拟量(电流信号或是 电压信号),有些设备采用串行方式传送数据。 ? 信号电平不匹配:CPU所使用的信号都是TTL电平,而 外设大多不能用TTL电平所驱动,有自己的电源系统和 信号电平。
4

6.1 I/O接口概述
1. I/O接口 2. 接口信息 3. 端口及编址方式 4. I/O地址的译码 5. 数据传送方式
5

6.1.1 I/O接口 定义
? I/O接口(Interface):实现外部设备与微机之间连接和 信息交换的功能电路。 输入输出设备
I/O设备 外设
? 接口技术是把由处理器等组成的基本系统与外部设备连 接起来,从而实现计算机与外设通信的一门技术。
6

从键盘输入数据并显示实验

实验四从键盘输入数据并显示实验 【实验目的】 1.掌握键盘输入字符的方法和十六进制数字字符的ASCII码转换为二进制数的原理。 2.掌握子程序定义和调用的方法。 3.掌握循环移位指令的用法和无符号数比较大小的方法。 【实验性质】 验证性实验(学时数:2H) 【实验内容】 从键盘上输入4位十六进制数,将其转换为16位二进制数并在显示器上显示出来。要求输入的数字字符串以回车键结束。如果输入的数字超过4个,则以最后输入的4个为准。若按下的键不是十六进制数字字符,则显示出错信息。 参考程序: 【实验提示】 从键盘上输入的十六进制数字字符进入计算机后并不是相应的十六进制数或二进制数,而是与字符对应的ASCII码,现要找出ASCII码与该数字对应的二进制数之间的关系。关系如下: 【报告要求】 1.给出该问题的程序设计流程图。 2.给出该程序的全部代码,并加上注释。 3.总结实验体会。 CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DA TA SEGMENT

MARK DB ? MESS DB '输入四位十六进制数,按回车键转化为二进制数,空格键结束!',0DH,0AH,'输入:$' ERROR DB 0DH,0AH, '输入错误!',0DH,0AH,'$' DA TA ENDS STACK SEGMENT STA DW 32 DUP(?) TOP DW ? STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SP,TOP HEAD: CRLF MOV MARK,0 MOV AH,09H LEA DX,MESS INT 21H ;显示提示输入的信息 CALL GETNUM ;接收键入数值送DX CMP MARK,01H JE HEAD MOV CX,0010H ;16位 MOV BX,DX TTT: ROL BX,1 ;循环左移1位 MOV DL,BL AND DL,01H ;屏蔽掉高7位 ADD DL,30H MOV AH,02H INT 21H ;显示二进制位对应的ASCII字符 LOOP TTT JMP HEAD FINI: MOV AX,4C00H INT 21H ;返回DOS GETNUM PROC NEAR ;子程序,接收键入数值送DX PUSH CX XOR DX,DX GGG: MOV AH,01H INT 21H CMP AL,0DH ;输入为回车,则进行转换 JE PPP CMP AL,20H ;输入为空格,则退回DOS JE FINI CMP AL,30H JB KKK

修订矩阵键盘的工作原理

修订矩阵键盘的工作原 理 TPMK standardization office【 TPMK5AB- TPMK08- TPMK2C- TPMK18】

4×4矩阵键盘的工作原理与编程51/AVR单片机学习开发系统上使用数码管显示4×4矩阵键盘的键值。 一、硬件工作原理的简单介绍 该实验使用的8位数码管显示电路和4×4矩阵键盘电路。现将这二部分的电路工作原理进行简单的介绍: 1、4×4矩阵键盘的工作原理 矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。 图1为矩阵键盘电路图,行线接P1.4-P1.7,列线接P1.0-P1.3。 图1 矩阵键盘电路 图2 按键排列 2、数码管动态扫描显示电路 在ME300B开发系统中,采用了8位数码管动态扫描显示。它将所有数码管的8个段线相应地并接在一起,并接到 AT89S51的P0口,由P0口控制字段输出。而

各位数码管的共阳极由AT89S51的P2口控制Q20-Q27来实现8位数码管的位输出控制。 这样,对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为位码。 由于各位数码管的段线并联,段码的输出对各位数码管来说都是相同的。因此,同一时刻如果各位数码管的位选线都处于选通状态的话,8位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就必须采用扫描显示方式。即在某一时刻,只让某一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样同一时刻,只有选通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。 虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其它各位熄灭,但由于数码管具有余辉特性和人眼有视觉暂留现象,只要每位数码管显示间隔足够短,给人眼的视觉印象就会是连续稳定地显示。 图3 数码管电路 数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示

计算机常用的输入输出设备

计算机常用的输入输出设备 (1)键盘(keyboard)。 计算机键盘上键的排列已有ISO2530和我国国家标准GB2787规定。键盘上的每个键有一个键开关。键开关有机械触点式、电容式、薄膜式等多种,其作用是检测出使用者的击键动作,把机械的位移转换成电信号,输入到计算机中去。 (2)鼠标器(mouse)。 鼠标器是一种控制显示器屏幕上光标位臵的输入设备。在Windows软件中,使用鼠标器使操作计算机变得非常简单:在桌面上或专用的平板上移动鼠标器,使光标在屏幕上移动,选中屏幕上提示的某项命令或功能,并按一下鼠标器上的按钮就完成了所要进行的操作。鼠标器上有一个、两个或三个按钮,每个按钮的功能在不同的应用环境中有不同的作用。 鼠标器依照所采用的传感技术可分为机械式、光电式和机械光电式三种。 机械式鼠标器底部有一个圆球,通过圆球的滚动带动内部两个圆盘运动,通过编码器将运动的方向和距离信号输入计算机。 光电式鼠标器采用光电传感器,底部不设圆球,而是一个光电元件和光源组成的部件。当它在专用的有明暗相间的小方格的平板上运动时,光电传感器接受到反射的信号,测出移动的方向和距离。 机械光电式鼠标器是上述两种结构的结合。它底部有圆球,但圆球带动的不是机械编码盘而是光学编码盘,从而避免了机械磨损,也不需要专用的平板。 (3)显示器(display)。 由监视器(monitor)和显示适配器(display adapter)及有关电路和软件组成的用以显示数据、图形、图像的计算机输出设备。显示器的类型和性能由组成它的监视器、显示适配器和相关软件共同决定。 监视器通常使用分辨率较高的显像管作为显示部件。显象管是将电信号转变为可见图像的电子束管,又称为阴极射线管(CRT)。可分为单色显像管(包括黑色、白色、绿色、橘红色、琥珀色等)和彩色显像管两大类。电子枪发射被调制的电子束,经聚焦、偏转后打到荧光屏上显示出发光的图像。彩色显像管有产生红、绿、蓝三种基色的荧光屏和激励荧光屏的三个电子束。只要三基色荧光粉产生的光的分量不同,就可以形成自然界的各种彩色。 监视器的光标定位方法有随机扫描和光栅扫描两种,光栅扫描又分逐行扫描和交错隔行扫描(先扫描奇数行,再扫描偶数行,交错进行)两种。逐行光栅扫描有许多优点,目前已得到广泛应用。

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

实验六从键盘输入数据并显示 1要求: 编写程序,将键盘接收到的四位十六进制数转换为等值的二进制数,并显示在屏幕上。若输入的不是0—F间的数字,则显示出错 信息,并要求重新输入。 2目的: 掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理。

实验程序 CRLF MACRO MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H ENDM DATA SEGMENT MARK 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 ENDS STACK SEGMENT STA DW32 DUP(?) TOP DW? STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SP,TOP HEAD: CRLF MOV MARK,0 MOV AH,09H LEA DX,MESS INT 21H ;显示提示输入的信息 CALL GETNUM ;接收键入数值送DX CMP MARK,01H JE HEAD MOV CX,0010H ;16位 MOV BX,DX

TTT: ROL BX,1 ;循环左移1位 MOV DL,BL AND DL,01H ;屏蔽掉高7位 ADD DL,30H MOV AH,02H INT 21H ;显示二进制位对应的ASCII字符 LOOP TTT JMP HEAD FINI: MOV AX,4C00H INT 21H ;返回DOS GETNUM PROC NEAR ;子程序,接收键入数值送DX PUSH CX XOR DX,DX GGG: MOV AH,01H INT 21H CMP AL,0DH ;输入为回车,则进行转换 JE PPP CMP AL,20H ;输入为空格,则退回DOS JE FINI CMP AL,30H JB KKK SUB AL,30H

键盘输入工作原理

键盘输入工作原理 作者:飄lá┽蕩去来源:博客园发布时间:2007-11-12 14:37 阅读:1809 次原文链接[收藏] Windows 窗体编程 键盘输入工作原理 Windows 窗体通过引发键盘事件来处理键盘输入以响应 Windows 消息。大多数Windows 窗体应用程序都通过处理键盘事件来以独占方式处理键盘输入。但是,必须了解键盘消息的工作方式,才能实现更高级的键盘输入方案(如在按键到达控件之前截获它们)。本主题描述 Windows 窗体能够识别的按键数据的类型,并概述键盘消息的传送方式。有关键盘事件的信息,请参见使用键盘事件。 按键的类型 Windows 窗体将键盘输入标识为由按位Keys枚举表示的虚拟键代码。使用Keys枚举,可以综合一系列按键以生成单个值。这些值与 WM_KEYDOWN 和 WM_SYSKEYDOWN Windows 消息所伴随的值相对应。可通过处理KeyDown或KeyUp事件来检测大多数物理按键操作。字符键是Keys枚举的子集,它们与WM_CHAR 和 WM_SYSCHAR Windows 消息所伴随的值相对应。如果通过组合按键得到一个字符,则可以通过处理KeyPress事件来检测该字符。或者,可以使用由Visual Basic 编程接口公开的Keyboard来发现已按下的键并发送它们。有关更多信息,请参见访问键盘。 键盘事件的顺序 正如上面列出的那样,在一个控件上可能出现三个与键盘相关的事件。以下顺序是发生这些事件的常规顺序: 1.用户按“a”键,该键将被预处理和调度,而且会发生KeyDown事件。 2.用户按住“a”键,该键将被预处理和调度,而且会发生KeyPress事件。 在用户按住某个键时,此事件会发生多次。 3.用户松开“a”键,该键将被预处理和调度,而且会发生KeyUp事件。 键的预处理 像其他消息一样,键盘消息是在窗体或控件的WndProc方法中处理的。但是,在处理键盘消息之前,PreProcessMessage方法会调用一个或多个方法,这些方法可被重写以处理特殊的字符键和物理按键。您可以重写这些方法,以便在控件

汇编程序设计从键盘输入数据并显示

微型计算机原理及应用实验教程 实验二从键盘输入数据并显示 一实验目的:掌握接收键盘数据的方法,并了解将键盘数据显示时须转换为ASCII码的原理,并在程序中设置错误出口。 二实验内容: 编写程序,将键盘接收到的四位十六进制数转换为等值的二进制数,再显示在屏幕上。若输入的不是0-F间的数字,则显示出错信息,并要求重新输入。 三实验程序: DATAS SEGMENT DATA1 DB 17 DUP(?) DATA2 DB'Fault',0DH,0AH,'$' DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX L7:LEA BX,DATA1 MOV CX,4 L2:MOV AH,1 INT 21H CMP AL,'F' JA L6 CMP AL,'A' JAE L5 CMP AL,'9'

JA L6 CMP AL,'0' JAE L5 L6:LEA BX,DATA2 CALL CCXS JMP L7 L5:CMP AL,40H JB L4 SUB AL,7 L4:SUB AL,30H PUSH CX MOV CX,4 SHL AL,CL L1:SHL AL,1 MOV AH,0 ADC AH,30H MOV [BX],AH INC BX LOOP L1 POP CX LOOP L2 LEA BX,DATA1

MOV [BX+16],'$' CALL CCXS MOV AH,4CH INT 21H CCXS PROC FAR MOV DX,BX MOV AH,9 INT 21H RET CCXS ENDP CODES ENDS END START

键盘基本工作原理

PS/2协议,键盘基本工作原理,键盘模拟器 upsdn首页> 嵌入式开发> 电路与通信系统 摘要:先简要介绍普通PC机的键盘,然后分析PS/2协议,最后实现了一个键盘仿真器,可利用其开发真正的键盘. PC机键盘简介 随着IBM PC机的发展,键盘也分为XT, AT, PS/2键盘以至于后来的USB键盘. PC系列机使用的键盘有83键、84键、101键、102键和104键等多种。XT和AT机的标准键盘分别为83键和84键,而286机以上微机的键盘则普遍使用101键、102键或104键。83键键盘是最早使用的一种PC机键盘,其键号与扫描码是一致的。这个扫描码被直接发送到主机箱并转换为ASCII码;随着高档PC机的出现,键盘功能和按键数目得到了扩充,键盘排列也发生了变化,产生的扫描码与83键键盘的扫描码不同。为了保持PC系列微机的向上兼容性,需将84/101/102/104键键盘的扫描码转换为83键键盘的扫描码,一般将前者叫作行列位置扫描码,而将后者称为系统扫描码。显然,对于83键键盘,这两种扫描码是相同的。 键盘是由一组排列成矩阵方式的按键开关组成,通常有编码键盘和非编码键盘两种类型,IBM系列个人微型计算机的键盘属于非编码类型。微机键盘主要由单片机、译码器和键开关矩阵三大部分组成。其中单片机采用了INTEL8048单片微处理器控制,这是一个40引脚的芯片,内部集成了8位CPU、1024×8位的ROM、64×8位的RAM、8位的定时器/计数器等器件。由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。当有键按下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。因此可以用硬件或软件的方法对键盘的行、列分别进行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。 键盘是与主机箱分开的一个独立装置,通过一根5芯电缆与主机箱连接,系统主板上的键盘接口按照键盘代码串行传送的应答约定,接受键盘发送来的扫描码;键盘在扫描过程中,7位计数器循环计数。当高5位(D6一D2)状态为全“0”时,经译码器在O列线上输出一个“0”,其余均为“1”;而计数器的低二位(D1D0)通过4选1多路选择器控制0—3行的扫描。计数器计一个数则扫描一行,计4个数全部行线扫描一遍,同时由计数器内部向D2进位,使另一列线1 变低,行线再扫描一遍。只要没有键按下,多路选择器就一直输出高电平,则时钟一直使计数器循环计数,对键盘轮番扫描。当有一个键被按下时,若扫描到该键所在的行和列时,多路选择器就会输出一个低电平,去封锁时钟门,使计数器停止计数。这时计数器输出的数据就是被按键的位置码(即扫描码)。8048利用程序读取这个键码后,在最高位添上一个“O”,组成一个字节的数据,然后从P22引脚以串行方式输出。在8048检测到键按下后,还要继续对键盘扫描检测,以发现该键是否释放。当检测到释放时,8048在刚才读出的7位位置码的前面(最高位)加上一个“1”,作为“释放扫描码”,也从P22引脚串行送出去,以便和“按下扫描码”相

第6章输入输出系统

第六章输入输出系统 一、填空题 l 、操作系统中,设备管理的目标是()和()。 2、中断装置通常是按预定的顺序来响应同时出现的中断事件的,这个预定的顺序通常被称为()。 3.通道通过执行通道程序来完成控制设备工作,完成指定的()操作. 4.通道可分为()、()和()三种类型. 5.中断向量实际上是一种指针,它指向对应()的入口. 6.访问磁盘时间由(),()和()三部分组成. 7.缓冲是一种()扶术,它利用某种存储设备,在数据传送过程中进行暂时的存放. 8.I/O管理中,()技术是操作系统得以响应外部和内部物理请求的必不可少的重要机制. 9、()算法是选择当前磁头所在磁道距离远近的请求作为下一次服务的对象. 10.磁盘地址空间是()维的. 11.为实现CPU与外部设备的并行工作,系统引入了()硬件机制. 12,IlO涉及的基本的硬件元素有()等等. 13.控制设备的核心模块为()· 14.设备和CPU之间数据传送控制方式有四种:程序直接控制方式,中断控制方式,DMA方式和()· 15. 缓冲,中断及()也是设备管理中的一个重要部分. 16. 磁盘是海量存储设备.海量存储设备的出现使得计算机系统的数据保留得以实现.磁盘也就成了 ()数据的关键. 17.许算机两个最主要的工作就是()和处理机. 18.磁盘又可以分为()· 19.如何有效地对连接到计算机的外设进行()是操作系统设计者最关心的问题之一. 20.一个设备可能通过电缆甚至()发送信号,与计算机系统通信. 21 、一般来说,把设备与主机之间的接口称之为()· 22.如果很多设备都共用一条线路通信,称镇线路为() 23.之所以区分控制器和设备本身是因为操作系统大多与()打交道,而非设备本身.

PC键盘输入及显示过程

PC键盘输入及显示过程原理 摘要:键盘是最常用也是最主要的输入设备,通过键盘可以将英文字母、数字、标点 符号等输入到计算机中,从而向计算机发出命令、输入数据等。而显示器也可以将通过键盘输入的字符、数据等显示出来。在此报告中我们将讨论计算机识别键盘输入的信息并通过显示器来显示信息的过程。 关键词:键盘;输入;显示 从计算机识别键盘输入的原理来说,键盘分为全编码键盘和非编码键盘两类。全编码键盘是由硬件完成键盘识别功能的,它通过识别键是否按下以及所按下键的位置,由全编码电路产生一个唯一对应的编码信息(如ASCII码)。由于其线路和编码的唯一性,这种键盘是不存在键位冲突的问题的,但是编码键盘结构复杂,成本非常之高现在基本上已经被淘汰了,现在多用非编码键盘。 一、非编码键盘的输入原理 非编码键盘是由软件完成键盘识别功能的,它利用简单的硬件和一套专用键盘编码程序来识别按键的位置,然后由CPU将位置码通过查表程序转换成相应的编码信息。 PC键盘主要由单片机、译码器和键开关矩阵三大部分组成。由于键盘排列成矩阵格式,被按键的识别和行列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。单片机在周期性扫描行、列的同时,读回扫描信号线结果,判断是否有键按下,并计算按键的位置以获得扫描码。当有键按下时,键盘分两次将位置扫描码发送到键盘接口;按下一次,叫接通扫描码;释放时再发一次,叫断开扫描码。因此可以用硬件或软件的方法对键盘的行、列分别进行扫视,去查找按下的键,输出扫描位置码,通过查表转换为ASCII码返回。

现在常用的薄膜接触式键盘就是非编码键盘,它任何一个按键都有上下两层薄膜的触点,在任何一层薄膜上的导线数都少于按键数,每一条导线都同时连通多个按键的触点,上层和下层的任何两条导线都最多只在一个按键上重合。也就 是说,上层的1号导线可能会同时经过1、2、3、4、5……等按键,而下层的1号导线可能同时经过1、Q、A、Z……等按键,且两条导线只在1键上重合。 根据上层薄膜和下层薄膜所经过的按键,就可以排出一个类似下面的表格:薄膜接触式键盘的接口控制电路中,就存储着这样一张表格,当按下某个按键,例如“Q”时,那么在这一点上,上下两个触点就会连通,反映到接口电路中,就会检测到上层导线1与下层导线2被连通了。相对应在表中一查,就会知道,被按下的是字母“Q”,然后通过接口输出其ASCII码。 二、键盘设备发送数据到主机的过程 数据和时钟线都是集电极开路的。在+5V 和每根线之间连接着一个电阻,所以总线的空闲状态是高电平。当键盘或者鼠标想发送数据时,它首先必须检查时钟线,确认它处于高电平。如果不是,主机禁止通信,设备必须缓冲任何要发送 的数据,直到主机释放时钟。在设备开始传输数据之前,时钟线必须持续为高电平的时间必须至50ms。当时钟为高电平时,键盘/鼠标写一个bit到数据线上;当时钟为低电平时,主机从数据线上读取这个bit 。当时钟位高时,数据线改变状态;当时钟位低时,数据线上的数据是有效的。时钟频率是10-16.7KHz。从时钟脉冲的上升沿到数据跳变的时间必须至少5ms。从数据跳变到时钟脉冲的

4×4矩阵键盘的工作原理与编程

ME300B单片机学习开发系统应用之三 ---4×4矩阵键盘的工作原理与编程 本文介绍如何在ME300B型51/AVR单片机学习开发系统上使用数码管显示4×4矩阵键盘的键值。 一、硬件工作原理的简单介绍 该实验使用ME300B上的8位数码管显示电路和4×4矩阵键盘电路。现将这二部分的电路工作原理进行简单的介绍: 1、4×4矩阵键盘的工作原理 矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。 K2 P15K3 P16 2、数码管动态扫描显示电路

所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。 在ME300B单片机开发系统中使用数码管来显示信息时,要将JP2的2、3端短接。见图3 二、演示程序的编程方法 1、4×4矩阵键盘的编程方法: 1.1、先读取键盘的状态,得到按键的特征编码。 先从P1口的高四位输出低电平,低四位输出高电平,从P1口的低四位读取键盘状态。再从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法我们得到16个键的特征编码。 举例说明如何得到按键的特征编码: 假设“1”键被按下,找其按键的特征编码。 从P1口的高四位输出低电平,即P1.4-P1.7为输出口。低四位输出高电平,即P1.0-P1.3为输入口。读P1口的低四位状态为“1101”,其值为“0DH”。 再从P1口的高四位输出高电平,即P1.4-P1.7为输入口。低四位输出低电平,即P10-P13为输出口,读P1口的高四位状态为“1110”,其值为“E0H”。 将两次读出的P0口状态值进行逻辑或运算就得到其按键的特征编码为“EDH”。 用同样的方法可以得到其它15个按键的特征编码。

相关主题
文本预览
相关文档 最新文档