《单片机键盘与显示电路设计ppt课件》由会员分享,可在线阅读,更多相关《单片机键盘与显示电路设计ppt课件(48页珍藏版)》请在金锄头文库上搜索。
1、单片机与键盘、显示器的接口设计第一节LED接口原理第二节键盘接口原理第三节实用LED和键盘驱动电路设计 采用采用INTEL8155INTEL8155 采用采用INTEL8279INTEL8279 采用采用ZLG7289AZLG7289A前期知识:51单片机的通用I/O口 80518051有有4 4组组8 8位位I/OI/O口:口:P0P0、P1P1、P2P2和和P3P3口,其中口,其中P1P1、P2P2和和P3P3为准双向口,为准双向口,P0P0口则为双向三态输入输出口。口则为双向三态输入输出口。MCS-51系列单片机的基本系列单片机的基本I/O口口l双向三态输入输出端口。lP0口身兼两职,既
2、可作为地址总线(AB0-AB7),也可作为数据总线(DB0-DB7)。l作为通用I/O时,是一个漏极开路电路。需外接上拉电阻。l作为地址/数据总线使用时,不需处接上拉电阻。lP0可驱动8个LSTTL,其它P口可以驱动4个LSTLL。并行输入和输出端口P0P0P0口电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数口电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数口电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数口电路中包含有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。据输出的驱动电路和一个输出控制电路。据输出的驱
3、动电路和一个输出控制电路。据输出的驱动电路和一个输出控制电路。P0P0口的功能与驱动能力口的功能与驱动能力口的功能与驱动能力口的功能与驱动能力P0P0口可以作为通用的口可以作为通用的口可以作为通用的口可以作为通用的I/OI/O口;口;口;口;P0P0口可以作为单片机系统的地址口可以作为单片机系统的地址口可以作为单片机系统的地址口可以作为单片机系统的地址/ /数据线使用;数据线使用;数据线使用;数据线使用;P0P0可以驱动可以驱动可以驱动可以驱动8 8个标准的个标准的个标准的个标准的TTLTTL负载电路。负载电路。负载电路。负载电路。注意在注意在注意在注意在P0P0口作为通用的口作为通用的口作为
4、通用的口作为通用的I/OI/O口时,必须外接上拉电阻口时,必须外接上拉电阻口时,必须外接上拉电阻口时,必须外接上拉电阻( (如下图)。如下图)。如下图)。如下图)。 P1口某位结构并行输入和输出端口P1l P1口为8位准双向输入输出端口。 l作为输入口使用时,有两种情况。 其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读修改写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。 其二是:读P1口线状态时,打开三态门G,将外部状态读入CPU。P1P1P1P1口电路中包含有一个数据输出锁存器、一个三态
5、数据输入缓冲器、口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器、口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器、口电路中包含有一个数据输出锁存器、一个三态数据输入缓冲器、一个数据输出的驱动电路。一个数据输出的驱动电路。一个数据输出的驱动电路。一个数据输出的驱动电路。P1P1P1P1口的功能和口的功能和口的功能和口的功能和驱动能力驱动能力驱动能力驱动能力P1P1P1P1口只可以作为通用的口只可以作为通用的口只可以作为通用的口只可以作为通用的I/OI/OI/OI/O口使用;口使用;口使用;口使用;P1P1可以驱动可以驱动可以驱动可以驱动4 4个标准的个标准的个标准的个标准的TT
6、LTTL负载电路;负载电路;负载电路;负载电路;注意在注意在注意在注意在P1P1P1P1口作为通用的口作为通用的口作为通用的口作为通用的I/OI/OI/OI/O口使用时,在从口使用时,在从口使用时,在从口使用时,在从I/OI/OI/OI/O端口读入数据时,应端口读入数据时,应端口读入数据时,应端口读入数据时,应该首先向相应的该首先向相应的该首先向相应的该首先向相应的I/OI/OI/OI/O口内部锁存器写口内部锁存器写口内部锁存器写口内部锁存器写“ “1 1 1 1” ”。举例:从举例:从举例:从举例:从P1P1P1P1口的低四位输入数据口的低四位输入数据口的低四位输入数据口的低四位输入数据 M
7、OV P1,#00001111b ;MOV P1,#00001111b ;MOV P1,#00001111b ;MOV P1,#00001111b ;先给先给先给先给P1P1P1P1口底四位写口底四位写口底四位写口底四位写1 1 1 1 MOV A,P1 ; MOV A,P1 ; MOV A,P1 ; MOV A,P1 ;再读再读再读再读P1P1P1P1口的底四位口的底四位口的底四位口的底四位并行输入和输出端口P2lP2口作为通用I/O时,准双向输入输出端口。lP2口作为高8位地址总线,AB8-AB15。lP2口与P0一起构成单片机与外电路相连接的扩展端口。通常可以用来扩展存储器、及与其它总线
8、型连接方式的外设。lP2可以驱动可以驱动4个标准的个标准的TTL负载电路。负载电路。并行输入和输出端口P3lP3口作为通用I/O时,为准双向输入输出端口。lP3口的第二功能。P3.0串行输入口(RXD)P3.1串行输出口(TXD)P3.2外中断0(INT0)P3.3外中断1(INT1)P3.4定时/计数器0的外部输入口(T0)P3.5定时/计数器1的外部输入口(T1)P3.6外部数据存储器写选通(WR)P3.7外部数据存储器读选通(RD)P3P3口电路中包含有一个数据输出锁存器、两个三态数据口电路中包含有一个数据输出锁存器、两个三态数据口电路中包含有一个数据输出锁存器、两个三态数据口电路中包含
9、有一个数据输出锁存器、两个三态数据输入缓冲器、一个数据输出的驱动电路和一个输出控制电输入缓冲器、一个数据输出的驱动电路和一个输出控制电输入缓冲器、一个数据输出的驱动电路和一个输出控制电输入缓冲器、一个数据输出的驱动电路和一个输出控制电路。路。路。路。P3P3口的功能和驱动能力口的功能和驱动能力口的功能和驱动能力口的功能和驱动能力P3P3口可以作为通用的口可以作为通用的口可以作为通用的口可以作为通用的I/OI/O口使用;口使用;口使用;口使用;可以作为单片机系统的第二功能的输入和输出。可以作为单片机系统的第二功能的输入和输出。可以作为单片机系统的第二功能的输入和输出。可以作为单片机系统的第二功能
10、的输入和输出。P3P3口可以驱动口可以驱动口可以驱动口可以驱动4 4个标准的个标准的个标准的个标准的TTLTTL负载电路。负载电路。负载电路。负载电路。注意在注意在注意在注意在P3P3口的使用时,首先要考虑第二功能的要求口的使用时,首先要考虑第二功能的要求口的使用时,首先要考虑第二功能的要求口的使用时,首先要考虑第二功能的要求。MCS-51MCS-51单片机单片机P3口的第二功能口的第二功能引脚引脚第二功能第二功能P3.0P3.0RXD(RXD(串行口输入串行口输入) ) P3.1P3.1TXD(TXD(串行口输出串行口输出) ) P3.2P3.2INT0(INT0(外部中断外部中断0 0输入
11、输入) ) P3.3P3.3INT1(INT1(外部中断外部中断1 1输入输入) ) P3.4P3.4T0(T0(定时器定时器0 0的外部输入的外部输入) ) P3.5P3.5T1(T1(定时器定时器1 1的外部输入的外部输入) ) P3.6P3.6WR(WR(片外数据存储器写选通控制输出片外数据存储器写选通控制输出) ) P3.7P3.7RD(RD(片外数据存储器读选通控制输出片外数据存储器读选通控制输出) ) 第一节LED接口原理常用的LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。发光二极管可显示两种状态,用于系统状态显示;数码管用于
12、数字显示;LED十六段显示器用于字符显示。1.数码管简介数码管简介1)数码管结构数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字09、字符AF、H、L、P、R、U、Y、符号“”及小数点“”。数码管的外形结构如下图9-1所示。数码管又分为共阴极和共阳极两种结构。图图9-12)数码管工作原理共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据
13、外接电源及额定段导通电流来确定相应的限流电阻。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。3)数码管字形编码要使数码管显示出相应的数字或字符,必须使段数据口输出相应的字形编码。对照图,字型码各位定义为:数据线D0与a字段对应,D1与b字段对应,依此类推。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对
14、应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。依此类推。2静态显示接口静态显示接口静态显示是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要有段码输出,相应字符即显示出来,并保持不变,直到I/O口输出新的段码。采用静态显示方式,较小的电流即可获得较高的亮度,且占用CPU时间少
15、,编程简单,显示便于监测和控制,但其占用的口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。3动态显示接口动态显示接口动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常,各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的位选线(公共阴极或阳极)由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码。依此规律循环,即可使各位数码管显示将要显示的字符。虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应
16、,只要每位显示间隔足够短就可以给人以同时显示的感觉。采用动态显示方式比较节省I/O口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。第二节键盘接口原理1.键的分类键的分类按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。2输入原理输入原理在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数
17、字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入是与软件结构密切相关的过程。对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将键输入,并检查是哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执行该键的功能程序,执行完后再返回主程序3按键结构与特点按键结构与特点微机键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便与通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动
18、过程如图-所示,抖动时间的长短与开关的机械特性有关,一般为510ms。图图9-24.按键编码按键编码一组按键或键盘都要通过I/O口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。5.制键盘程序制键盘程序一个完善的键盘控制程序应具备以下功能:(1)检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。(2)有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。(3)准确输出按键值(或键号)
19、,以满足跳转指令要求。独立式按键独立式按键单片机控制系统中,往往只需要几个功能键,此时,可采用独立式按键结构。1独立式按键结构独立式按键结构独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键的典型应用如图-所示。图图9-3独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采用。2.独立式按键的软件结构独立式按键的软件结构独立式按键的软件常采用查询式结构。先独立式按键的软件常采用查询式结构。先逐位查询每根逐位查询每根I/OI/O口线的输入状
20、态,如某一根口线的输入状态,如某一根I/OI/O口线输入为低电平,则可确认该口线输入为低电平,则可确认该I/OI/O口线所口线所对应的按键已按下,然后,再转向该键的功对应的按键已按下,然后,再转向该键的功能处理程序。能处理程序。矩阵式按键矩阵式按键单片机系统中,若使用按键较多时,通常采用矩阵式(也称行列式)键盘1.矩阵式键盘的结构及原理矩阵式键盘的结构及原理矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如下图9-4所示。由图可知,一个由图可知,一个4444的行、列结构可以构成的行、列结构可以构成一个含有一个含有1616个按键的键盘,显然,在按键数量个按键的键盘,显然,在按键数量
21、较多时,矩阵式键盘较之独立式按键键盘要节较多时,矩阵式键盘较之独立式按键键盘要节省很多省很多I/OI/O口。口。图图9-4矩阵式键盘中,行、列线分别连接到按键开矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到关的两端,行线通过上拉电阻接到5V5V上。当无上。当无键按下时,行线处于高电平状态;当有键按下时,键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键关键。然而,矩阵键盘
22、中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定行线、列线信号配合起来作适当处理,才能确定闭合键的位置。闭合键的位置。线反转法线反转法2键盘按键的识别键盘按键的识别识别按键的方法很多,其中,最常见的方法是扫描法。按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平。显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平。只有这样,当有键按下时,该
23、键所在的行电平才会由高电平变为低电平。CPU根据行电平的变化,便能判定相应的行有键按下。3.3.盘的编码盘的编码对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号惟一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是列号。4.键盘的工作方式键盘的工作方式对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。 1)1)编程扫描方式编程扫描
24、方式编程扫描方式是利用编程扫描方式是利用CPUCPU完成其它工作的空余完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时,在执行键功能程序时,CPUCPU不再响应键输入要求,不再响应键输入要求,直到直到CPUCPU重新扫描键盘为止。重新扫描键盘为止。 2)2)定时扫描方式定时扫描方式定时扫描方式就是每隔一段时间对键盘扫描一定时扫描方式就是每隔一段时间对键盘扫描一次,它利用单片机内部的定时器产生一定时间(例次,它利用单片机内部的定时器产生一定时间(例如如10ms10ms)的定时,当定时时间到就产生定时器溢)的定时,当定
25、时时间到就产生定时器溢出中断。出中断。CPUCPU响应中断后对键盘进行扫描,并在有响应中断后对键盘进行扫描,并在有键按下时识别出该键,再执行该键的功能程序。键按下时识别出该键,再执行该键的功能程序。3)中断扫描方式采用上述两种键盘扫描方式时,无论是否按键,CPU都要定时扫描键盘,而单片机应用系统工作时,并非经常需要键盘输入,因此,CPU经常处于空扫描状态。为提高CPU工作效率,可采用中断扫描工作方式。其工作过程如下:当无键按下时,CPU处理自己的工作,当有键按下时,产生中断请求,CPU转去执行键盘扫描子程序,并识别键号。第三节实用键盘显示接口电路设计在单片机应用系统中,键盘和显示器往往需同时使
26、用,为节省I/O口线,可将键盘和显示电路做在一起,构成实用的键盘、显示电路。图9-5是用8155并行扩展I/O口构成的典型的键盘、显示接口电路。键盘、显示器共用一个接口电路的设计方法除上述方案外,还可采用专用的键盘、显示器接口的芯片8279或ZLG7289A。采用采用INTEL8155采用INTEL8279INTEL8279是一种可编程键盘/显示器接口芯片,它含有键盘输入和显示器输出两种功能。键盘输入时,它提供自动扫描,能与按键或传感器组成的矩阵相连,接收输入信息,它能自动消除开关抖动并能对多键同时按下提供保护。显示输出时,它有一个168位显示RAM,其内容通过自动扫描,可由8或16位LED数
27、码管显示。82798279的引脚和功能的引脚和功能的引脚和功能的引脚和功能82798279的内部结构框图如图的内部结构框图如图9-69-6所示。所示。图图9-68279的工作方式的工作方式8279工作方式的确定是通过CPU对8279送入命令字实现的。当数据选择端A0置“1”时,CPU对8279写入的数据为命令字,读出的数据为状态字。在叙述命令字、状态字前,先说明8279的几种工作方式。1 1)键盘的工作方式)键盘的工作方式通过对键盘通过对键盘/ /显示方式命令字的设置,可置为显示方式命令字的设置,可置为双键互锁方式和双键互锁方式和N N键巡回方式。键巡回方式。双键互锁双键互锁双键锁定是为两键同
28、时按下提供的保护方法。双键锁定是为两键同时按下提供的保护方法。若有两键或多个键同时按下,则无论这些键是以若有两键或多个键同时按下,则无论这些键是以什么次序按下的,它只识别最后一个释放的键,什么次序按下的,它只识别最后一个释放的键,并把该键值送入并把该键值送入FIFO/FIFO/传感器传感器RAMRAM中。中。N N键巡回键巡回 N N键键巡巡回回是是为为N N个个键键同同时时按按下下时时提提供供的的保保护护方方法法。若若有有多多个个键键同同时时按按下下时时,键键盘盘扫扫描描能能按按按按键键先后顺序依次将键值送入先后顺序依次将键值送入FIFO/FIFO/传感器传感器RAMRAM中。中。 2)显示
29、器工作方式通过对键盘/显示方式命令字和写显示RAM命令字的设置,显示数据写入显示缓冲器时可置为左端送入和右端送入两种方式。左端送入为依次填入方式,右端送入为移位方式。8279的命令格式和命令字的命令格式和命令字8279共有8条命令字和一条状态字,分别控制其工作方式和工作状态。采用ZLG7289Azlg7289Azlg7289A是一片具有串行接口的可同时驱动是一片具有串行接口的可同时驱动88位位共阴式数码管或共阴式数码管或6464只独立只独立LEDLED的智能显示驱动芯的智能显示驱动芯片该芯片同时还可连接多达片该芯片同时还可连接多达6464键的键盘矩阵单片键的键盘矩阵单片即可完成即可完成LEDL
30、ED显示显示键盘接口的全部功能键盘接口的全部功能zlg7289Azlg7289A内部含有译码器可直接接受内部含有译码器可直接接受BCDBCD码或码或1616进制码并同时具有进制码并同时具有22种译码方式参看后文此外种译码方式参看后文此外还具有多种控制指令如消隐还具有多种控制指令如消隐闪烁闪烁左移左移右移右移段寻址等。段寻址等。zlg7289Azlg7289A具有片选信号可方便地实现多于具有片选信号可方便地实现多于88位的位的显示或多于显示或多于6464键的键盘接口键的键盘接口芯片特点串行接口无需外围元件可直接驱动LED各位独立控制译码/不译码及消隐和闪烁属性循环左移/循环右移指令具有段寻址指令方便控制独立LED64键键盘控制器内含去抖动电路实用电路