电脑键盘工作原理

电脑键盘工作原理
电脑键盘工作原理

电脑键盘工作原理

电脑键盘工作原理

随着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引脚串行送出去,以便和"按下扫描码"相区别。送出"释放扫描码"的目的是为识别组合键和上、下档键

提供条件。

同时,主机还向键盘发送控制信号,主机CPU响应键盘中断请求时,通过

外围接口芯片8255A一5的PA口读取键盘扫描码并进行相应转换处理和暂存;通过PB口的PB6和PB7来控制键盘接口工作。

从用途上看,键盘可分为台式机键盘、笔记本电脑键盘和工控机键盘三大类;其中台式机键盘从按键结构上又可分为两类,即机械键盘和电容键盘(又称

有触点键盘和无触点键盘)。机械键盘存在着开关容易损坏、易污染、易老化的缺点,现已基本淘汰。电容键盘在可靠性上比前者有质的飞跃,使用寿命较长,目前大多为电容键盘。

早期的键盘是由美国IBM公司推出的,当时采用的计算机键盘为83键键盘。不久IBM又推出了84键的键盘设计标准,将键盘分为三个区,即功能区、打字键区及负责光标控制和编辑的副键盘区,这种键盘主要区域的划分标准一直沿

用至今。随着微软Windows视窗操作系统的广泛应用,IBM公司于1986年首次

推出了101键的标准键盘,除添加了F11、F12两个功能键之外,还在键盘的中

部多加了一组专用的光标控制和编辑的键,使键盘功能得到了进一步扩充,成

为当时业界的标准键盘。后来,为与微软的Win95操作系统相配合,IBM又推

出了104键键盘,新增了3个功能键(亦称Windows快捷键或热键HotKey),使

以前需要打开好几个窗口才能完成的某些功能,通过快捷键的设定直接启动菜

单完成,而不必再点击鼠标,这样就使计算机的操作更加便易。目前,这种

104键的键盘(亦称Win95键盘)的设计已成为业界和市场上最为普遍、最为流

行的一种标准,业界通称为标准键盘。实际上,所谓的标准键盘并没有标准,

只因其应用较为广泛而被业界通称为标准键盘。由于软件的不断升级更新,为

配合软件的需要,所谓的标准键盘的键数也在随之扩增,并因其又被业界所通

常采纳而又被业界通称为标准键盘。

但是,无论是机械键盘或者电容键盘,还是从早期的83键键盘发展到目前通称的标准键盘104键键盘,其应用都是主要依赖于硬件CPU和软件操作系统。以下就键盘的构造及工作原理等问题进行介绍。

(一)键盘构造及工作原理

PS/2设备履行一种双向同步串行协议。换句话说,每次数据线上发送一位

数据并且每在时钟线上发一个脉冲就被读入。设备可以发送数据到主机,而主

机也可以发送数据到设备,但主机总是在总线上有优先权,它可以在任何时候

抑制来自设备的通信,只需把时钟线电平拉低即可。

键盘的内部结构主要包括控制电路板、按键、底板和面板等。电路板是整

个键盘的控制核心,位于键盘的内部,主要担任按键扫描识别、编码和传输接

口工作;它将各个键所表示的数字或字母转换成计算机可以识别的信号,是用

户和计算机之间主要的沟通者之一。

键盘主要由键开关矩阵、单片机和译码器三大部分组成。键开关矩阵即键

盘按键由一组排列成矩阵方式的按键开关组成,所输入的信号由按键所在的位

置决定。单片机即键盘内部采用的Intel 8048单片机微处理器,这是一个40

引脚的芯片,内部集成了8位CPU、1024×8位的ROM、64×8位的RAM以及8

位的定时器/计数器等。译码器即信号编码转译装置,把键盘的字符信号通过编码翻译转换成相应的二进制码。由于键盘排列成矩阵格式,被按键的识别和行

列位置扫描码的产生,是由键盘内部的单片机通过译码器来实现的。根据键盘

向主机送入的二进制代码类型,可把键盘分为编码键盘和非编码键盘两种。IBM PC机的键盘属于非编码键盘,其特点是不直接提供所按键的编码信息,而是用

较为简单的硬件和一套专用程序来识别所按键的位置,并提供与所按键相对应

的中间代码,然后再把中间代码转换成要对应的编码。这样,非编码键盘就为

系统软件在定义键盘的某些操作功能上提供了更大的灵活性。

计算机键盘通常采用行列扫描法来确定按下键所在的行列位置。所谓行列

扫描法是指,把键盘按键排列成n行×m列的n*m行列点阵,把行、列线分别

连接到两个并行接口双向传送的连接线上,点阵上的键一旦被按动,该键所在

的行列点阵信号就被认为已接通。按键所排列成的矩阵,需要用硬件或软件的

方法轮转顺序地对其行、列分别进行扫描,以查询和确认是否有键按动。如有

键按动,键盘就会向主机发送被按键所在的行列点阵的位置编码,称为键扫描码。单片机通过周期性扫描行、列线,读回扫描信号结果,判断是否有键按下,并计算按键的位置以获得扫描码。键被按下时,单片机分两次将位置扫描码发

送到键盘接口:按下一次,叫接通扫描码;按完释放一次,叫断开扫描码。这样,通过硬件或软件的方法对键盘分别进行行、列扫视,就可以确定按下键所

在位置,获得并输出扫描位置码,然后转换为ASCII码,经过键盘I/O电路送

入主机,并由显示器显示出来。

键盘要增加键数是很容易的,任何矩阵键盘通过增加键盘的行或列便可实

现增加按键数。如64键的键盘排列成8行×8列的行列点阵,128键的键盘排

列成8行×16列的行列点阵,256键的键盘排列成16行×16列的行列点阵,

这在1992年7月出版的《微处理机为基础之设计》出版物上已作介绍(此对比

文献在2001年12月13日已递交)。因此,键盘结构采用矩阵式早已是公有技术。

(二)键盘的按键增加及功能改进

随着计算机CPU(硬件)和Windows操作系统(软件)的不断升级换代,计算

机的发展进入到了包括多媒体在内的高速多功能时代。与此相适应,计算机键

盘也出现了一些新的变化,主要表现在键盘键数的增加及功能的整合。美国苹

果(Apple)公司早在1992年就曾推出过设有调整音量按键的键盘。时下流行的

多媒体键盘,也叫多功能键盘,其特征是增加了一些快捷键(或功能键),通过

设定主板BIOS或软件设定,使这些新增的键可以实现开关电脑、休眠启动、CD 播放、音量调整、一键上网等特殊功能。此外还出现了一些多功能集成的键盘,如将扫描仪、录音设备或手写板、鼠标等整合为一体的键盘,以及带有文字编

辑或指纹识别功能的智能键盘等。

如前所述,IBM定义的101键键盘与微软(Microsoft)所定义的三键共同形

成的104键Win95键盘一般被称作标准键盘,那么标准键盘的104键之外如何

增加按键扩充功能呢?从目前键盘发展情况看,可以有多种方法。单就增加键盘按键的设定技术看,一般来讲,按键的增加取决于三个方面的因素:一是CPU

能识别,二是操作系统能响应,三是键盘内部电路结构能安排。从前面的介绍

可知,CPU和操作系统这两个因素是计算机必备的现成技术,不成问题。这样,增加键盘按键的关键就在于键盘的内部结构。以下两种方法可以直接简便地增

加键盘按键。

目前PC机键盘按键一直沿用IBM的行列矩阵方式布局排列,称为扫描矩阵,其内部电路结构的核心是8048(包括其后续升级系列)单片机微处理器。根据单

片机微处理器特定的I/O(即Input/Output输入/输出)电路,IBM将键盘按键的行列矩阵定义为8行×16列=128键,而现行的标准键盘只使用了其中的104键,故尚有128-104=24键的阵点闲余,尚未定义。因此,增加按键的方法之一是,直接在这尚未定义的24个闲余按键阵点中继续定义新键以扩增新的功能键。方法之二是,通过改变单片机微处理器I/O电路的配线方式,可以把IBM的原8

