第9章人机接口_第1页
第9章人机接口_第2页
第9章人机接口_第3页
第9章人机接口_第4页
第9章人机接口_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章单片机系统人机接口技术实际系统中必不可少的组成:人机界面人机界面是系统必不可少的组成部分第九章单片机系统人机接口技术主要内容1.显示器接口技术2.键盘接口技术第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术9.1.1单片机应用系统中常用的显示器1.LED发光二极管显示器

2.LCD液晶显示器件

液晶显示器具有体积小、质量轻、低电压、微功耗、抗干扰能力强等优点,因此被广泛应用于各种便携式电子信息产品。与液晶显示器相比,更适于在光线暗的环境使用。它的主要缺点是工作电流较大。

9.1单片机系统显示器接口技术8.1LED显示器接口技术发光二极管的驱动发光二极管正常发光时,电流约为5~10mA,压降1V左右。限流电阻R=(5V-1V)/8mA=500ΩP1.0+5V500引脚输出低电平时,发光二极管导通。LED应用领域LED应用实例第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术9.1.2

LED显示器及其接口设计1.LED显示器的结构与工作原理组成:LED数码管由7段或8段发光二极管组成,在平面上排成8字型。分类:有共阴极和共阳极两种。+5VabcdefgDpGNDabcdefgDp显示原理:使某些段点亮而另一些段不亮就可以显示0---9,A---F等字型。共阳极共阴极abcdefgDp第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术字形段gfedcba共阳极代码共阴极代码字形段gfedcba共阳极代码共阴极代码0暗亮亮亮亮亮亮C0H3FH9亮亮暗亮亮亮亮90H6FH1暗暗暗暗亮亮暗F9H06HA亮亮亮暗亮亮亮88H77H2亮暗亮亮暗亮亮A4H5BHb亮亮亮亮亮暗暗83H7CH3亮暗暗亮亮亮亮B0H4FHC暗亮亮亮暗暗亮C6H39H4亮亮暗暗亮亮暗99H66Hd亮暗亮亮亮亮暗A1H5EH5亮亮暗亮亮暗亮92H6DHE亮亮亮亮暗暗亮86H79H6亮亮亮亮亮暗亮82H7DHF亮亮亮暗暗暗亮8EH71H7暗暗暗暗亮亮亮F8H07H全灭暗暗暗暗暗暗暗FFH00H8亮亮亮亮亮亮亮80H7FH表9-1LED显示器十六进制数的段码表

段码的显示可用硬件译码和软件查表方法实现。使用LED显示器时要注意区分这两种不同方法所适用的硬件译码器件或软件译码的代码。第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术思考:若某系统显示器引脚采用下列连接方式,字符编码又是怎样的?代码位D7

D6

D5

D4

D3

D2

D1D0显示段

e

d

dp

c

g

b

f

a

00010100CPU和数码管的连接共阴数码管共阳数码管第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术2.LED显示器显示方式及接口设计LED显示器显示接口按驱动方式分成:静态显示——数码管的各笔画段都由具有锁存能力的I/O端口引脚直接驱动,CPU将段码写入锁存器后,每个数码管都由锁存器持续驱动,直到下一次CPU更新锁存器存储的段码之前,数码管的显示保持不变。优点:显示稳定,亮度高,编程简单;缺点:占用硬件资源多(I/O口、驱动器等)。第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术动态显示——采用动态扫描的方法逐个地循环点亮各位显示器,对于多位LED显示器常采用这种显示方式,虽然在任一时刻只有一位显示器被点亮,但由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果是完全一样的。优点:节省硬件电路(如I/O口、驱动器等);缺点:采用软件扫描占用CPU时间多,且当动态显示位数较多时,显示器亮度将受到影响。思考:这个电路是动态控制方式还是静态控制方式?三极管放大驱动电路非门驱动电路某实际数码管连接图P0.0+5Vcom1com2com3com4com5com6abcdefgdpP0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2位驱动段驱动六位共阳极数码管模块相同的段驱动端都并联在一起。在第一位上显示5P0.0+5Vcom1com2com3com4com5com6abcdefgdpP0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7P2.6P2.5P2.4P2.3P2.2位驱动P2.7输出0段驱动P0口输出“5”的段码“10010010B”01111101001001第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术按CPU向显示器接口传送数据方式分成:并行传送串行传送按显示器接口显示数据方式可分成:

