




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series6.1 常用并行常用并行I/O接口芯片接口芯片 6.2 键盘及其接口键盘及其接口6.3 LED数码显示器及其接口数码显示器及其接口 6.5 D/A转换器及其接口转换器及其接口 6.6 A/D转换器及其接口转换器及其接口第第6章章 接口芯片与接口技术接口芯片与接口技术 2机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 8255A可编程并行输入/输出接口芯片是Intel公司生产的标准外围接口电路。它采用NMOS工艺制造,用单
2、一5V电源供电,具有40条引脚,采用双列直插式封装。它有A、B、C3个端口共24条I/O线,可以通过编程的方法来设定端口的各种I/O功能。 8255A功能强,能方便地与各种微机系统相接, 所以得到了广泛的应用。6.1 常用并行常用并行I/O接口芯片接口芯片 3机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series1. 8255A的内部结构的内部结构3个个8位位数据端数据端口口A、B和和C。A组和组和B组控制组控制电路。它们接受电路。它们接受CPU送出的命令字送出的命令字,根据命根据命令字决定两组分别的令字决定两组分别的工作方式工作方式,或
3、对端口或对端口C进行按位复位进行按位复位/置位。置位。A组控制电组控制电路控制端口路控制端口A和端口和端口C的上半部。的上半部。B组控制电路控组控制电路控制端口制端口B和端口和端口C的下半部。的下半部。8255A内部结构图 4机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series8255A端口地址表端口地址表1. 8255A的内部结构的内部结构 8255A内部有4个端口:3个8位的数据端口A口、B口和C 口,还有一个1个8位的控制寄存器。这4个端口的地址见下表。 8255A为可编程接口芯片,需要进行初始化才能应用。初始化操作就是向8255
4、A控制寄存器写入控制字,以控制字的形式对其工作方式(或C口状态)进行设置。控制寄存器即是用于接收CPU发出控制字,它只能写入控制信息而不能读出其中的内容。5机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series8255A引脚图 与与外设相连接的引脚外设相连接的引脚PA7PA0: PA口数据线PB7PB0: PB口数据线PC7PC0: PC口数据线与与CPU相连接的引脚相连接的引脚D7D0: 8255A的数据线。RESET: 复位信号,高电平有效。当RESET有效时,所有内部寄存器都被清除,同时,3个数据端口被自动设为输入方式。2. 825
5、5A主要引脚定义主要引脚定义6机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series2. 8255A主要引脚定义主要引脚定义8255A引脚图 与与CPU相连接的引脚相连接的引脚CS:片选信号,低电平有效。RD:读信号,低电平有效。WD:写信号,低电平有效。A1、A0:端口选择信号。 8255A内部有1个控制端口和3个数据端口。 A1A0=00时,选中数据端口A; A1A0=01时,选中数据端口B; A1A0=10时,选中数据端口C; A1A0=11时,选中控制端口。7机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Contr
6、ol System 51 Series 8255A的数据端口有3种工作方式,即方式0、方式1和方式2,这些工作方式可用软件编程来指定。3. 8255A数据端口的工作方式数据端口的工作方式8255A数据端口工作方式列表数据端口工作方式列表 8机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 工作方式工作方式03. 8255A数据端口的工作方式数据端口的工作方式 方式0是基本输入/输出方式。这种方式下,外设可以随时提供数据给CPU,也可以随时接受CPU送出的数据,数据传输无需任何选通/应答信号。 A口、B口及C口的高4位和低4位都可以
7、设定为输入或输出。作为输出口时,输出的数据均被锁存;作为输入口时,A口的数据能锁存,B口与C口的数据不能锁存。 9机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 工作方式工作方式13. 8255A数据端口的工作方式数据端口的工作方式 工作方式1下,A口可由编程设定为输入口或输出口,需要C口的3位用来作为输入/输出操作的控制和同步信号;B口同样可由编程设定为输入口或输出口,需要C口的另3位用来作为输入/输出操作的控制和同步信号。在方式1下,A口和B口的输入数据或输出数据都能被锁存。10机械电子工程系机械电子工程系主主讲讲:陈慧:陈
8、慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口或B口均可工作于方式1,下面以A、B口均为输入口或均为输出口两种情况举例说明方式1下的输入和输出过程。 A口口/B口为选通输入口时所需的联络信号口为选通输入口时所需的联络信号STB:外设发送的选通脉冲信号,低电平有效。该信号到来时,输入的数据被装入到8255A的A口(或B口)锁存器中。IBF:8255A输出的表示输入缓冲器满的信号,高电平有效。表示一个有效数据被锁存于8255A的口锁存器中,尚未被CPU取走,暂不能向接口输入数据。INTR:8255A发出的中断请求信号,高电平有效。当IBF为高、STB信
9、号由低变高时,该信号有效。方式1下A、B均为输入口 另外,8255A内部有为控制中断而设的中断允许信号INTE。INTE由软件置位/复位该位来允许/禁止8255A给CPU发送中断请求信号。p方式方式1下下A口、口、B口均为口均为输入输入11机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 外设将数据输入到8255A 的口锁存器的同时,送出STB 信号 至8255A。 接着,8255A发出有效的IBF信号,并且在STB信号结束时产 生INTR信号。查询传送时,以IBF作为查询状态信号;中断 传送时,以INTR作为向CPU发出中断请求的
10、信号。 接着,CPU执行“读”的MOVX指令将数据从8255A的输入口 读入到51单片机中,MOVX指令的执行伴随着RD信号有效。 最后,MOVX指令完毕,RD信号的下降沿使得INTR失效,其 上升沿则使得IBF信号失效,于是所有的信号恢复到初始状态。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下一次数据输入的步骤下一次数据输入的步骤12机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下数据输入的信号时序下数据输入的信号时序方式1下通过A
11、口(或B口)输入数据时的信号时序图 13机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 工作方式工作方式1 A口或B口均可工作于方式1,下面以A、B口均为输入口或均为输出口两种情况举例说明方式1下的输入和输出过程。 A口口/B口为选通输出口时所需的联络信号口为选通输出口时所需的联络信号ACK:外设响应信号(输入),低电平有效。外设发送给8255A的应答信号,低电平有效。当外设取走8255A的输出口A口(或B口)中的有效数据后向发回的应答信号。OBF:8255A对外发送的输出缓冲器满信号,低电平有效。表示CPU已经将一个输出数据写
12、入到8255A的口锁存器。INTR:8255A发出的向CPU申请中断的请求信号,高电平有效。方式1下A、B均为输出口 8255A内部的为控制中断设的中断允许信号INTE。INTE由软件置位/复位该位来允许/禁止8255A给CPU发送中断请求信号。p方式方式1下下A口、口、B口均为口均为输出输出14机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 外设接收并处理完上一组数据后,向8255A发送ACK响应信号。 接着,8255A使OBF信号处于高电平的失效状态,表示输出缓 冲器已空,并且在ACK信号结束时产生有效的INTR高电平信 号。
13、查询传送时,以OBF作为查询状态信号;中断传送时,以 INTR作为向CPU发出中断请求的信号。 接着,CPU执行“写”的MOVX指令把下一个数据写入到8255A 的输出口锁存器中,MOVX指令的执行伴随着WR信号有效。 最后,MOVX指令完毕,WR信号的下降沿使得INTR失效,其 上升沿则使得OBF信号失效。OBF信号有效表明输出数据准备好 了,以此信号通知外设取走并处理8255A输出口锁存器中的数据。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下一次数据输出的步骤下一次数据输出的步骤15机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control S
14、ystem 51 Seriesn 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1下数据输出的信号时序下数据输出的信号时序方式1下通过A口(或B口)输出数据时的信号时序图 16机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 如前所述,当8255A的A口和B口同时为方式1的输入端口或输出端口时,需使用C口的6位作为联络信号。此时,C口剩下的两位还可以用程序来指定数据的传送方向是输入还是输出;也可以对C口剩下的两位实现置位或复位操作。 当8255A只有一个端口(A口或B口)工作在方式1时,则C口剩下的5位也可按照上述
15、情况处理。n 工作方式工作方式1 A口(或口(或B口)工作于方式口)工作于方式1时时C口的工作情况说明口的工作情况说明17机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 工作方式工作方式23. 8255A数据端口的工作方式数据端口的工作方式 8255A只有A口具有这种双向输入输出工作方式,实际上是在方式1下A口输入输出的结合。方式2下联络信号的定义 方式2下,A口为8位双向传输口,C口的PC7PC3用来作为输入/输出的同步控制信号。 在这种情况下,B口和PC2PC0只能编程为方式0或方式1工作;而C口剩下的3条线可作为输入或输出
16、线使用,或用作B口方式1之下的控制线。18机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series CPU以中断或查询方式,执行MOVX的读 指令从8255A的A口读取数据,读的过程伴随着RD信号有效。待RD信号失效后,IBFA和INTRA信号相继失效回复到初始状态,完成了一次数据输入过程。 当外设向8255A送数据时,选通脉冲STB也同时送到,将数据锁存到A口锁存器中,接着信号IBFA有效用以通知外设A口已收到数据。当STB信号结束时,INTR信号变为有效,以此向CPU请求中断。 A口于方式口于方式2下一次数据输入的过程下一次数据输入的过
17、程方式2下输入输出操作的时序图19机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 当外设读取数据时,将给8255A发出一个有效的响应信号ACKA使得A口的三态门导通,从而将数据从8255A的A口送至外设。ACKA信号也使得OBFA变为失效,从而可以开始下个数据的输入或输出过程。 当CPU通过中断或查询的方式,执行MOVX的写指令向8255A的A口中写入一个数据时,会伴随着WR信号有效。WR信号一方面使中断请求信号INTRA失效;另一方面使输出缓冲器满信号OBFA变低,通知外设从A口读取数据。 A口于方式口于方式2下一次数据输入的过
18、程下一次数据输入的过程方式2下输入输出操作的时序图20机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series4. 8255A的控制命令字的控制命令字 8255A工作方式取决于CPU写入其控制寄存器端口的控制(命令)字。控制字分为工作方式控制字和C口置位/复位控制字两类。n 工作工作方式控制字方式控制字工作方式控制字用于确定数据端口的工作方式及数据传送方向。 8255A工作方式控制字格式A组包括组包括A口与口与C口的高口的高4位。位。B组包括组包括B口与口与C口的低口的低4位。位。21机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Mic
19、ro Control System 51 Series4. 8255A的控制的控制命令命令字字n C口置位口置位/复位控制字两类。复位控制字两类。 8255A的C口置位/复位控制字可以使C口8位中的任一位清0或置1。该控制字每次只对C口中的一位进行置位或复位。 C口置位/复位控制字格式 注意:注意:作为作为联络线使用的联络线使用的C口各位是不能采用置位口各位是不能采用置位/复位复位操作来使其置位或复位的。操作来使其置位或复位的。22机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series5. 8255A的应用的应用n8255A与与51单片机
20、的连接单片机的连接 由于单片机系统片外RAM的实际容量一般不大,远远达不到64KB的范围,因此I/O接口芯片的片选多采用线选法。这样方法虽然要浪费大量的地址号,但译码电路比较简单。8255A与80C51的连接 设8255A与80C51的连接如左图所示。 图中8255A的I/O端口有213组有效地址,最小一组为: A口 0000H B口 0001H C口 0002H 命令口 0003H23机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series5. 8255A的应用的应用n8255A的的初始化编程初始化编程 8255A初始化的内容就是向控制寄
21、存器写入工作方式控制字或C口置位/复位控制字。【例例6-1】设控制寄存器的地址为0003H,对8255A各口作如下设置:A口方式0输入,B口方式0输出,C口高位部分为输出、低位部分为输入。 工作方式控制字为工作方式控制字为10010001BD0=1:C口低半部输入;D1=0:B口输出;D2=0:B口方式0;D3=0:C口高半部输出;D4=1:A口输入;D6D5=00:A口方式0;D7=1:工作方式字标志。 初始化程序段初始化程序段MOV DPTR, 0003H MOV A, 91HMOVX DPTR, A24机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control Syst
22、em 51 Series5. 8255A的应用的应用n8255A的初始化编程的初始化编程 8255A初始化的内容就是向控制寄存器写入工作方式控制字或C口置位/复位控制字。【例例6-2】设已知命令口地址为0003H,要求对端口C的D3位置位/ 复位,试完成8255A的初始化。 使使C端口端口D3位置位的控制字为位置位的控制字为10010001B(即(即07H) 初始化程序段初始化程序段MOV DPTR, 0003H MOV A, 07H ;或MOV A, 06HMOVX DPTR, A 使使C端口端口D3位复位的控制字为位复位的控制字为00000110B(即(即06H)25机械电子工程系机械电子
23、工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series5. 8255A的应用的应用n8255A应用举例应用举例【例例6-3】已知8255A的C口和控制口地址分别为0002H和0003H, 试编程实现通过8255A的PC5端向外输出1个正脉冲信号。 思考:要从PC5端输出1个正脉冲可以通过PC5的置位/复位控制实现。先送对PC5位置位的控制字,经过一定延时(延时视脉宽而定)后再送对PC5位复位的控制字,即能实现产生1个正脉冲。MOV DPTR,0003H ;指向8255A的控制口MOV A,0BH ;对PC5置1MOVX DPTR,ALCALL DELAY ;延
24、时(调用延时子程序)DEC A ;对PC5置0MOVX DPTR,A26机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series5. 8255A的应用的应用n8255A应用举例应用举例【例例6-4】下图为80C51通过8255A接打印机的连线图,设8255A为工作方式0,与CPU之间采用查询传送数据。试编写打印输出某数据块的程序,数据块首地址为内部RAM的FSTA,长度为NUM个字符。思考:思考:1)A、B、C口及命令口地址分别为0000H0003H。 2)8255A工作于方式0,即基本输入/输出方式。3)打印机接收数据的过程采用选通 控
25、制 : 其 数 据 端 口 连 接 到8255A的A口;状态信号BUSY连接到8255A的PC7,当打印机忙于处理上一个字符时BUSY=1,反之之则BUSY=0;打印机通过STB端接收8255APC0送来的选通信号,当STB端接收到一个负跳变信号(即选通脉冲下降沿)时,表示一个新的数据被送到了打印机的数据端口。27机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series5. 8255A的应用的应用n8255A应用举例应用举例【例例6-4】下图为80C51通过8255A接打印机的连线图,设8255A为工作方式0,与CPU之间采用查询传送数据。
26、试编写打印输出某数据块的程序,数据块首地址为内部RAM的FSTA,长度为NUM个字符。参考程序如下参考程序如下PRINT:MOV DPTR, #0003H MOV A, #88H MOVX DPTR, A MOV R1, #FSTA MOV R2, #NUMLOOP1:MOV DPTR, #0002H LOOP2:MOVX A, DPTR JB A.7, LOOP2 MOV DPTR, #0000HMOV A, R1 MOVX DPTR, A INC R1 MOV DPTR, #0003H MOV A, #00H MOVX DPTR, A MOV A, #01H MOVX DPTR, A DJ
27、NZ R2, LOOP1 RET8255A命令口地址C口地址A口地址28机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 8155是Intel出品的可编程多功能接口芯片,+5v电源供电,40引脚双列直插式封装,8155的内部功能结构如下图。6.1 常用并行常用并行I/O接口芯片接口芯片 3个并行I/O口:其中 A 口、B口为8位, C口为6位。 一个256字节的静态RAM 一个14位的定时/计数器 8155内部功能结构示意图 一个控制寄存器29机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System
28、 51 Series2. 8155的引脚功能的引脚功能AD0AD7:三态地址/数据总线。 8155通过它与CPU传送低8位地址和8位 数据。由于它具有和51系列单片机P0口 一致的分时复用功能,二者可直接相连。 ALE:地址锁存允许信号。 CE:片选信号线,低电平有效。 RD:读出信号线,低电平有效。 WR:写入信号线。低电平有效。 IO/M:RAM和I/O端口选择信号。 IO/M=0时选中RAM区,由AD0AD7选择RAM单元的低8位地址为00HFFH; IO/M=1时选中I/O端口区,由AD0AD2选择I/O端口区低3位地址为00H05H。8155引脚图 1. 8155主要引脚定义及内部功
29、能结构主要引脚定义及内部功能结构1)8155主要引脚主要引脚定义定义30机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series PA7PA0: A口输入/输出信号线。 PB7PB0: B口输入/输出信号线。 PC5PC0: C口输入/输出信号线。 TIMERIN: 定时/计数器脉冲输入端。 TIMEROUT: 定时/计数器脉冲输出端。 RESET: 复位信号线。8155复位时将 A、B、C三个I/O口均初始化成输入方式。1)8155主要引脚主要引脚定义定义31机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control S
30、ystem 51 Series 使使CE=0选中该选中该8155芯片;芯片; 使使IO/M=0选择片内选择片内256字节的字节的RAM区。区。 8155内部RAM区共有256个单元,芯片提供了A0A7共8位的字选地址线,每个RAM单元的低8位地址唯一,其范围为:00HFFH。p RAM区单元的编址区单元的编址2)8155内部功能结构及其内部功能结构及其地址地址 8155内部有1个控制寄存器、3个数据I/O口、256B的RAM以及1个定时器/计数器。CPU访问8155时,将它们分为RAM区和I/O区两个不同的逻辑区域。1. 8155主要引脚定义及内部功能结构主要引脚定义及内部功能结构32机械电子
31、工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series2)8155内部功能结构及其内部功能结构及其地址地址8155内部内部I/O端口地址分配表端口地址分配表p I/O端口的编址端口的编址 使使CE=0选中该选中该8155芯片;芯片; 使使IO/M=1选择选择片片内内6个个I/O端口。端口。 8155提供AD0AD2这3位为字选地址线,6个I/O端口地址的低3位见下表。33机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series【例例6-4】下图为80C51单片机扩展一片8155芯片的连线示意图
32、,试写出该8155芯片内部RAM单元及I/O端口的地址。 根据下面的RAM区单元地址译码关系表可知,RAM区单元占用了26=64组有效地址,每组256个。 当“A15A14A13A12A11A10”取值“000000”时,RAM区256个单元最小的一组地址为:0000H00FFH。p I/O端口的编址端口的编址80C51扩展扩展8155芯片连线示意图芯片连线示意图 RAM区单元地址分配区单元地址分配RAM区单元区单元地址译码关系表地址译码关系表34机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series【例例6-4】下图为80C51单片机扩
33、展一片8155芯片的连线示意图,试写出该8155芯片内部RAM单元及I/O端口的地址。p I/O端口的编址端口的编址 I/O端口共有211=2048组有效地址,每组6个。最小一组地址为:命令/状态寄存器口 0200H数据口A 0201H数据口B 0202H数据口C 0203H定时/计数器低8位端口 0204H定时/计数器高8位端口 0205H80C51扩展扩展8155芯片连线示意图芯片连线示意图 I/O端口地址分配端口地址分配I/O端口地址译码关系表端口地址译码关系表35机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 命令字用于定
34、义8155数据端口和定时器的工作方式。命令字寄存器只能写不能读。n 命令字命令字寄存器寄存器1)控制寄存器)控制寄存器端口及其定义端口及其定义 8155内部有1个物理地址唯一的控制寄存器端口,但逻辑应用上该端口包含两个不同功能的寄存器:命令字寄存器和状态字寄存器。因此,控制寄存器端口又称命令/状态寄存器端口。2. 8155内部内部I/O端口及其定义端口及其定义8155命令字的格式A、B口均为基本口均为基本I/O方方式;式;C口为输入方式口为输入方式A口为选通口为选通I/O、B口为口为基本基本I/O方式;方式;C口低口低3位作为位作为A口选通方式下口选通方式下的联络信号。的联络信号。A、B口均为
35、基本口均为基本I/O方方式;式;C口为输出方式。口为输出方式。A、B口均为选通口均为选通I/O方式;方式;C口口的低的低3位、高位、高3位分别作为位分别作为A口、口、B口选通方式下的联络信号。口选通方式下的联络信号。36机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 状态字反映8155的工作状态,状态字寄存器只能读不能写。n 状态状态字寄存器字寄存器1)控制寄存器)控制寄存器端口及其定义端口及其定义8155状态字的格式37机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series
36、6.1.46.1.4 I/O 口的工作方式口的工作方式2)数据)数据I/O端口及其定义端口及其定义 8155有A口、B口和C口共3个数据I/O端口。A口和B口为8位的端口,可工作于基本I/O或选通I/O方式。C口为6位的端口,可以工作于基本I/O方式;也可以用作A口、B口选通方式下的联络信号线。2. 8155内部内部I/O端口及其定义端口及其定义 基本I/O方式是无条件传输的方式,不需联络信号。直接执行以下指令完成信息传输: 输入操作:MOV DPTR,#PORTA MOVX A,DPTR 输出操作: MOV DPTR,#PORTA MOVX DPTR ,An 基本基本I/O方式方式38机械电
37、子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series2. 选通I/O方式为有条件传送方式,由C口提供A口和B口A工作于选通I/O方式时的联络信号,有STB、BF、INTR三种。STB:外设发送给8155的选通/应答信号,低电平有效。 输入操作时,表示外设已将输入数据装入到A口(或B口)缓冲器。 输出操作时,表示外设已从A口(或B口)缓冲器将输出数据取走。 BF: I/O口缓冲器满空标志,高电平有效,8155对外输出的信号。 输入操作时,如果A口(或B口)缓冲器中已装入数据则BF=1,表 示该缓冲器“满”;否则BF=0,表示该缓冲器不“满”。
38、输出操作时,如果A口(或B口)缓冲器的数据已被外设取走则 BF=1,表示该缓冲器“空” ;否则BF=0,表示该缓冲器不“空”。2)数据)数据I/O端口及其定义端口及其定义n 选选通通I/O方式方式39机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 SeriesINTR: 8155对外输出的中断请求信号,高电平有效。 数据输入(或输出)操作过程中,当A口(或B口)缓冲器接收到外设送来的数据(或外设已经从I/O口缓冲器中取走数据)时,INTR就会变为高电平“1”。 此时,如果8155命令寄存器相应的中断允许位被设为“1”,则可以以INTR=1向CP
39、U申请中断;当CPU响应中断,在中断服务程序内完成对相应的I/O口缓冲器的一次读/写操作后,则INTR信号失效,即INTR恢复为低电平“0”。2)数据)数据I/O端口及其定义端口及其定义n 选选通通I/O方式方式40机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 SeriesA、B口选通工作方式口选通工作方式下下C口各位的功能口各位的功能定义表定义表2)数据)数据I/O端口及其定义端口及其定义n 选选通通I/O方式方式 8155的A、B口工作于选通方式下时C口各位的功能定义见下表。41机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro
40、 Control System 51 Series 8155的定时/计数器为14位的减法计数器,它能对TIMERIN引脚输入的脉冲进行计数,当计数到达要求的计数值时将通过TIMEROUT引脚向外部输出设定的某种波形信号。8155定时/计数器用到的两个控制端口如下图。3)定时)定时/计数器有关的端口及其定义计数器有关的端口及其定义2. 8155内部内部I/O端口及其定义端口及其定义8155定时定时/计数器低计数器低8位控制端口位控制端口8155定时定时/计数器高计数器高8位控制端口位控制端口42机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Se
41、ries 8155定时/计数器高8位控制端口中的“M2M1”用于定义计数器输出波形的方式,两位的功能定义如下表所示。3)定时)定时/计数器有关的端口及其定义计数器有关的端口及其定义2. 8155内部内部I/O端口及其定义端口及其定义8155定时定时/计数器输出波形方式定义计数器输出波形方式定义43机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series3)定时)定时/计数器有关的端口及其定义计数器有关的端口及其定义 8155定时/计数器在初始化时,需要CPU向两个控制端口写入计数初值及输出方式控制字;此外,CPU还要通过设置命令字使得定时/
42、计数器开始计数。 需注意:需注意:当8155复位信号RESET到达时,将使定时/计数器停止工作,直至命令字寄存器再次接收到启动定时/计数器的命令。2. 8155内部内部I/O端口及其定义端口及其定义44机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series3)定时)定时/计数器有关的端口及其定义计数器有关的端口及其定义2. 8155内部内部I/O端口及其定义端口及其定义 8155的定时器在计数过程中,计数器的值并不直接表示外部输入的脉冲。作为外部事件计数用时,由计数器的现行计数值求输入脉冲数的方法如下: 停止计数器计数。 分别读出计数器的
43、两个字节内容。 取其低14位数作为现行计数值。 算出现行计数值与初始计数值之差,即可得到输入脉冲数。 45机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式1)8155 的初始化的初始化 8155初始化指的是向8155写入命令字和定时/计数器的初值以及输出方式。3. 8155编程及应用举例编程及应用举例【例例6-5】采用前图所示电路,设A口与C口为输入口,B口为输出口,均为基本I/O。定时器为连续方波工作方式,对输入脉冲进行24分频。试编写8155的初始化程序。 PA=0;A口输入
44、 PB=1;B口输出 PC2PC1=00;A、B口基本I/O,C口输入 IEA=0,IEB=0;A口、B口均禁止中断 TM2TM1=11;立即启动计数器 所以命令字取为11000010B=C2H。80C51扩展扩展8155芯片连线示意图芯片连线示意图 确定命令字确定命令字46机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series1)8155 的初始化的初始化【例例6-5】采用前图所示电路,设A口与C口为输入口,B口为输出口,均为基本I/O。定时器为连续方波工作方式,对输入脉冲进行24分频。试编写8155的初始化程序。 由于计数值为24,所
45、以定时器的低定时器的低8位为位为1 8 H , 高, 高 6 位 为位 为000000B。 定时器输出方式要求为连续方波,选M2M1=01,所以定时定时器的高器的高8位为位为01000000B=40H。 确定计数初值确定计数初值MOV DPTR,0204H ;指向定时器的低8位MOV A,18H ;取定时器低8位的值MOVX DPTR,A ;写入定时器低8位INC DPTR ;指向定时器高8位MOV A,40H ;取定时器高8位的值MOVX DPTR,A ;写入定时器高8位MOV DPTR,0200H ;指向命令口MOV A,C2H ;取8155的命令字MOVX DPTR,A ;写入命令字 初
46、始化程序初始化程序47机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式2)8155 应用编程举例应用编程举例【例例6-6】仍采用前图所示电路,从8155的A口输入数据并进行判断:若不为0,则将该数据存入8155的RAM中(从起始单元开始存放,数据的总数不超过256个),同时从B口输出,并将PC0置“1”;若为0,则停止输入输出,同时将PC0清“0”。试编写能完成上述任务的程序。 MOV DPTR,0200H ;指向命令口 MOV A,00000110B ;取命令字 MOVX DP
47、TR,A ;写入命令字 MOV R0,00H ;指向8155的RAM区首址 MOV R1,00H ;数据总数为256个LOOP1:MOV DPTR,0201H ;指向A口 MOVX A,DPTR ;从A口输入数据 JZ LOOP3 ;为0则转 MOVX R0,A ;不为0,则存入RAM中 INC R0 ;指向下一单元 解:参考程序如下解:参考程序如下48机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series6.1.46.1.4 I/O 口的工作方式口的工作方式2)8155 应用编程举例应用编程举例【例例6-6】参考程序参考程序(续)(续)
48、 INC DPTR ;指向B口 MOVX DPTR,A ;从B口输出 INC DPTR ;指向C口 MOVX A,DPTR ;取C口数据 SETB ACC.0 ;使PC0置1 MOVX DPTR,A ;回送 DJNZ R1,LOOP1 ;未完则反复LOOP2:SJMP $ ;暂停LOOP3:MOV DPTR,0203H ;指向C口 MOVX A,DPTR ;取C口数据 CLR ACC.0 ;使PC0置0 MOVX DPTR,A ;回送 SJMP LOOP249机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 键盘是由排列成矩阵形式的
49、一系列按键开关组成的,它是最常用的一种人机联系的输入设备。 键盘按其结构形式可分为编码式键盘编码式键盘和非编码式键盘非编码式键盘两大类。编码式键盘是由其内部硬件逻辑电路自动产生被按键的编码,使用方便,但价格较贵;单片机系统中普遍使用非编码式键盘。 非编码式键盘应解决键的识别键的识别、如何消除键的抖动如何消除键的抖动以及键的保护键的保护这三个主要问题。6.2 键盘及其接口键盘及其接口最主要最主要的问题的问题50机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 非编码式键盘采用行列矩阵形式排列,下图为44行列式键盘的基本结构示意图。44
50、表示有4根行线和4根列线,在每根行线和列线的交叉点上均分布1个单触点按键,共有16个按键。 44矩阵键盘的结构1. 非非编码式键盘的结构编码式键盘的结构51机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series2. 闭合键的识别闭合键的识别非编码式键盘识别闭合键有两种方法:行扫描法行扫描法和线反转法线反转法。52机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 行扫描行扫描法法 行扫描法原理:行扫描法原理:设定行线端口为输出口,列线端口为输入口;通过行线发出低电平“0”,如果
51、该行上所有键都没按下则列线输出全“1”信号,如果该行上有键按下则列线输出非全“1”信号。行扫描法识别闭合键需经过全扫描全扫描和逐行扫描逐行扫描两个步骤。(1)全扫描)全扫描 所有行线全输出“0” ,判断有没有键闭合。可能有两种情况:列线端口输入全“1”,表示键盘上没有键被按下。列线端口输入非全“1”,即有某列线输入“0”的情况,表示有键按下。(2)逐行扫描)逐行扫描目的是获取闭合键的特征值。从第0行开始,逐行单独输出“0” ,读入列线输入值,若输入全为“1”则闭合键不在此行;若不全为“1”,则表示当前行有键按下,闭合键就位于扫描行和读入值不为“1”的列线相交的节点,再根据该节点处的行值与列值得
52、到闭合键的特征值。如此从第0行、第1行、,逐行扫描下去,直到找到闭合键为止。53机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 行扫描行扫描法法54机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 线线反转法反转法 与行扫描法不同,线反转法在电路连线上要求行线与列线均需有上拉电阻。采用线反转法识别闭合键的特征值速度更快,并且对于任何位置的不同闭合键所费时间相同。(1)全扫描判断有无键被按下)全扫描判断有无键被按下 设定行线端口为输出、列线端口为输入。行线输出全“0”
53、,根据从列线端口输入的数值判断有没有键闭合。这与行扫描的第一步相同。(2)通过线反转获取闭合键的特征值)通过线反转获取闭合键的特征值 当全扫描表明有键按下时反转端口性质,设定行线端口为输入、列线端口为输出。将上一步中列线端口读入的值原样再从列线端口输出,然后从行线端口读取输入值。根据列线端口和行线端口读入的求得该闭合键的特征值。示例如下图6-17。2. 闭合键的识别闭合键的识别非编码式键盘识别闭合键有两种方法:行扫描法行扫描法和线反转法线反转法。55机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Seriesn 线线反转反转法法56机械电子工程
54、系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series3. 如何消除键的抖动如何消除键的抖动 按键为机械开关,因为机械触点的弹性及电压突跳等原因,往往在触点闭合或断开的瞬间会出现电压抖动,如下图所示。键闭合和断开时的电压抖动 消除按键的抖动有硬件和软件两种方法。硬件方法就是加消抖电路从根本上避免抖动产生;软件方法是采用延时(一般延迟时间为10-20ms)避开抖动,待信号稳定之后再进行键扫描。单片机一般均采用软件软件延迟延迟的消抖方法。57机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series4.
55、 键的保护键的保护 键的保护是指当有双键或多键同时按下时会出现什么问题以及如何加以解决。 若同同一行上有两个键被同时按下一行上有两个键被同时按下,硬件上不会出现什么问题;但软件上由于读入的列代码中出现了两个0,它与行值组成的键特征值就超出了设定键的范围,查不出有效的键值来。因此出现这样情况一般也作为废键处理。 若同一列上有两个键被同时按下同一列上有两个键被同时按下,软件上的情况同上;硬件上来说,行扫描法与线反转法情况不同:线反转法没有问题,但对行扫描来说,因为0信号是逐行发出的,当扫描到一个键所在行为0,而另一个键所在行为1时,就出现了行输出端口短路的现象从而造成端口的损坏。这种要绝对禁止,因
56、此使用时要注意防止出现双键或多控同时按下的情况。58机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 80C51单片机如果P1口不作其它用途的话,它可与44的键盘相连接;如果不再外扩程序存储器的话,则还可以利用P0P2中任意两个口构成多达88的键盘,其中一个口作为输出口另一口个作为输入口。在闭合键的识别上既可以采用前述的行扫描法,也可以采用线反转法。例如前述图6-14所示。1. 采用采用51单片机本身并行单片机本身并行I/O口连接键盘口连接键盘 实际应用中,多数情况下P0P2端口已被占用,只能通过扩展8155、8255A等通用并行I
57、/O接口芯片构建键盘接口电路,如图6-18所示;或者采用8279等专用接口芯片构建键盘接口电路,如图6-19所示。2. 51单片机扩展并行单片机扩展并行I/O口连接键盘口连接键盘59机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series2. 51单片机扩展并行单片机扩展并行I/O口连接键盘口连接键盘 实际应用中,多数情况下P0P2端口已被占用,只能通过扩展8155、8255A等通用并行I/O接口芯片构建键盘接口电路,如图6-18所示;或者采用8279等专用接口芯片构建键盘接口电路,如图6-19所示。采用8155连接48键盘的接口电路60机
58、械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series2. 51单片机扩展并行单片机扩展并行I/O口连接键盘口连接键盘 或者采用8279等专用接口芯片构建键盘接口电路,如图6-19所示。采用8279连接38键盘的接口电路61机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 以前述采用8155连接48键盘的接口电路为例,行扫描法识别闭合键的程序流程右图。 首先调用全扫描子程序,检查有无闭合键。若无键闭合,则对数码显示器扫描显示1遍;若有键闭合,则调用两次数码显示器扫描显示子程序的延
59、时约12ms消抖。 然后再次检查有无键闭合,若无键闭合,则返回主程序;若有键闭合,则进行逐行扫描,以判别闭合键的具体位置。1. 行扫描法编程行扫描法编程键盘扫描子程序流程图(行扫描法)62机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series 对于本例84的键盘,可直接由公式“键值=行号4列号”计算键值,见下表。1. 行扫描法编程行扫描法编程 计算出闭合键的键值后,再判断键释放否?若键未释放,则等待;若键已释放,则再延时消抖,然后判断是命令键还是数字键。若是命令键,则转入命令键处理程序,完成命令键的功能;若是数字键,则转入数字键处理程序,
60、进行数字的存储和显示等。63机械电子工程系机械电子工程系主主讲讲:陈慧:陈慧 Micro Control System 51 Series1. 行扫描法编程行扫描法编程KEY1: LCALL KS1 ;检查有闭合键否? JNZ LK1 ;A非0,有键闭合则转 LJMP LK8 ;无键闭合转返回 LK1: LCALL DIR ;有键闭合,则延时12ms LCALL DIR ;消抖 LCALL KS1 ;再次检查有键闭合否? JNZ LK2 ;有键闭合则转 LJMP LK8 ;无键闭合转返回 LK2: MOV R3,00H ;行号初值送R3 MOV R2,FEH ;行扫描初值送R2 LK3: MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木质乐器制作工艺传承考核试卷
- 票务代理行程规划与咨询考核试卷
- 电池制造过程中的市场趋势分析考核试卷
- 木材的天然防腐和抗菌性能考核试卷
- 植物油加工过程中的副产物利用策略考核试卷
- 电视接收设备的智能广告投放系统考核试卷
- 泵的耐高温材料与涂层技术考核试卷
- 有机化学原料的可持续采购策略考核试卷
- 厦门城市职业学院《医学成像原理与图像处理》2023-2024学年第二学期期末试卷
- 萍乡卫生职业学院《文化产业项目策划》2023-2024学年第二学期期末试卷
- 2024年医疗器械经营质量管理规范培训课件
- 小学语文教材的变迁
- 多式联运智慧物流平台构建方案
- 2024年21起典型火灾案例及消防安全知识专题培训(消防月)
- 支票抵押借款协议
- 2024年个人之间清账协议书模板
- GB/T 36187-2024冷冻鱼糜
- 人教版四年级上册数学【选择题】专项练习100题附答案
- GB/T 31078-2024低温仓储作业规范
- 湖南省长沙市雨花区2023-2024学年八年级下学期期末考试历史试题(解析版)
- 空天地一体化算力网络资源调度机制
评论
0/150
提交评论