行×16列扫描矩阵变为(8+n)行×16列,如(8+1)行×16列=144键等,这样就

会在128键之外获得新增加的一行16个键位,再根据需要为其定义功能。以上两种方法都可以达到增加104键的标准键盘的按键数的目的。简而言之,第一

种方法是在原扫描矩阵8行×16列的行列点阵中尚未利用的24个点上,根据需

要可任意增加1至24个新键;第二种方法是在单片机微处理器原扫描矩阵8行×16列基础上再增加一行,变为9行×16列扫描矩阵,再根据需要任意增加新键,并不会带来单片机微处理器本身原有功能的更新。如IBM的83键盘发展到原来的标准键盘101键,其要增加的键数只要通过增加键盘的行或列,并在增

加的行列阵点上进行定义便可实现;而原来的101键的标准键盘后发展到目前

的104键的标准键盘,其增加的3个键数可以不增加键盘的行和列,只要在原

扫描矩阵中尚未定义的点上直接定义就可以。无论是第一种方法还是第二种方法,都已经属于公有技术领域的技术。

什么是键盘的键位冲突?

简单的说,也就是当你同时按下键盘上的几个键的时候,这几个键不能同

时反映出来,这就叫做键盘的键位冲突。例如说,你能想象当你按下Ctrl-

Alt-Del时,系统只能接收到前两个键,而死活不承认你按了Del键吗?

当然,现实中是不会有这样的键盘的,按不下Ctrl-Alt-Del的键盘根本就没法出厂,但其他一些常见的键位冲突就不稀奇了。例如,经常有一些键盘不

能同时对例如A-S-空格这样的按键组合作出反应,这样在FPS游戏中,使用者

就会大为吃亏。

对于键位冲突问题,电脑用户中有两种完全不同的态度,绝大多数人根本

意识不到键位冲突问题的存在,直到遇到冲突的时候才叫苦不迭,并且大呼"为什么他就能做这个动作?";而另一部分人,特别是一些游戏高手,又在孜孜不

倦的寻找"没有键位冲突的键盘"。这两种人都是对键位冲突的原因认识不清楚的。

键位冲突的直接起因,是键盘的非编码结构。在2月号的专题中,我们提

到过现在的键盘几乎都是非编码的薄膜接触式键盘,那么什么是非编码键盘呢?在专题里我们没有详细的解释,下面我们就来详细说明一下非编码键盘的原理

与结构。

传统的键盘,是编码式键盘,它的每个键按下时都会产生唯一的按键编码,并且通过专有的一组导线传输到键盘接口电路,由于其线路和编码的唯一性,

这种键盘是不存在键位冲突的问题的,但是编码键盘结构复杂,现在已经很少

使用了。

而现代的薄膜接触式键盘,任何一个按键都有上下两层薄膜的触点,我们

将它拆开来仔细看一看(如图),就会发现在任何一层薄膜上,导线数都远少于

按键数,而且每一条导线都同时连通多个按键的触点,而且,上层和下层的任

何两条导线都最多只在一个按键上重合。也就是说,上层的1号导线可能会同

时经过1、2、3、4、5…等按键,而下层的1号导线可能同时经过1、Q、A、Z…等按键,且两条导线只在1键上重合。

什么是键盘的键位冲突?简单的说,也就是当你同时按下键盘上的几个键的时候,这几个键不能同时反映出来,这就叫做键盘的键位冲突。例如说,你能

想象当你按下Ctrl-Alt-Del时,系统只能接收到前两个键,而死活不承认你按了Del键吗?

当然,现实中是不会有这样的键盘的,按不下Ctrl-Alt-Del的键盘根本就没法出厂,但其他一些常见的键位冲突就不稀奇了。例如,经常有一些键盘不

能同时对例如A-S-空格这样的按键组合作出反应,这样在FPS游戏中,使用者

就会大为吃亏。

对于键位冲突问题,电脑用户中有两种完全不同的态度,绝大多数人根本

意识不到键位冲突问题的存在,直到遇到冲突的时候才叫苦不迭,并且大呼"为什么他就能做这个动作?";而另一部分人,特别是一些游戏高手,又在孜孜不

倦的寻找"没有键位冲突的键盘"。这两种人都是对键位冲突的原因认识不清楚的。

键位冲突的直接起因,是键盘的非编码结构。在2月号的专题中,我们提

到过现在的键盘几乎都是非编码的薄膜接触式键盘,那么什么是非编码键盘呢?在专题里我们没有详细的解释,下面我们就来详细说明一下非编码键盘的原理

与结构。

传统的键盘,是编码式键盘,它的每个键按下时都会产生唯一的按键编码,并且通过专有的一组导线传输到键盘接口电路,由于其线路和编码的唯一性,

这种键盘是不存在键位冲突的问题的,但是编码键盘结构复杂,现在已经很少

使用了。

而现代的薄膜接触式键盘,任何一个按键都有上下两层薄膜的触点,我们

将它拆开来仔细看一看(如图),就会发现在任何一层薄膜上,导线数都远少于

按键数,而且每一条导线都同时连通多个按键的触点,而且,上层和下层的任

何两条导线都最多只在一个按键上重合。也就是说,上层的1号导线可能会同

时经过1、2、3、4、5…等按键,而下层的1号导线可能同时经过1、Q、A、Z…等按键,且两条导线只在1键上重合。

这样,根据上层薄膜和下层薄膜所经过的按键,就可以排出一个类似下面

的表格:

上层导线1 上层导线2 上层导线3 上层导线4 上层导线5 …

下层导线1 1 2 3

4 5

下层导线2 Q W E

R T

下层导线3 A S D

F G

下层导线4 Z

X C

V B

在非编码键盘的接口控制电路中,就存储着这样一张表格,当按下某个按键,例如"Q"时,那么在这一点上,上下两个触点就会连通,反映到接口电路中,就会检测到上层导线1与下层导线2被连通了。相对应在表中一查,就会知道,被按下的是字母"Q",然后通过接口输出其ASCII码。

与老式的编码式键盘相比,非编码键盘的结构要简单许多,省略了复杂的

编码电路和蜘蛛网似的走线,而且更重要的是,由于非编码式键盘将按键结构

和输出键码分离,所以当需要制造不同键位排列的键盘时,不需要重新设计键

盘线路,而只要将控制电路中的键位排列表格重新刷新就可以了。例如在德文

键盘上,子母"Y"和"Z"的位置是互调的,那么如果要把一条英文键盘生产线改

造成德文键盘生产线,什么都不用改变,只须在控制芯片中刷进一个新的排列表,将"上层导线1-下层导线4"的位置写作"Y","Z"字也作同样处理就行了,

显然比重新布线要简单了很多。这也就是为什么非编码式键盘大行其道的原因。

但是非编码式键盘带来的就是"键位冲突"的问题。以上面的按键排列表为例,当按下一个按键时,键盘肯定会正常识别的;当按下两个按键时,例如同

时按下"Q"与"D",此时上层导线1与下层导线2连通,而上层导线3与下层导

线3连通,系统完全可以正常识别;或者同时按下"Q"与"E",此时,上层导线1、下层导线2、上层导线3同时连通,系统同样可以正常识别出是按下了这三

个按键。

但在同时按下3个或3个以上按键时,情况就复杂了。

在一种情况下,例如同时按下"Q"、"D"、"B"时,此时,从表中我们可以看出,上层导线1-下层导线2、上层导线3-下层导线3、上层导线5-下层导线4

都分别连通,此时系统完全可以正常识别出按下了这三个按键。

但当按下的第三个按键不是"B",而是"E"呢?

此时,我们可以发现,由于第三组连通的导线变成了上层导线3-下层导线2,所以,此时反映到接口控制芯片的信号是:上层导线1-下层导线2-上层导

线3-下层导线3统统被连通到了一起。