译码显示数据方式一般为专用显示器接口器件,接口包含锁存器/译码器/驱动器等,可以把一位BCD码或十六进制数锁存、译码为相应的字形代码并有足够的功率驱动显示。

非译码显示数据方式显示器接口只包含锁存器和驱动器,必须由软件将BCD码或十六进制数通过软件查表转换为相应的字形代码输出。第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术静态显示器可以采用CPU的并行I/O接口(如P1口)、8155、8255A芯片的扩展口等实现;也可以由单片机串行口扩展串入/并出移位寄存器来实现,如74LS164、74LS47等。常用的LED静态驱动接口器件有:驱动共阴极LED——可选用CD4511、CD4513、CD14495;驱动共阳极LED——可选用74LS74、74LS274。(1)静态显示接口电路举例第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术CD4513是BCD/译码器/驱动器,可与单片机的数据总线相连,由硬件实现BCD码到七位显示段码的转换,并提供足够的功率去驱动发光二极管,其引脚和内部结构如图9-2所示。

123456789

181716151413121110CD4513

fgabcdeGNDVCCBCLTBILE

DARBIRBO四位锁存驱动七段译码74ABCDabc…g图9-2CD4513引脚及内部结构图

第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术例1:用CD4513驱动4位共阴极LED静态显示,接口电路如图9-3所示。

P0.0~

P0.7

ALE8031EA

373

AY0BY1CY2Y3Y4Y5Y6Y774LS138

DCBALE4513a…g

DCBALE4513a…g

DCBALE4513a…g

DCBALE4513a…g877774D0~D3G1G2AG2BA0A1A2A77R7R7R7R(1)电路分析:工作过程?端口地址?图9-34位LED静态显示电路图

3线-8线译码器第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术

(2)编程练习:编写显示子程序:利用上述显示接口,把内存RAM40H~43H单元中四个非压缩BCD码送显示器显示。(端口地址80H~83H)。DISP:MOVR0,#80H;R0指向显示端口

MOVR1,#40H;R1指向显示数据地址

MOVR2,#04H

;置显示字符数 DISP1:MOV A,@R1;取待显示BCD码

MOVX @R0,A;送出显示

INCR1;修改显示端口地址

INCR0;修改显示显示数据地址

DJNZR2,DISP1RET(3)特点?编程简单、硬件较复杂、译码缺乏灵活性ABCLKhgfedcbaCLRABCLKCLRABCLKCLR+5VVCCTxDRxD89C51单片机74LS16474LS16474LS164hgfedcbahgfedcba+5V共阳LED数码管LED数码管静态显示举例(学习串行口已见过)有几个LED就要几个74LS164,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。要求:根据上图编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序。条件:系统有6个LED数码管,待显数据(00H—09H)已放在35H—30H单元中(分别对应十万位→个位),DSPLY:MOVDPTR,#TABLE;共阳LED数码管译码表首址

MOVR0,#30H;待显数据缓冲区的个位地址REDO:MOVA,@R0;通过R0实现寄存器间接寻址

MOVCA,@A+DPTR;查表

MOVSBUF,A;经串行口发送到74LS164JNBTI,$;查询送完一个字节的第8位?

CLRTI;为下一字节发送作准备

INCR0;R0指向下一个数据缓冲单元

CJNER0,#36H,REDO;判断是否发完6个数?

RET;发完6个数就返回TABLE:DB0C0H,0F9H,0A4H,0B0H,99H;共阳LED译码表

DB92H,82H,0F8H,80H,90H第九章单片机系统人机接口技术9.2键盘接口技术9.3遥控输入键盘9.1单片机系统显示器接口技术为了实现LED显示器的动态扫描,除了要给显示器提供段码(字形代码)的输入外,还要对显示器进行位的控制,这就是通常所说的段控和位控。

