第十六讲_基于8255实现IO扩展_091001_第1页
第十六讲_基于8255实现IO扩展_091001_第2页
第十六讲_基于8255实现IO扩展_091001_第3页
第十六讲_基于8255实现IO扩展_091001_第4页
第十六讲_基于8255实现IO扩展_091001_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、本讲教学内容: 单片机I/O口直接扩展LED与键盘的应用举例 8255的结构、功能及应用 单片机基于8255扩展LED与键盘,80C51单片机基于8255的I/O扩展,LED显示器接口技术,1.LED显示器概述 发光二极管 数码管 数码管的特点: 共阴极接法: 共阳极接法:,LED显示器接口技术,2.LED显示器显示原理 段码:字形代码,h g f e d c b a 显示码 0 1 1 0 0 0 0 0 0 C0H 1 1 1 1 1 1 0 0 1 F9H 2 1 0 1 0 0 1 0 0 A8H 3 1 0 1 1 0 0 0 0 B0H 4 5 6 7 8 9 A B C D E

2、F,表0 七段LED字型码,LED显示器接口技术,2.LED显示器显示原理 LED显示器动态显示方式: LED显示器静态显示方式:,键盘接口技术,1.键扫描和键码生成 键盘举例:4行X4列 键盘扫描: 行扫描法 键盘扫描程序流程: 键码 键码表,4X4 键码表,80C51 单片机片上的I/O口和用途 片上共有四个口P0、P1、P2、P3,可用作基本的I/O口使用,除 P1口外这些口都是多功能的。 P0口:用作数据总线和低8位地址总线。 P2口:用作高8位地址总线。 P3口:第二功能: P3.0: RxD P3.4: T0 P3.1: TxD P3.5: T1 P3.2: INT0 P3.6:

3、WD P3.3: INT1 P3.7: RD,因此,在较复杂的系统中,I/O口就不够,必须进行扩展,Intel公司的许多外围电路都可作为51的扩展口,常见的有: 8155:可编程的RAM/IO定时扩展口。 8255:可编程的并行扩展口。 8279:可编程的键盘/显示接口。 8214:可编程的中断管理接口。 8251:可编程的串行接口。 74LS373、74LS273等。,8255硬件逻辑结构和信号引脚,8255的全称是“可编程并行输入/输出接口芯片” 8255是一个40引脚的双列直插式集成电路芯片。,8255的逻辑结构如图所示,8255的内部结构按功能可分为三个逻辑电路部分:口电路、总线接口电

4、路和控制逻辑电路。 口电路 8255A共有三个8位口: A口、B口和C口。 A口和B口:单纯的数据口,供数据I/O使用。 C口:既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。 A组:数据传送中A口所需的控制信号由C口高位部分(PC7PC4)提供,因此把A口和C口高位部分合在一起称之为A组; B组:数据传送中B口所需的控制信号由C口低位部分(PC3PC0)提供,同样理由把B口和C口低位部分(PC3PC0)合在一起称之为B组。,8255的内部结构, 总线接口电路 用于实现8255A和单片微机的信号连接。其中包括: 数据总线 8位双向三态缓冲器,可直接和80C51的数据线相连,与

5、I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。 控制总线:读/写控制逻辑 CS片选信号(低电平有效) RD读信号(低电平有效) WR写信号(低电平有效) RESET复位信号(高电平有效)。复位之后,控制寄存器清除,各端口被置为输入方式。, 地址总线:A0、A1端口选择信号。8255A共有四个可寻址的端口(即A口、B口、C口和控制寄存器),用二位地址编码即可实现选择。参见表1。,表1 8255A接口工作状态选择表, 控制逻辑电路 控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器。用于存放各口的工作方式控制字。 中断控制电路:中断触发器,图1 8255A方式控制字,

6、图2 8255A的C口按位操作控制字,8255A共有三种工作方式,即方式0、方式1、方式2. 方式0 基本输入/输出方式 方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。 方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。,8255A工作方式, 方式1 选通输入/输出方式 A口和B口分别用于数据的输入/输出。而C口则作为数据传送的联络信号。具体定义见表2。可见A口和B口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。如果两个口都按方式1使

7、用,则还剩下2位口线,这两位口线仍然可以进行位状态的输入输出。 方式1适用于查询或中断方式的数据输入/输出。 方式2 双向数据传送方式 只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。在这种方式下需使用C口的五位线作控制线,信号定义如表2所示。方式2适用于查询或中断方式的双向数据传送。如果把A口置于方式2下,则B口只能工作于方式0.,表2 C口联络信号定义,数据输入操作 用于输入操作的联络信号有: STB(StroBe)选通脉冲,输入,低电平有效。 当外设送来STB信号时,输入数据装入8255的锁存器。 IBF(Input Buffer Full) 输入缓冲器满信号,输出,高电

8、平有效。 IBF信号有效,表明数据已装入锁存器,因此它是一个状态信号。 INTR(INTerrupt Request) 中断请求信号,高电平有效,当IBF为高,信号由低变高(后沿)时,中断请求信号有效。向单片微机发出中断请求。,数据输入I/0操作,数据输入过程:当外设准备好数据输入后,发出信号,输入的数据送入缓冲器。然后IBF信号有效。如使用查询方式,则IBF即作为状态信号供查询使用;如使用中断方式,当信号由低变高时,产生INTR信号,向单片微机发出中断。单片微机在响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时也使IBF信号同时变低。以通知外设准备下一次数据输入。,数据输出操