但是,问题就在于,除了按下的第三个按键是"E"以外,如果按下的第三个键是用来连通上层导线1和下层导线3的"A",也会有同样的信号组合?事实上,"Q"、"E"、"A"、"B"四个按键中按下任何三个都会有同样的信号组合,那么此

时接口电路怎么判断呢?究竟是按下了哪三个按键或者是同时把四个按键都按下了呢?

这个时候,大多数键盘选择的方式,就是按照一个固定的规则输出固定的

按键组合代码,对于其他可能的组合方式统统予以忽略,换句话说,在上面的

键盘中,可能无论你怎么按这四个按键,它可能永远只会输出"Q"-"E"-"D"的组合,尽管可能你按下的实际是"Q"-"A"-"D"(这里只是一个假设,实际上为了避

免误码,大多数键盘根本只输出两个按键而已)。于是,"键位冲突"就出现了。

由于非编码键盘的固有结构,"键位冲突"是不可避免的。于是就需要键盘

的设计者绞尽脑汁修改键盘的线路排列和待查表格,尽量使可能会有的常用组

合按键避开冲突键位--尽管要做到所有的按键都不发生冲突是不可能的,但你

总不能让Ctrl-Alt-Del相互冲突吧?那这样的键盘还怎么用?还有如果四个方向键相互冲突,那赛车类的游戏还怎么玩?

不过,由于市场上的游戏实在太多,每个游戏都可能会有自己常用的按键组合,甚至每个人都有自己的习惯按键,键盘的设计者当然不可能面面俱到,有经验的设计师可能会考虑得多一些,至少对最常见的游戏和最常见的按键设置能够保证不出现问题,但要考虑到所有情况当然是不可能的。

所以,当你购买键盘的时候,绝对不要忽略"键位冲突"的问题,一定要把键盘装到电脑上,试一试自己常玩的游戏是否能够正常使用(只有实际试用才能试出键位冲突问题,由于它与键位表相关,所以看外表是看不出来的)。同时,一些游戏高手朋友也不要白费心机去寻找什么"没有键位冲突的键盘"了,只要它依然是非编码键盘,那么键位冲突就是不可避免的,只要它的键位冲突不对你所玩的游戏构成影响,这就足够了。

PS/2协议分析

The PS/2 mouse and keyboard implement abidirectional synchronous serial protocol.

PS/2鼠标和键盘执行一个双向同步串行协议。

The bus is"idle"when both lines are high(open-collector).

总线空闲时,两条线都是高电平(集电极开路)。

This is the only state where the keyboard/mouse is allowed begin transmitting data.

在这种状态下,键盘/鼠标才允许开始传输数据。

The host has ultimate control over the bus and may inhibit communication at any time by pulling the Clock line low.

主机对总线有最高的控制权,在任何时候通过将时钟线拉低就可以禁止通信。

The device always generates the clock signal.

时钟信号总是由设备端生成的。

If the host wants to send data,it must first inhibit communication from the device by pulling Clock low.

如果主机想发送数据,它必须先将时钟拉低来禁止来自设备端的通信。

The host then pulls Data low and releases Clock.

然后主机再拉低数据线,释放时钟。--CETagParser~color=red~----

/CETagParser--注释:释放时钟,就是再恢复时钟为高--

CETagParser~/color~----/CETagParser--

This is the"Request-to-Send"state and signals the device to start generating clock pulses.

这就是"请求发送(Request-to-Send)"状态,提示设备端开始生成时钟信号。

Summary:Bus States Data=high,Clock=high:Idle state.

Data=high,Clock=low:Communication Inhibited.

Data=low,Clock=high:Host Request-to-Send

总结:总线状态

数据0 1

0---通信禁止---

时钟

1主机要求发送总线空闲

The clock and data pins are bidirectional,open-collector signals that are pulled to 5V by pullup resistors in the keyboard.

时钟和数据引脚时双向集电极开路的信号,可以被键盘内部的上拉电阻拉高到5V Data sent from the device to the host is read on the falling edge of the clock signal;data sent from the host to the device is read on the rising edge.

从设备发送给主机的数据时在时钟信号的下降沿读取的;从主机发给设备的数据是在上升沿读取的。

The clock frequency must be in the range 10-16.7 kHz.This means clock must be high for 30-50 microseconds and low for 30-50 microseconds.

时钟频率必须在10-16.7KHz之间。这意味着时钟必须是高电平持续30~50毫秒,低电平持续

30~50毫秒。

If you're designing akeyboard,mouse,or host emulator,you should modify/sample the Data line in the middle of each cell.I.e.15-25 microseconds after the appropriate clock transition.

如果你设计一个键盘鼠标或者主机模拟器,你必须在每个单元的中间时刻(也就是,在时钟跳变之后的15~25毫秒后)修改/取样数据线.

Again,the keyboard/mouse always generates the clock signal,but the host always has ultimate control over communication.

重复一遍,键盘/鼠标总是生成时钟信号,而主机控制着整个通信过程。

Timing is absolutely crucial.Every time quantity Igive in this article must be followed exactly.

时序是非常重要的。在本文中给出的时间数必须严格遵循。

设备发送数据到主机

The Data and Clock lines are both open collector.

数据和时钟线都是集电极开路的。

A resistor is connected between each line and+5V,so the idle

state of the bus is high.

在+5V和每根线之间连接着一个电阻,所以总线的空闲状态是高电平。

When the keyboard or mouse wants to send information,it first checks the Clock line to make sure it's at ahigh logic level.

当键盘或者鼠标想发送数据时,它首先必须检查时钟线,确认它处于高电平。

If it's not,the host is inhibiting communication and the device must buffer any to-be-sent data until the host releases Clock.

如果不是,主机禁止通信,设备必须缓冲任何要发送的数据,直到主机释

放时钟。

The Clock line must be continuously high for at least 50 microseconds before the device can begin to transmit its data.

在设备开始传输数据之前,时钟线必须持续为高电平的时间必须至少50ms The keyboard/mouse writes abit on the Data line when Clock is

high,and it is read by the host when Clock is low.

当时钟为高电平时,键盘/鼠标写一个bit到数据线上;当时钟为低电平时,主机从数据线上读取这个bit。

The Data line changes state when Clock is high and that data is valid when Clock is low.

当时钟位高时,数据线改变状态;

当时钟位低时,(数据线上的)数据是有效的。

The clock frequency is 10-16.7 kHz.

时钟频率是10-16.7KHz The time from the rising edge of aclock pulse to aData transition must be at least 5microseconds.

从时钟脉冲的上升沿到数据跳变的时间必须至少5ms The time from adata transition to the falling edge of aclock pulse must be at least 5microseconds and no greater than 25 microseconds.

从数据跳变到时钟脉冲的下降沿必须至少5ms,且不超过25ms The host may inhibit communication at any time by pulling the Clock line low for at least 100 microseconds.

主机可在任何时间禁止通信,只需要将时钟线下拉位低电平超过100ms即可

If atransmission is inhibited before the 11th clock pulse,the device must abort the current transmission and prepare to retransmit the current"chunk"of data when host releases Clock.

如果在第11个脉冲时禁止传输,设备必须中止当前的传输,准备重新传输当前的数据"chunk(块)"当主机释放时钟时

A"chunk"of data could be amake code,break code,device ID,mouse movement packet,etc.

一个数据块可能时通码,断码,设备ID,鼠标移动包等等。

For example,if akeyboard is interrupted while sending the second byte of atwo-byte break code,it will need to retransmit both bytes of that break code,not just the one that was interrupted.

举个例子,如果当发送一个两字节断码的第2个字节时,键盘被中断,它将需要重新发送

此断码的两个字节,而不仅仅时被中断掉的那个字节。

If the host pulls clock low before the first high-to-low clock transition,or after the falling edge of the last clock pulse,the keyboard/mouse does not need to retransmit any data.

如果在第一个高-低时钟跳变时,(或者在最后一个时钟脉冲的下降沿之后)主机将时钟拉低,键盘/鼠标不必重新传输任何数据。