因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8条段控线(有小数点显示);另一个用于输出位控线,位控线的数目等于显示器的位数。(2)动态显示接口电路动态扫描概括起来就是选通一位、送一位数据。采用动态显示时需要注意以下3点问题:由于每一位七段数码管的点亮时间很短,扫描过程中要保证每一位七段数码管得到足够的工作电流,从而确保亮度,通常取限流电阻阻值为20~100Ω。在选通下一位七段数码管时,应把上一位熄灭,再将下一位显示数据送出,防止显示数据出现残影。点亮一遍所有七段数码管的时间应尽量小于0.1s,以保证足够短的时间,使眼睛产生各位七段数码管同时显示的错觉,一般点亮一遍所有七段数码管的时间应小于60ms为宜。LED数码管动态显示举例

P1.5P1.4P1.3P1.2P1.2P1.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.07406OC门X3上拉电阻×14+5VAT89C51工作原理:从P0口送段代码,P1口送位选信号。段码虽同时到达6个LED,但一次仅一个LED被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个……循环扫描即可。共阴数码管位选线段代码P1.5P1.4P1.3P1.2P1.2P1.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.07406OC门X3+5VAT89C51位选线段代码要求:此处为共阴数码管,P0口送段代码,P1口送位选信号。通过查表实现动态显示。条件:待显数据(00H—09H)已放在:7FH—7AH单元中(分别对应十万位~个位)说明:由于用了反相驱动器7406,要用共阳译码表。共阴数码管上拉电阻×147406OC门X3+5V(7FH)(7EH)(7DH)(7CH)(7BH)(7AH)十万万位千位百位十位个位数据缓冲区/显示缓冲区P0口送段代码,P1口送位选信号。待显数据已经放在:7FH—7AH单元(分别对应十万位→个位)使用共阳译码表。DIR:MOVDPTR,#DSEG

;数码管译码表首址

MOVR0,#7AH;待显缓冲区个位地址

MOVR3,#01H;个位的位选信号=01HLD1:MOVA,@R0;通过R0间接寻址

MOVCA,@A+DPTR

;查表

MOVP0,A;字段码送到P0口

MOVP1,R3;字位选择送到P1口

LCALLDELY

;调延时1ms子程序

INCR0;R0指向下一字节

MOVA,R3JBACC.5,LD2

;判是否发完6个数?

RLA;R1指向下一个位

MOVR3,A;位选信号存回R1SJMPLD1

;跳去再显示下一个数LD2:

RET;发完6个数就返回DSEG:DB0C0H,0F9H,0A4H,0B0H,99H;共阳译码表

DB92H,82H,0F8H,80H,90HP0口送段代码,P1口送位选信号。待显数据已经放在:7FH—7AH单元(分别对应十万位→个位)使用共阳译码表。■

描发光二极管点阵1显示原理34发光二极管点阵器件由8(行)×8(列)独立的发光二极管组成,在器件的正面有64个白色的圆点,这些圆点可以通过背面的管脚控制点亮。显示信息也正是通过点亮发光二极管组合实现的。1显示原理要在8×8发光二极管点阵上分别显示“H”、“古”、“9”、“?”4个字符,可按图所示点亮某些位置上的发光二极管即可。2发光二极管点阵器件结构点阵中每一个发光二极管在行、列的交点上,只要行、列之间通过电流,则交点的发光二极管就会发光。比如列P0.5和行P2.2之间有电流通过(P0.5为正,P2.2为负),则交点上的发光二极管被点亮。2发光二极管点阵器件结构比如要在8×8发光二极管点阵上显示字母“H”,需要点亮交点上的发光二极管为:P2.0—P0.6、P2.0—P0.1、P2.1—P0.6、P2.1—P0.1、P2.2—P0.6、P2.2—P0.1、P2.3—P0.6、P2.3—P0.5、P2.3—P0.4、P2.3—P0.3、P2.3—P0.2、P2.3—P0.1、P2.4—P0.6、P2.4—P0.1、P2.5—P0.6、P2.5—P0.1、P2.6—P0.6、P2.6—P0.1、P2.7—P0.6、P2.7—P0.1。2发光二极管点阵器件结构点亮的发光二极管用1代表,熄灭的用0代表,可得到字母“H”的编码(从横向上进行编码),每一行的编码用十六进制表示为:42H、42H、42H、7EH、42H、42H、42H、42H。如果发光二极管点阵与单片机的I/O口相连,则从I/O口依次输出这些编码,就会在器件上显示出字母“H”来。3发光二极管点阵与单片机电路发光二极管点阵与单片机接口的电路:P0口经过8支三极管进行驱动。当P0口某位输出1,对应三极管导通,点阵对应列上出现高电平。点阵的行则由单片机的P2口经过非门7404来驱动,当P2口某位输出1,经过非门后,对应行上应该出现低电平。这样,当P0口某位输出1、P2口某位输出1,则对应行、列交点上的发光二极管被点亮。4点阵显示程序利用点阵显示“H”:将字母“H”的编码42H、42H、42H、7EH、42H、42H、42H、42H保存在数据表“TABLE”中,在程序中使用指令“MOVCA,@A+DPTR”进行数据的提取。5点阵屏幕的应用41实际一般会使用更多的点阵构成大屏幕来显示更丰富的信息,尤其在中文、图形等显示中,点阵越多,屏幕的表现能力就越强。发光二极管点阵越多,与单片机的接口电路、控制程序就越复杂。8个8×8的发光二极管点阵与单片机连接,这8个点阵器件两两成行,形成4列的排列,所以屏幕的点阵为16×32,即16行32列,共512个点。