9、作 用于数据输出操作的联络信号有: ACK(ACKnowledge) 外设响应信号输入,低电平有效。 当外设取走输出数据,并处理完毕后向单片微机发回的响应信号。 OBF(Output Buffer Full)输出缓冲器满信号,输出,低电平有效。 当单片微机把输出数据写入8255A锁存器后,该信号有效, 并送去启动外设以接收数据。 INTR中断请求信号,输出,高电平有效。,数据输出过程:外设接收并处理完一组数据后,发回ACK信号。该信号使OBF变高,表明输出缓冲器已空。如使用查询方式,则OBF可作为状态信号供查询使用;如使用中断方式,则当ACK信号结束时,INTR有效,向单片微机发出中断请求。在

10、中断服务过程中,把下一个输出数据写入8255A的输出缓冲器。写入后OBF有效,表明输出数据已到,并以此信号启动外设工作,取走并处理8255A中的输出数据。,8255A是可编程接口芯片,共有两种控制字,即8255A工作方式控制字和C口位置位/复位控制字。 工作方式控制字 工作方式控制字用于确定各口的工作方式及数据传送方向。其格式如图1所示。 C口位置位/复位控制字 C口的每一位都可以进行置位或复位。对C口各位的置位或复位是由位置位/复位控制字进行的。8255A的位置位/复位控制字格式如图2所示。 D7是该控制字的特征位,其状态固定为0。在使用中,控制字每次只能对C口中的一位进行置位或复位。,82

11、55A控制字,图1 8255A方式控制字,图2 8255A的C口按位操作控制字,8255A与80C51的接口电路见图3。 由图分析:PA地址为7FFCH(A15=0,A1=0,A0=0) PB地址为7FFDH(A15=0,A1=0,A0=1) PC地址为7FFEH(A15=0,A1=1,A0=0) 控制寄存器地址为7FFFH(A15=0,A1=1,A0=1),8255A与80C51的接口及应用,图3 8255A与80C51的接口电路,例1:对8255A各口作如下设置:A口方式0,B口方式0, 数据从A口输入从B口、C口输出。 分析:工作方式控制字10010000,即90H。 初始化程序段为:

12、MOV A,#90H;设B口、 C口输出, ; A口输入, A口、B口为方式0 MOVDPTR,#7FFFH MOVX DPTR,A MOVDPTR,#7FFCH ;从A口输入 MOVXA,DPTR INCDPTR;从B口输出 MOVXDPTR,A INCDPTR ;从C口输出 MOVXDPTR,A,例2:把C口的第5位PC5置为1。 MOVDPTR,#7FFFH MOVA,#00001011;PC5置位 MOVXDPTR,A,ORG 0 SJMP START START: MOV SP,#5FH MOV P2,#0FFH LOOP: MOV R0,#4 MOV R1,#0EFH MOV R2

13、,#0FFH NKEY: MOV A,R1 MOV P1,A MOV A,P1 ORL A,#0F0H CJNE A,#0FFH,KEYIN MOV A,R1 RL A MOV R1,A DJNZ R0,NKEY LJMP LOOP,ORG 0 SJMP START START: MOV SP,#5FH MOV DPTR,#7FFFH MOV A,#81H MOVX DPTR,A MOV DPTR,#7FFCH MOV A,#0FFH MOVX DPTR,A LOOP: MOV R0,#4 MOV R1,#0EFH MOV R2,#0FFH NKEY: MOV A,R1 MOV DPTR,#7

14、FFEH MOVX DPTR,A MOVX A,DPTR ORL A,#0F0H CJNE A,#0FFH,KEYIN MOV A,R1 RL A MOV R1,A DJNZ R0,NKEY LJMP LOOP,例2:,ORG 0 SJMP START ORG 30H START: MOV R1,#01H MOV R2,#0FEH MOV R3,#04H LOOP:MOV A,R2 MOV P1,A RL A MOV R2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P2,A LCALL DLY4MS INC R1 DJNZ R3,LOOP SJMP

15、START,TAB: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H DB 0C6H,0A1H,86H,8EH DLY4MS: MOV R6,#1H D1: MOV R7,#50; DJNZ R7,$ DJNZ R6,D1 RET END,ORG 0 SJMP START ORG 30H START: MOV R1,#01H MOV R2,#0FEH MOV R3,#04H LOOP:MOV A,R2 MOV P1,A RL A MOV R2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR

16、 MOV P2,A LCALL DLY4MS INC R1 DJNZ R3,LOOP SJMP START,ORG 0 SJMP START ORG 30H START: MOV DPTR,#7FFFH MOV A,#80H MOVX DPTR,A MOV DPTR,#7FFEH MOVX DPTR,A MOV DPTR,#7FFCH MOVX DPTR,A, 简单输出口的扩展 输出口的主要功能是进行数据保持(锁存) ,一般应用锁存器芯片实现。,80C51简单I/O的扩展,图4 74LS377与80C51的接口电路,74LS377芯片,该芯片是一个具有“使能”控制端的8D锁存器。一个时钟输入端CK,一个锁存允许信号G,当G=0时,CK的上跳变将把8位D输入端的数据打入8位锁存器,这时Q输出端将保持D端输入的数据。80C51与74LS377的接口

温馨提示

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

评论

0/150

提交评论