However,if new data is created that needs to be transmitted,it will have to be buffered until the host releases Clock.

但是,如果新产生的数据需要传输,它必须将数据缓冲,知道主机释放时钟。

Keyboards have a16-byte buffer for this purpose.If more than 16 bytes worth of keystrokes occur,further keystrokes will be ignored until there's room in the buffer.

键盘有一个16字节的缓冲区。如果有超过16个字节的击键存在,更多的击键将被忽略。直到

缓冲区有空地。

Mice only store the most current movement packet for transmission.

鼠标只能缓冲最近的一个要传输的(移动)数据包。

--CETagParser~code~--

--/CETagParser--时间参数最大值/最小值

T1数据跳变到时钟的下降沿5/25 us T2时钟的上升沿到数据跳变5/T4-5 us T3时钟inactive 30-50 us T4时钟active 30-50 us T5 0/50 us--CETagParser~/code~--

--/CETagParser--

Time to auxiliary device inhibit after clock 11 to ensure the auxiliary device does not start another transmission The auxiliary device checks the'clock'line.If the line is inactive,output from the device is not allowed.

辅助设备(指键盘)检查时钟线,如果时低电平,禁止发送数据

The auxiliary device checks the'data'line.If the line is inactive,the controller receives data from the system.

设备检查数据线,如果是低电平,那么控制器从系统接收数据

The auxiliary device checks the'clock'line during the transmission at intervals not exceeding 100 microseconds.If the device finds the system holding the'clock'line inactive,the tr ansmission is terminated.The system can terminate transmission anytime during the first 10 clock cycles.

设备在传输过程中检查时钟线间隔不超过100us。如果设备发现主机系统将电平拉低,就终止传输。在传输过程的前10个时钟周期的任何时候,主机系统可以中止传输。

A final check for terminated transmission is performed at least 5microseconds after the 10th clock.

终止传输的最后一个检查要持续至少5us The system can hold

the'clock'signal inactive to inhibit the next transmission.

系统拉低时钟线,将禁止下一次传输

The system can set the'data'line inactive if it has abyte to transmit to the device.The'data'line is set inactive when the start bit(always 0)is placed on the'data'line.

系统如果有一个字节要传输给设备,可以拉低数据线。当开始位(总是0)

放置到数据线时,数据线被拉低。

The system raises the'clock'line to allow the next transmission.

系统拉高时钟将允许下一次传输

Host-to-Device主机到设备的通信

First of all,the PS/2 device always generates the clock signal.

首先,PS/2设备总是产生时钟信号

If the host wants to send data,it must first put the Clock and Data lines in a"Request-to-send"state as follows:

如果主机想发送数据,它必须先将时钟线和数据线设置成"Request-to-send"状态:

1)Inhibit communication by pulling Clock low for at least 100 microseconds.

拉低时钟线至少100us来禁止通信

2)Apply"Request-to-send"by pulling Data low,then release Clock.

拉低数据线,请求"Request-to-send",然后释放时钟.

The device should check for this state at intervals not to exceed 10 milliseconds.

设备应该在不超过10ms(注意,是毫秒)的间隔内就要检查一次这个状态。

When the device detects this state,it will begin generating Clock signals and clock in eight data bits and one stop bit.

当设备检测到这个状态,它将开始产生时钟信号,

The host changes the Data line only when the Clock line is

low,and data is read by the device when Clock is high.

只有当时钟线为低的时候,主机才可以改变数据线(也就是将数据写入到数据线)。数据将在时钟为高电平的时候被设备读取。

After the stop bit is received,the device will acknowledge the received byte by bringing the Data line low and generating one last clock pulse.

在收到停止位之后,设备将通过拉低数据线,生成最后一个时钟脉冲来应答收到的字节

If the host does not release the Data line after the 11th clock pulse,the device will continue to generate clock pulses until the the Data line is released(the device will then generate an error.)

在第11个时钟脉冲之后,如果主机并没有释放数据线,设备将继续产生时钟脉冲,直到数据线被释放(然后设备将产生一个错误)

The host may abort transmission at time before the 11th clock pulse(acknowledge bit)by holding Clock low for at least 100 microseconds.

在第11个脉冲之前(回应位),主机可以随时中止传输,只要拉低时钟持续100us即可

--CETagParser~code~--

--/CETagParser--时间参数最大值/最小值

T7时钟低电平30-50 us T8时钟高电平30-50 us T9 30-50 us--CETagParser~/code~--

--/CETagParser--

T9==Time from inactive to active CLK transition,used to time when the auxiliary device samples DATA FreeScale(Moto)提供的时序图

主机到键盘的数据传输

1.主机通过拉低时钟线来启动一个主机到键盘的数据传输。大约35us后,主机拉低数据线

。这个事件序列就是通知键盘,主机要传输一个命令了。在数据信号的下降沿大约125us后时钟信号释放,就被键盘内部的上拉电阻拉为高电平。

2.在时钟信号的上升沿约1ms,数据传输开始。这个期间,数据线保持低

电平。键盘拉低时钟线,clocking in the low data line.这个就做传输的起始位。

3.键盘用时钟驱动8个数据位从主机传输到自己这边。这个时钟有50%的

占空比(duty cycle).高电平和低电平的时间都在30~50us之间。主机在每个周期的低电平的时候改变数据线上的数据。在每个时钟的上升沿5~25us之后键盘开始从数据线上取样,取出主机发来的数据。

4.数据位之后是一个奇偶校验位(采用奇校验)

5.最后是停止位

6.如果键盘读到一个高电平的停止位,键盘就在取样停止位的那个时钟的下降沿之后的低电平期间拉低数据线。这个行为叫做键盘给主机的应答信号。

键盘拉高时钟之后,也拉高数据线。

7.在收到一个字节后,键盘对接收的数据执行一个奇偶校验。如果奇偶校验错误,或者接收的数据无法识别为有效的命令,那么键盘请求重新发送(发送0xFE给主机)

1.键盘发送数据前,首先必须让时钟和数据线都在键盘内部的上拉电阻作用下拉成高电平。然后键盘拉低数据线,5-25us之后,键盘拉低时钟线。在时

汽车电脑板的工作原理及检修方法