液晶屏1液晶屏的应用42液晶屏的低功耗、显示信息丰富等特点使其在电子产品中广泛使用。在90%以上的场合中,液晶屏都是以单片机等为核心的嵌入式系统的显示外设,所以它近年来的普及与单片机的快速发展密不可分。2字符液晶屏字符液晶屏:图示为一款16×2的字符液晶屏。16×2表示该液晶屏每行最多显示16个字符,且能显示2行。显示的字符可以是英文大、小写字母、数字、标点符号、常用符号等。如图中显示区域中的内容“ActiveRobots”和“Supply=4.97V”就包括了字母、数字、符号等信息。3字符液晶屏显示原理液晶屏的显示控制方法与七段数码管有本质的不同,液晶屏中由一个个点阵块显示。20×4字符液晶屏每行可显示20个字符,最多显示4行。而每个字符的显示都由点阵块实现,所以20×4字符液晶屏有80个点阵块。4单片机与字符液晶屏的接口45液晶屏的显示全靠单片机对其管脚的控制实现。4单片机与字符液晶屏的接口46第九章单片机系统人机接口技术9.2键盘接口技术9.1单片机系统显示器接口技术三、小结:(1)LED显示器显示接口按驱动方式可分成静态显示和动态显示两种显示方式,动态显示的扫描可由单片机软件或专门的硬件完成;

(2)按显示器接口是否带译码器可分成译码和非译码两种显示数据方式;(3)按CPU向显示器接口传送数据的方式则可分成并行传送和串行传送两种显示数据传送方式;第九章单片机系统人机接口技术1.键盘的构成键盘是单片机系统中最常用的一种输入设备,数据、内存地址、命令及指令地址等都可以通过键盘输入到系统中。按键盘接口是否进行硬件编码可分成编码键盘和非编码键盘。按排布方式键盘还可分成独立方式(一组相互独立的按键)和矩阵方式(以行列组成矩阵)按读入键方式,可分成直读方式和扫描方式。

9.2键盘接口技术第九章单片机系统人机接口技术9.1单片机系统显示器接口技术9.2键盘接口技术2.键盘的确认及接口硬件、软件任务从按键到键的功能被执行主要包括两项工作:一是键的识别二是键功能的实现

键识别的主要问题:(1)检测是否有键按下;(2)若有键按下,判定是哪一个键;(3)反弹跳(去抖动);(4)确定被按键的含义;(5)不管一次按键持续的时间有多长,仅采用一个数据;(6)防止串键。检测键盘上有无键按下可采用查询工作方式和中断工作方式。第九章单片机系统人机接口技术9.1单片机系统显示器接口技术9.3遥控输入键盘9.2键盘接口技术3.按键引起的弹跳(抖动)现象(1)硬件去抖(2)软件去抖(延时去抖)

有键按下,

延时再查,若发现无键按下,则表明第一次查到的有键按下并不是真正有键按下,而是抖动引起的。若第二次查到仍有键按下,才说明确实有键按下。延时多长时间?软件键盘去抖动处理流程如图所示。这种软件去抖动的方法最大的特点是成本低,实现起来比较灵活,在键数目较多时,大多采用软件延时法去抖动。100ms10ms10ms键抖动时间

