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