汽车电脑板的工作原理及检修方法 汽车电脑是按照预定程序自动地对各种传感器的输入信号进行处理,然后输出信号给执行器,从而控制汽车运行的电子设备。 汽车电脑的分类 目前汽车电脑已经得到了广泛的应用,例如车身电脑、发动机电脑、变速器电脑以及ABS电脑等。虽然不同车型上配置的电脑数量和类型不尽相同,但总的发展趋势是用一台主电脑处理大多数传感器的输入信号,用一些较小的电子控制单元控制其他系统。 汽车电脑的构成 汽车电脑的主要部分是单片机,单片机是一块集成了微处理器(CPU)、存储器以及输入和输出接口的电路板。微处理器是单片机的核心部件,微处理器将输入模拟信号转化为数字信号,并根据存储的参考数据进行对比处理,计算出输出值,输出信号经过功率放大后控制执行器,例如喷油器和继电器等。随着单片机计算能力和内存容量越来越大,汽车电脑的功能也越来越多。 汽车电脑的工作过程 (1)信号过滤和放大输入电路接收传感器和其他装置的输入信号,并对信号进行过滤和放大。输入信号放大的目的是使信号增加到汽车电脑可以识别的程度,某些传感器,例如氧传感器,产生一个小于1V 的低电压信号,只能产生极小的电流,这样的信号送入电脑内的微处理器之前必须放大,这个放大作用由电脑中输入芯片中的放大电路来完成。 (2)模数 (A/D)转换由于很多传感器产生的是模拟信号,而微处理器处理的是数字信号,所以必须把模拟信号转换为数字信号,这项工作由电脑输入芯片中的模数转换器完成。模数转换器以固定的时间间隔不断对传感器的模拟输入信号进行扫描,并对模拟信号赋予固定的数值,然后将这个固定值转换成二进制码。在一些汽车电脑中,输入处理芯片和微处理器制成一体。 (3)微处理器将已经预处理过的信号进行运算,并将处理后的数据送至输出电路。输出电路将数字信号放大,有些还要还原为模拟信号,以驱动执行元件工作。 随着汽车电子化和自动化程度的提高,汽车电脑将越来越多,这样必将导致车身线束日益复杂。为了实现多个汽车电脑之间的信息快速传递、简化电路以及降低成本,汽车电脑之间要采用通信网络技术连成一个网络系统。例如变速器需要与发动机协调配合,根据车速、发动机转速以及动力负荷等因素自动进行换挡,因此变速器电脑需要得到节气门位置传感器、车速传感器、水温传感器以及发动机转速传感器等信号,这就要实现变速器电脑与发动机电脑之间的信息传递,这个工作通常是由 CAN总线来完成的。 汽车电脑的特点 (1)汽车需要在不同的道路和气候条件下行驶,汽车电脑的工作环境较差,经常需要承受振动以及温度和湿度的变化。汽车电脑的电源电压变化较大,而且还受到车内外电磁波的干扰,因此汽车电脑需要很高的可靠性和对环境的耐久性。 (2) 汽车电脑必须具有足够的智能化,具有自诊断和检测能力,能及时发现系统中存在的故障,并存储故障码,告知维修人员故障可能存在的部位,以便于维修。例如安全气囊在关键时刻必须要及时、正确、迅速地打开,但在大多数时候气囊是处于待命状态,因此安全气囊电脑必须具有自检能力,不断确认气囊系统是否正常工作。 (3)除少数例外,所有汽车电脑都使用5V电源驱动其传感器。在电子工业中,5V电压几乎普遍作为传送信息的标准。这个电压对传送可靠性来说已经足够高,而对电脑芯片的安全性来说足够低,而且使用计算机工业标准电压,对于汽车制造商来说会使电子零部件制造规范而且成本低。 汽车电脑的检修 汽车电脑内部电路可以分为两部分,即包括输入、输出以及转换电路的常规电路和微处理器。常规电路大多采用通用的电子元件,如果损坏一般是可以修复的。在实际使用过程中,汽车电脑的故障大多发生在常规电路中。如果要维修汽车电脑,首先要确定是电脑故障,以免盲目修理,造成不必要的时间浪费和引起其他电路故障。

单片机矩阵式键盘连接方法及工作原理

矩阵式键盘的连接方法和工作原理 什么是矩阵式键盘?当键盘中按键数量较多时,为了减少I/O 口线的占用,通常将按键排列成矩 阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样做有什么好处呢?大家看下面的电路图,一个并行口可以构成4*4=16 个按键,比之直 接将端口线用于键盘多出了一倍,而且线数越多,区别就越明显。比如再多加一条线就可以构成20 键 的键盘,而直接用端口线则只能多出一个键(9 键)。由此可见,在需要的按键数量比较多时,采用矩 阵法来连接键盘是非常合理的。 矩阵式结构的键盘显然比独立式键盘复杂一些,识别也要复杂一些,在上图中,列线通过电阻接 电源,并将行线所接的单片机4 个I/O 口作为输出端,而列线所接的I/O 口则作为输入端。这样,当按 键没有被按下时,所有的输出端都是高电平,代表无键按下,行线输出是低电平;一旦有键按下,则输 入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了,具体的识别及编程方法如下 所述: 二.矩阵式键盘的按键识别方法 确定矩阵式键盘上任何一个键被按下通常采用“行扫描法”或者“行反转法”。行扫描法又称为 逐行(或列)扫描查询法,它是一种最常用的多按键识别方法。因此我们就以“行扫描法”为例介绍矩 阵式键盘的工作原理: 1.判断键盘中有无键按下 将全部行线X0-X3 置低电平,然后检测列线的状态,只要有一列的电平为低,则表示键盘中有键 被按下,而且闭合的键位于低电平线与4 根行线相交叉的4 个按键之中;若所有列线均为高电平,则表 示键盘中无键按下。 2.判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平(即在 置某根行线为低电平时,其它线为高电平),当确定某根行线为低电平后,再逐行检测各列线的电平状 态,若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 下面给出一个具体的例子: 单片机的P1 口用作键盘I/O 口,键盘的列线接到P1 口的低4 位,键盘的行线接到P1 口的高4

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

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 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

汽车EPS系统原理

从上世纪50年代出现了汽车助力转向系统以来,经历了机械式、液压式、电控液压式等阶段,80年代人们开始研制电子控制式电动助力转向系统,简称 EPS(ElectricPowerSteering)。EPS在机械式助力转向系统的基础上,用输入轴的扭矩信号和汽车行驶速度信号控制助力电机,使之产生相应大小和方向的助力,获得最佳的转向特性。EPS用仅在转向时才工作的助力电机替代了在汽车运行过程中持续消耗能量的液压助力装置,简化了结构,降低了能耗,动态地适应不同的车速条件下助力的特性,操作轻便,稳定性和安全性好,同时,不存在油液泄漏和液压软管不可回收等问题。可以说,EPS是集环保、节能、安全、舒适为一体的机电一体化设计。 电动助力转向系统EPS是当前世界最发达的转向助力系统,20世纪80年代,日本铃木公司首次开发。因其具有独特的按需助力、随动跟踪、反映路感、节能高效、环保免维护、系统成本低等一系列优点,在中小排量汽车中即将以较大产品份额取代液压助力转向总成(HPS)。与传统的转向系统相比较,汽车电动助力转向系统(EPS)结构简单,灵活性好,能充分满足汽车转向性能的要求,在操作的舒适性、安全性和节能、环保等方面显示出显著的优越性。 EPS的特点及工作原理 (1)EPS系统的特点。 随着电子技术的发展,电子技术在汽车上的应用越来越广泛。电动助力转向已成为汽车动力转向系统的发展方向。 由于采用动力转向可以减少驾驶员手动转向力矩,改善汽车的转向轻便性,因此在商用车、中高级轿车和轻型车上得到广泛的应用。传统的动力转向系大多采用固定放大倍数的液压动力转向,缺点是不能实现汽车在各种车速下驾驶时的轻便性和路感。为了克服以上缺点,研制出电子控制液压动力转向系(EHPS),使汽车在各种速度下都能得到满意的转向助力。但EHPS 系统结构更复杂、价格更昂贵,而且效率低、能耗大。 EPS是一种机电一体化的新一代汽车智能转向助力系统。与液压动力转向系统(HPS)相比,有如下优点: 1 效率高,HPS系统效率一般为60%~70%,而EPS系统效率可达90%以上; 2 能耗少,对于HPS系统,汽车燃油消耗率增加4%~6%;而EPS系统汽车燃油消耗率仅增加%左右; 3 路感好,使汽车在各种速度下都能得到满意的转向助力; 4 回正性好,EPS系统内部阻力小,可得到最佳的回正特性; 5 对环境污染少,EPS对环境几乎没有污染; 6 可以独立于发动机工作,EPS系统只要电源电力充足,即可产生助力;

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

按键控制键盘检测原理与应用 一、任务目标: 认知目标 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()函数是检查有没有按键

基于单片机的键盘和LED数码管工作原理

