《单片机原理与实践指导 教学课件 ppt 作者 邓兴成第5章 并行IO口》由会员分享,可在线阅读,更多相关《单片机原理与实践指导 教学课件 ppt 作者 邓兴成第5章 并行IO口(21页珍藏版)》请在金锄头文库上搜索。
1、第5章 并行I/O口及其应用,I/0扩展方法有两种: 1、借用外部RAM地址来扩展I/O端口。 2、采用并行I/O接口芯片扩展I/O端口。,5.1 MCS-51单片机并行I/O口及其应用,5.1.1 内部I/O口用于输入或输出 例5.1:使用单片机编程实现如图5-2(a)所示逻辑电路。P1.0和P1.1作为输入信号引脚,P1.2为状态引脚,P2.7为逻辑的输出。图5-2(b)是实际电路连接。当S3闭合时,表示外部设备已准备好。,5.1.2 MCS-51单片机与外部设备的连接 MCS-51单片机将外部设备与片外RAM统一编址 。 单片机与外部设备进行数据交换使用的指令为MOVX。 当外部设备的地
2、址不超过255单元地址,可使用的指令为: MOVX Ri,A ;A中数据传送至外部设备 MOVX A,Ri ;外部设备数据传送到A 当外部设备的地址超过255单元地址时,使用的指令为: MOVX DPTR,A ;A中数据传送至外部设备 MOVX ,DPTR ;外部设备数据传送至A,5.2 并行I/O接口扩展芯片,5.2.2 单片机常用I/O口扩展芯片介绍 一、8155可编程并行I/O扩展芯片 1、逻辑和引脚功能,RESET:复位信号输入端,高电平有效。 IO/M: I/O口操作或RAM选择端。 CE:片选信号输入端,低电平有效。 RD:读选通信号输入端,低电平有效。 WR:写选通信号输入端,低
3、电平有效。,AD7AD0:8位地址/数据总线。 PA7PA0:8位通用I/O端口A口。 PB7PB0:8位通用I/O端口B口。 PC5PC0:6位控制I/O端口C口。 TIMER IN:定时器/计数器时钟输入端口。 TIMER OUT:定时器/计数器信号输出端口。 VCC、VSS:+5V电源、地。,28155内部各寄存器及其作用 (1)8155 片内寄存器地址分配,(2)命令寄存器 命令寄存器为8位寄存器,用于存放单片机送来的命令字,设定I/O口的工作方式以及实现对中断和定时/计数器的控制。 PA:A口工作方式位。当PA=1时,A口定义为输出方式;当PA=0时,A口定义为输入方式。 PB:B口
4、工作方式位。当PB=1时,B口定义为输出方式;当PB=0时,B口定义为输入方式。 PC2和PC1的组合可确定I/O的工作方式。,IEA:A口中断允许位。当IEA=0时,禁止A口中断;当IEA=1时,允许A口中断。 IEB:B口中断允许位。当IEB=0时,禁止B口中断;当IEB=1时,允许B口中断。 TM2和TM1的组合控制8155内部的定时/计数器。,(3)状态寄存器 INTRA:A口中断请求位。INTRA=0,8155的A口无中断;INTRA=1,8155的A口有中断。 ABF:A口缓冲器标志位。ABF=0,A口缓冲器空;ABF=1,A口缓冲器满。 INTEA:A口中断位。INTEA=0,禁
5、止A口中断;INTEA=1,允许A口中断。 INTRB:B口中断请求位。INTRB=0,8155的B口有中断;INTRB=1,8155的B口无中断。 BBF:B口缓冲器标志位。BBF=0,B口缓冲器空;BBF=1,B口缓冲器满。 INTEB:B口中断位。INTEB=0,禁止B口中断;INTEB=1,允许B口中断。 TIMER:定时器中断标志位。TIMER=0,无定时器溢出中断;TIMER=1,有定时器溢出中断。,38155的工作方式 (1)作为单片机的片外RAM (2)作为单片机的扩展I/O I/O口的基本工作方式 当8155被编程为ALT1或ALT2时,A口、B口和C口均为基本输入输出方式,
6、而命令寄存器的PA、PB位选择A口、B口为输入或输出工作方式。 I/O口选通工作方式,48155的定时器/计数器,将8155作为分频器对输入时钟信号进行100分频,初始化程序如下: 寄存器端口地址: 命令寄存器地址: 8000H 定时寄存器低8位地址: 8004H 定时寄存器高8地址位: 8005H 初始化程序: ORG 0000H LJMP MAIN ORG 0030H MAIN:MOV DPTR,#8005H ;定时器高字节地址存DPTR MOV A,#70H ;定时器高字节送A,采用连续方波输出 MOVX DPTR,A ;装入定时器高字节 DEC DPTR ;DPTR指向定时器底字节端口 MOV A,#64H ;定时器低字节送A MOVX DPTR,A ;装入定时器低字节 MOV DPTR,#8000H ;命令字地址存DPTR MOV A,#0C0H ;命令字送A MOVX DPTR,A ;装入控制字,开始计数 SJMP $,5.3 显示输出和键盘输入,5.3.1 数码管(LED)显示,实验 将数字0-9中任意6个数经过8155送8段数码管显示。 段选码由A口输出,位选码由C口输出。,