因不小心同时按下两个或两个以上的按键,即发生了串键。

4.串键处理

发生串键的处理原则:把最后放开的按键作为真正被按的按键。89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V第九章单片机系统人机接口技术5.单片机常用的键盘结构形式S1S4S3S2P0.0P0.1P0.2P0.389C51+5V独立式键盘接口89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V矩阵式键盘接口特点:每个按键占用一条I/O线,当按键数量较多时,I/O口利用率不高,但程序编制简单。适用于所需按键较少的场合。特点:电路连接复杂,但提高了I/O口利用率,软件编程较复杂。适用于需使用大量按键的场合。(1)用键盘连接的I/O线的权值组合表示键码。6.键编码及键值

如图所示,各键相应的键值为: 88H、84H、82H、81H、

48H、44H、42H、41H、

28H、24H、22H、21H、

18H、14H、12H、11H。这种键值编码软件较为简单直观,但离散性大,不便安排散转程序的入口地址。(2)顺序排列键编码。如图所示,这种方法键值的形成要根据I/O线的状态作相应的程序处理。键码可按下式形成:键码=行首键码+列号D4:0行→0000D5:1行→0100D6:2行→1000D7:3行→1100D0:0列→0000D1:1列→0001D2:2列→0010D3:3列→0011行列键码0000,0001,0010,00110100,0101,0110,01111000,1001,1010,10111100,1101,1110,1111012304812第九章单片机系统人机接口技术(2)单片机实现键盘接口的常用方法和接口芯片有:

①使用单片机本身的并行口;②使用单片机本身的串行口;③使用通用接口芯片(例如8255、8155等);④使用专用接口芯片(例如8279、ZLG7289A等)。其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系统中比较常用。

列线行线012345670123第九章单片机系统人机接口技术9.1单片机系统显示器接口技术9.2键盘接口技术7、矩阵式键盘接口(1)矩阵式键盘扫描原理图9-9

4×4矩阵式键盘接口

无健按下时,行线处于高电平状态;当有健按下时行线电平由将由与此行线相连的列线的电平确定。

矩阵式键盘按键的识别方法——

采用扫描法

①使所有列为低电平,检查各行线电平是否有变化,有变化则有健按下;②使某列为低电平,其余各列为高电平,再依次检查各行线电平的变化,某行线电平变低,则此行、列交点处按键按下。0000行线输入列线输出11110000第一步是CPU首先检测键盘上是否有键按下无按键按下有按键按下行线输入列线输出10110000有一根行线电平被拉至低电平,从而使行输入状态不全为“1”,说明有按键按下!为求取键码,在逐列扫描时,可用计数器记录下当前扫描列的列号,然后用行首键码加列号的办法计算。第二步是再识别是哪一个键按下。行线输入列线输出11111110行列012304812111111011111101110110111键码=行首键码+列号

例:

矩阵式键盘接口查询法应用实例:电路原理如图所示,编程实现当任意一按键被按下时,数码管显示对应的按键键值。

矩阵式键盘接口查询法应用电路图键盘接口应用实例

单片机对矩阵式键盘接口处理的一般过程如图所示。键扫描消抖求键码等待释放键扫描消除抖动有键按下?键扫描确有键按下?求键值按键处理键释放?YYYNN等待键释放N开始返回按键处理图

键盘处理流程框图;******主程序******

ORG 0000HMOV 32H,#10H;置熄灭数码管数值

SETB F0;设无键按下标志MAIN:LCALL DISP;调显示子程序

LCALL KEY;调KEY子程序扫描键盘

JB F0,MAIN;无键按下转MAINLCALL DELAY ;有键按下延时消抖

LCALL KEY ;再次扫描键盘

JBF0,MAIN;无键按下(干扰)转

MOV 32H,30H ;确有键按下,保存键码MAIN1:LCALL DELAY ;等待按键释放

LCALL KEYJNB F0,MAIN1;未释放继续等待

LCALL DELAY;延时消抖

LCALL KEYJNB F0,MAIN1;未真正释放继续等待

SJMP MAIN ;循环;******显示子程序******DISP: MOV DPTR,#TAB MOV A,32H MOVC A,@A+DPTR MOV P2,A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论