基于单片机的键盘和LED数码管工作原理 摘要:键盘和显示器是微机最常见的输入输出设备。本文介绍键盘和LED显示器的基本工作原理,并给出在8051基础上的电路结构及C语言代码。 关键字:键盘,LED,单片机 键盘是微型计算机系统中最基本、最常见的输入设备。在各种工业过程的计算机控制和监视系统中,广泛应用发光二极管向用户提供提示。由发光二极管可以构成7段/8段LED显示器,用于显示工作状态、参数数值和故障位置。一.键盘的工作原理 键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。 (一)键盘的基本介绍 1.键盘的功能 键盘接口必须具有4个基本功能: 1.去抖动 2.防串键 3.识别被按键并产生与之对应的键码 4.释放键 而键码产生后如何去实现按键的特定功能,是操作系统和应用程序的任务2.键盘的分类 根据按键开关的排列方式,键盘可分为线性键盘和矩阵键盘。 线性键盘:硬件连接和接口程序都很简单,只适用于按键少的场合,因为线性键盘有多少按键,就需要有多少根连线与微机输入端口相连。 矩阵键盘:将按键排成n行m列,每个按键占据行列的一个交点,需要的外连接线数目是m+n,而容许的最大按键数是m*n,显然可以减少微机接口的连线,是一般微机常采用的键盘结构。 3.键盘与单片机的连接方式 矩阵键盘的连接方法有多种。可直接连接于单片机的I/O口线;可利用扩展的并行I/O口连接;也可利用可编程的键盘、显示接口芯片(如8297)进行连接等等。其中,利用扩展的并行I/O口连接方便灵活,在单片机应用系统中比较常用。下图就是通过8255A芯片扩展的并行I/O口连接的矩阵键盘。

键盘工作原理

键盘工作原理 一、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”等。

汽车电脑工作原理介绍

汽车电脑是按照预定程序自动地对各种传感器的输入信号进行处理,然后输出信号给执行器,从而控制汽车运行的电子设备。 汽车电脑的分类 目前汽车电脑已经得到了广泛的应用,例如车身电脑、发动机电脑、变速器电脑以及ABS电脑等。虽然不同车型上配置的电脑数量和类型不尽相同,但总的发展趋势是用一台主电脑处理大多数传感器的输入信号,用一些较小的电子控制单元控制其他系统。 汽车电脑的构成 汽车电脑的主要部分是单片机,自体脂肪胸胸多少钱单片机是一块集成了微处理器(CPU)、存储器以及输入和输出接口的电路板。微处理器是单片机的核心部件,微处理器将输入模拟信号转化为数字信号,并根据存储的参考数据进行对比处理,计算出输出值,输出信号经过功率放大后控制执行器,例如喷油器和继电器等。随着单片机计算能力和内存容量越来越大,汽车电脑的功能也越来越多。 汽车电脑的工作过程 (1)信号过滤和放大输入电路接收传感器和其他装置的输入信号,并对信号进行过滤和放大。输入信

号放大的目的是使信号增加到汽车电脑可以识别的程度,某些传感器,例如氧传感器,产生一个小于1V 的低电压信号,只能产生极小的电流,上海整形医院这样的信号送入电脑内的微处理器之前必须放大,这个放大作用由电脑中输入芯片中的放大电路来完成。 (2)模数(A/D)转换美白针由于很多传感器产生的是模拟信号,而微处理器处理的是数字信号,所以必须把模拟信号转换为数字信号,这项工作由电脑输入芯片中的模数转换器完成。模数转换器以固定的时间间隔不断对传感器的模拟输入信号进行扫描,并对模拟信号赋予固定的数值,然后将这个固定值转换成二进制码。在一些汽车电脑中,输入处理芯片和微处理器制成一体。 (3)微处理器将已经预处理过的信号进行运算,https://www.360docs.net/doc/f69977315.html,/ 并将处理后的数据送至输出电路。输出电路将数字信号放大,有些还要还原为模拟信号,以驱动执行元件工作。 随着汽车电子化和自动化程度的提高,汽车电脑将越来越多,这样必将导致车身线束日益复杂。为了实现多个汽车电脑之间的信息快速传递、简化电路以及降低成本,汽车电脑之间要采用通信网络技术连成一个网络系统。例如变速器需要与发动机协调配合,根据车速、发动机转速以及动力负荷等因素自动进行换挡,因此变速器电脑需要得到节气门位置传感器、车速传感器、水温传感器以及发动机转速传感器等信号,这就要实现变速器电脑与发动机电脑之间的信息传递,这个工作通常是由CAN总线来完成的。 汽车电脑的特点 (1)汽车需要在不同的道路和气候条件下行驶,汽车电脑的工作环境较差,经常需要承受振动以及温度和湿度的变化。汽车电脑的电源电压变化较大,而且还受到车内外电磁波的干扰,因此汽车电脑需要很高的可靠性和对环境的耐久性。 (2)汽车电脑必须具有足够的智能化,具有自诊断和检测能力,能及时发现系统中存在的故障,并存储故障码,告知维修人员故障可能存在的部位,以便于维修。例如安全气囊在关键时刻必须要及时、正确、迅速地打开,但在大多数时候气囊是处于待命状态,因此安全气囊电脑必须具有自检能力,不断确认气囊系统是否正常工作。 (3)除少数例外,所有汽车电脑都使用5V电源驱动其传感器。在电子工业中,5V电压几乎普遍作为传送信息的标准。这个电压对传送可靠性来说已经足够高,而对电脑芯片的安全性来说足够低,而且使用计算机工业标准电压,对于汽车制造商来说会使电子零部件制造规范而且成本低。 汽车电脑的检修 汽车电脑内部电路可以分为两部分,即包括输入、输出以及转换电路的常规电路和微处理器。常规电路大多采用通用的电子元件,如果损坏一般是可以修复的。在实际使用过程中,汽车电脑的故障大多发生在常规电路中。如果要维修汽车电脑,首先要确定是电脑故障,以免盲目修理,造成不必要的时间浪费和引起其他电路故障。 (1)确定电脑是否损坏确定电脑损坏的通常方法是在相关传感器信号都能正常输入电脑的情况下,电脑却不能正确输出控制信号来驱动执行器。这句话虽然简单,但这需要很多具体细致的基础检查工作。例如发动机无法起动,经过检查确定起动时喷油器插头上无频率电压,在检查相关电路正常而且起动信号可以正常输入发动机电脑,但是电脑没有输出驱动信号给喷油器,这样就可以断定发动机电脑内部故障。 (2)按照电路寻找损坏元件根据电路图或实际线路的走向找到与喷油器连接的相应电脑端子,然后用数字万用表的通断挡从确定的电脑端子开始,沿着电脑的印刷电路查找,直至找到某个三极管。这是因为电脑通常采用大功率三极管放大执行信号以驱动执行器,所以此类故障的原因大多是一个起着开关作用的三极管短路所致。 (3)测量三极管确定三极管的3个极。与印刷线路对应的管脚为三极管的集电极,旁边较细的印刷线是基极。确认方法是,将发动机电脑多孔插头插上,起动发动机,使用万用表的电压挡连接到要确认的印刷线,显示5V则为基极。用万用表测试三极管,如果发现集电极(c)与基极(b)的正反向电阻无穷大,则说明三极管已经断路;如果发现集电极(c)与发射极(e)之间的电阻为零,则说明三极管已经被击穿。另外,还需要测量三极管附近相连的其他三极管和二极管。 (4)确定替换用的三极管确定三极管的型号大致有以下几个方法:①型号。查看三极管上的型号,通

矩阵式键盘的结构与工作原理

矩阵式键盘的结构与工作原理 在键盘中按键数量较多时为了减少I/O 口的占用通常将按键排列成矩阵形式如图1 所 示在矩阵式键盘中每条水平线和垂直线在交叉处不直接连通而是通过一个按键加以连 接这样一个端口如P1 口就可以构成4*4=16 个按键比之直接将端口线用于键盘 多出了一倍而且线数越多区别越明显比如再多加一条线就可以构成20 键的键盘而 直接用端口线则只能多出一键9 键由此可见在 需要的键数比较多时采用矩阵法来做键盘是合理的 矩阵式结构的键盘显然比直接法要复杂一些识别也要复杂一些上图中列线通过电 阻接正电源并将行线所接的单片机的I/O 口作为输出端而列线所接的I/O 口则作为输入这样当按键没有按下时所有的输出端都是高电平代表无键按下行线输出是低电平 一旦有键按下则输入线就会被拉低这样通过读入输入线的状态就可得知是否有键按下 了具体的识别及编程方法如下所述 矩阵式键盘的按键识别方法 确定矩阵式键盘上何键被按下介绍一种行扫描法 行扫描法 行扫描法又称为逐行或列扫描查询法是一种最常用的按键识别方法如上图所示 键盘介绍过程如下 判断键盘中有无键按下将全部行线Y0-Y3 置低电平然后检测列线的状态只要有一 列的电平为低则表示键盘中有键被按下而且闭合的键位于低电平线与4 根行线相交叉的4 个按键之中若所有列线均为高电平则键盘中无键按下 判断闭合键所在的位置在确认有键按下后即可进入确定具体闭合键的过程其方法 是依次将行线置为低电平即在置某根行线为低电平时其它线为高电平在确定某根行 线位置为低电平后再逐行检测各列线的电平状态若某列为低则该列线与置为低电平的 行线交叉处的按键就是闭合的按键 下面给出一个具体的例子 图仍如上所示8031 单片机的P1 口用作键盘I/O 口键盘的列线接到P1 口的低4 位 键盘的行线接到P1 口的高4 位列线P1.0-P1.3 分别接有4 个上拉电阻到正电源+5V 并把列线P1.0-P1.3 设置为输入线行线P1.4-P.17 设置为输出线4 根行线和4 根列线形成16 个相交点 检测当前是否有键被按下检测的方法是P1.4-P1.7 输出全0 读取P1.0-P1.3 的状态 若P1.0-P1.3 为全1 则无键闭合否则有键闭合 去除键抖动当检测到有键按下后延时一段时间再做下一步的检测判断 若有键被按下应识别出是哪一个键闭合方法是对键盘的行线进行扫描P1.4-P1.7 按下 述4 种组合依次输出 P1.7 1 1 1 0 P1.6 1 1 0 1 P1.5 1 0 1 1 P1.4 0 1 1 1 在每组行输出时读取P1.0-P1.3 若全为1 则表示为0 这一行没有键闭合否则 有键闭合由此得到闭合键的行值和列值然后可采用计算法或查表法将闭合键的行值和列值转换成所定义的键值 为了保证键每闭合一次CPU 仅作一次处理必须却除键释放时的抖动__

汽车电脑工作原理

汽车电脑工作原理 -----车载计算机的工作原理 近来轿车事业迅猛发展,各种新技术新装备越来越多的应用在轿车中,使轿车维修工作进入一个新阶段。这一发展趋势要求我们从一个较高的起点起步并要求我们不断的学习国内国外新型轿车的构造和原理和维修知识, 现代轿车的重要标志是大量应用电子技术和计算机技术,例如:电控燃油喷射发动机、电控自动变速器、迅航系统、安全气囊系统、置动防抱死系统(ABS ECU)以及波轮增压系统、电控悬架防盗系统和相应的检测仪器等,其核心都是计算机控制。要开展这些系统的维修工作必须从学习车载计算机入手 计算机控制 什么是计算机控制呢 计算机控制这个术语简单的说,就是研究如何用机电设备重复人体动作,用人体与计算机作个比较,可以帮助我们理解这个问题,正如人的大脑,能够分析、处理、传递信息,并能够控制人肢体一样。车载计算机也能够分析、处理、传递信息和控制汽车的各个部分。

例如:当你的手指触到针尖你会感到疼痛,手指的神经细胞便会产生信号,将痛的信息经过神经中 枢传递到大脑,大脑是一个由亿万个神经细胞相互连接的复杂网络,类似一台功能强大的计算机,他能处理来自神经系统的信号,并能确定应该做出什么行动, 其中神经细胞可以比做汽车上的传感器,将收集到的各种信号输入计算机。

计算机系统与人类系统的对应关系为: 爆震传感器输入类似于人类的听觉输入、氧传感器输入类似于人类的嗅觉输入、压力传感器输入类似于人类的触觉输入、低油位传感器输入类似于人类的味觉输入等。针刺产生的生化电信号传递到大脑的特定区域,这个区域内的细胞便会分析、研究这个信号或称对信号进行组织或选择应对程序,由于信号告诉大脑手指将要受伤大脑便发出指令立即收回手指,保护我

电脑键盘工作原理

电脑键盘工作原理 随着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来控制键盘接口工作。 从用途上看,键盘可分为台式机键盘、笔记本电脑键盘和工控机键盘三大类;其中台式机键

修订矩阵键盘的工作原理

修订矩阵键盘的工作原 理 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 数码管电路 数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示

汽车起动机的工作原理

汽车起动机的工作原理 速,才能启动内燃机。汽车发动机常 用的启动方式有人力启动和电力启动机启 动两种。 人力启动(手摇)最简单,但劳动强度大, 且不安全,目前只作为后备启动方式。电力 启动机启动具有操作方 便、启动迅速可靠、 有重复启动能力等特点,因而被广泛采用。 用于启动内燃机的电动机及附属装置,叫作 启 动装置0 -2 .对启动电动机的基本要求 (1) 必须有足够的转矩和转速 转矩和 转速是对 1柯框 1 也硏?■ 4 ■卫 II *? 10' 14 ovHDrwrM&? U H H 巒IE i|T?? ft'IJL VM WR?Hfwi *3LD 乍 viTWMJ Hit 劃 誨 TfchMDiJLL Cm~DB 11,?? 2 VH4 II 八■■ I3.lt 『 ?■■ tlVBLH*B4 i 诃IL 嗨 Mi P MIWI ^JUHS NUtnM& raliM vvM-Mwniit OM JL H RB FF- H-Ht i* *W? ?■ ■良 TI ■-^-■■niH miiT? AWM^TlTiF W UFmD mxt : IJkdlh *. 、概述 1 .启动机功用 汽车发动机是靠外力启动的,必须依靠 外力使曲轴旋转,并要求曲轴的旋转达到一 定的转 因为:

电动机最主要的要求,

有关。对于构造一定的发动机来说,当温度降低时,润滑油的黏度增大,阻力矩显著增加;在启动加速过程中, 还要克服各运动机件的惯性力,故启动电动机必须具备足够的转矩。’ 2)要保证启动发动机除具备足够转矩夕卜,还必须使发动机的转速升至一定程度。因为转速过低时,对于化油器式发动机来说?化油器中的气流速度过低,低压程度过?小,汽油不易喷出,也不易雾化,造成混合气过稀,发动机便不能发动。当温度较低(在冬天)时,雾化条件变坏,混合气变得更稀,启动更加因难。一般要求 化油器发动机的启动转速应在40, . -50转/分以上。 (2)转矩应能随转速的升高而降低因为在启动之初,曲轴由静止开始转动时,机’件作加速度运动须克服很大的静止惯性力,同时各摩擦部分处于半干摩擦状态,摩擦阻力较大,这时需要较大的启动转矩,才能带动发动机转动,并使转速很快升高,但随着曲轴转速升高,加速阻力减小,油膜也逐渐形成,所需的转矩相应减小,而当曲轴转速升至启动转速,发动机一旦发动后.自己就能够独立工作,就不需要电动机带着转动了。所以, 希望转矩能随着转速的升高而降低。 3?启动机的组成与分类 (1)启动机的组成电力启动机都是由直流串励式电动机、传动机构和控制装置三大部分组成(见图1)。 1)直流串励式电动机,其作用是产生电磁转矩。 2)传动机构(或称啮合机构),其作用是:在发动机启动时,使启动机小齿轮啮入飞轮齿圈,将启动机转矩 传给发动机曲轴;而在发动机启动后,使启动机自动脱开飞轮齿圈。 3)控制装置(即开关)用来接通与截断启动机与蓄电池间的电路。 常见发动机的启动装置是以蓄电池为电源的直流电动机,其电动机的启动动力必须超过发动汽缸的压缩压 力及其他摩擦阻力;必须具有足够的启动转矩,以便使发动机达到规定的转速。在满足上述要求的情况下,启动装置应尽可能小型轻量化。为此,启动装置除必须有直流电动机和附属装置外,还应有把电动机的动力传 递给发动机的动力传递机构。动力传递机构由转矩齿轮(飞轮上的齿环)和电动机轴上的小齿轮及行星减速机构组成。发动机启动时,小齿轮与转矩齿轮相啮合,电动机转动,通过减速机构将转矩扩大,再通过小齿轮驱动(2)启动机的分类启动机的种类很多,但电动机部分一般没有大的差别,传动机构和控制装置则差异较大。

4×4矩阵键盘的工作原理

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数码管电路 数码管不同位显示的时间间隔可以通过调整延时程序的延时长短来完成。数码管显示的时间间隔也能够确定数码管显示时的亮度,若显示的时间间隔长,显示时数码管的亮度将亮些,若显示的时间间隔短,显示时数码管的亮度将暗些。若显示的时间间隔过长的话,数码管显示时将产生闪烁现象。所以,在调整显示的时间间隔时,即要考虑到显示时数码管的亮度,又要数码管显示时不产生闪烁现象。

汽车自动变速器工作原理

汽车自动变速器工作原理 虽然现在市场上车型繁多,配备的自动变速器种类也繁多,但其控制和使用方法都大同小异。早几年,在国产车中最常见的是4前速自动变速器,现在很多车型更新换代,配备了5前速自动变速,奥迪A4甚至还配备了6前速自 虽然现在市场上车型繁多,配备的自动变速器种类也繁多,但其控制和使用方法都大同小异。早几年,在国产车中最常见的是4前速自动变速器,现在很多车型更新换代,配备了5前速自动变速,奥迪A4甚至还配备了6前速自动变速。 自动变速器看似复杂,事实上只要我们了解了其中一些简单参数的奥秘,那么在选购汽车时,自动变速器的好坏就可一目了然了。自动变速器最重要的参数就是挡位的个数。这一点凡是开过车的人都能理解,谁都愿意开挡位多的车。如果挡位越多,变速器与发动机动力的配合就会越紧密,能够把发动机的性能发挥得更好。但光看挡位的个数是不够的。事实上一台自动变速器的挡位多少并不是技术的核心,因为简单的增加行星齿轮组就能增加挡位。象奔驰,沃尔沃的商用货车,有的挡位甚至多达20多个。自动变速器的技术核心在它的控制机构。因为一台好的自动变速器,它的换挡品质必须做到响应速度快,换挡冲击小等特点。而这一切都需要靠设计和改进性能优良的控制机构得以实现。 自动变速器是通过各种液压多片离合器和制动闸限制或接通行星齿轮组中的某些齿轮得到不同的传动比的。所以换挡品质的好坏与这些离合器和制动器有直接关系。根据汽车挡次的不同,出于成本考虑,经济型车的自动变速器的控制机构通常被设计得很简单。如图:

上图为自动变速器中最常用的制动机构。它通过制动带来限制行星齿轮的运动。制动带在杠杆的推动下能迅速包紧被制动的齿轮或轴,从而产生强大的制动力达到限制行星齿轮运动的目的。杠杆是直接被顶杆推动的,顶杆的动力又来自液压。所以行星齿轮的制动完全由液压来决定。这种制动带式的设计,结构非常简单,成本也很低,常用于经济型车的自动变速器当中。但由于制动带制动非常唐突,制动力来得很猛,所以换挡震动相对较大。在高挡车中很少用这种设计。高挡车中用得较多的是多片离合器式制动设计。如下图: 上图是奥迪A4的自动变速器。绿色圆筐中的部分就是多片离合器式的行星齿轮制动机构。采用这种设计的自动变速箱能获得很好的换挡品质,换挡时动作非常柔和几乎感觉不到震动和换挡冲击,但制造维护成本很高。 早期的自动变速器通常都是机械控制的,最多只有少量电子系统作为辅助。机械式的自动变速器液压油路结构复杂,成本高,而且耐用性差,需要经常维护,维修费用也高得出奇。现代自动变速器基本上已经采用了电液一体化的设计,其实不单变速器是这样,现在很多自动化设计都是采用的电液一体化设计。所谓电液一体化,就是指用电子方式控制液压油路。这样就省去了各种复杂的液压控制阀和控制管路,直接用电磁阀取代液压阀。电磁阀最大的好处就是布置方便,可靠性和响应速度高。我们完全可以想象,是布置复杂的液压回路容易一些还是布置电线容易一些?答案当然是后者。电液一体化变速控制,除了上述优点以外,还有一个很大的好处就是控制方法更加智能化。因为电磁阀是直接与行车电脑相连的,电脑可以很容易的根据汽车的各种状态调整控制方式。不象纯液压控制那样,控制模式是固定不变的。所以在很多配备了电液一体化式的自动变速器的车上,有经济模式,运动模式,雪地模式可供选择。在经济模式下,电脑控制变速器在低转速换挡达到省油的目的;在运动模式下电脑控制变速器在高转速换挡发挥发动机的动力性能;在雪地模式下,电脑控制自动变速器直接用2挡起步,避免因轮胎打滑而失控。所以,这种电液控制的自动变速器给人的感觉就是非常智能化,非常听话。而这所有的控制模式只需要修改电脑程序就能实现,硬件方面不需要做任何改动,所以成本比传统自动变速器更低,性能却更高。

4X4矩阵式键盘输入程序

4*4键盘程序 readkeyboard: begin: acall key_on jnz delay ajmp readkeyboard delay:acall delay10ms acall key_on jnz key_num ajmp begin key_num:acall key_p anl a,#0FFh jz begin acall key_ccode push a key_off:acall key_on jnz key_off pop a ret key_on: mov a,#00h orl a,#0fh mov p1,a mov a,p1 orl a,#0f0h cpl a ret key_p: mov r7,#0efh l_loop:mov a,r7 mov p1,a mov a,p1 orl a,#0f0h mov r6,a cpl a jz next ajmp key_c next: mov a,r7 jnb acc.7,error rl a mov r7,a ajmp l_loop error:mov a,#00h ret key_c:mov r2,#00h mov r3,#00h mov a,r6 mov r5,#04h again1:jnb acc.0,out1 rr a inc r2 djnz r5, again1 out1: inc r2 mov a,r7 mov r5,#04h again2:jnb acc.4,out2 rr a inc r3 djnz r5,again2 out2: inc r3 mov a, r2 swap a add a,r3 ret key_ccode:push a swap a anl a,#0fh dec a rl a ;行号乘 4 rl a mov r7,a pop a anl a,#0fh dec a add a,r7 ret delay10ms: anl tmod,#0f0h orl tmod,#01h mov th0,#0d8h mov tl0,#0f0h setb tr0 wait:jbc tf0,over ajmp wait clr tr0 over:ret 单片机键盘设计 (二)从电路或软件的角度应解决的问题 软件消抖:如果按键较多,硬件消抖将无法胜任,常采用软件消抖。通常采用软件延时的方法:在第一次检测到有键按下时,执行一段延时10ms的子程序后,再确认电平是否仍保持闭合状态电平,如果保持闭合状态电平,则确认真正有键按下,进行相应处理工作,消除了抖动的影响。(这种消除抖动影响的软件措施是切实可行的。) 2.采取串键保护措施。串键:是指同时有一个以上的键按下,串键会引起CPU错误响应。 通常采取的策略:单键按下有效,多键同时按下无效。 3.处理连击。连击:是一次按键产生多次击键的效果。要有对按键释放的处理,为了消除连击,使得一次按键只产生一次键功能的执行(不管一次按键持续的时间多长,仅采样一个数据)。否则的话,键功能程序的执行次数将是不可预知,由按键时间决定。连击是可以利用的。连击对于用计数法设计的多功能键特别有效。 三、键盘工作方式 单片及应用系统中,键盘扫描只是CPU的工作内容之一。CPU忙于各项任务时,如何兼顾键盘的输入,取决于键盘的工作方式。考虑仪表系统中CPU任务的份量,来确定键盘的工作方式。 键盘的工作方式选取的原则是:既要保证能及时响应按键的操作,又不过多的占用CPU的工作时间。 键盘的工作方式有:查询方式(编程扫描,定时扫描方式)、中断扫描方式。

相关文档
最新文档