第7章 并行IO接口电路扩展设计
- 格式:pdf
- 大小:1.22 MB
- 文档页数:35
第7章并行I/O接口7.1概述图7-1微型机和外设的接口示意图2电子商务基础教程(第二版) 7.1.1 I/O接口的作用1. 实现与不同外设的速度匹配2. 改变数据传送方式3. 改变信号的性质和电平7.1.2外部设备的编址1. 外设端口的单独编址图7-2外设端口的编址方式示意图网络工程技术与实验教程 32. 外设端口和存储器统一编址7.1.3 I/O数据的四种传送方式1. 同步传送图7-3 CPU和开关电路的接口2. 异步传送图7-4 I/O数据的异步传送示意图3. 中断传送图7-5 I/O数据的中断传送示意图4电子商务基础教程(第二版)4. DMA传送图7-6 DMA控制器工作框图网络工程技术与实验教程 5 7.1.4 I/O接口的类型1. 串行I/O接口2. 并行I/O接口7.2 MCS-51内部并行I/O端口及其应用7.2.1 MCS-51内部并行I/O端口6电子商务基础教程(第二版)图7-7 MCS-51各通道某位的结构网络工程技术与实验教程7 7.2.2 MCS-51内部并行I/O端口的应用1. I/O口直接用于输入/输出图7-8例7-1附图2. 8位I/O端口改装为非8位端口3. MCS-51 对外部三态门和锁存器的接口图7-10 8031和74LS244的接口图7-11 8031和74LS373的接口8电子商务基础教程(第二版) 7.3并行I/O接口芯片7.3.1Intel 8255A1. 内部结构和引脚功能图7-12 8255A内部结构网络工程技术与实验教程9 2. 8255A控制字和状态字图7-13 8255A方式控制字格式图7-14 C口单一置复位控制字格式10电子商务基础教程(第二版)图7-15模式1下的状态字格式3. 8255A工作模式图7-16模式2下的状态字格式图7-17 A口模式1选通输入方式下工作示意图图7-18 B口模式1选通输出方式下工作示意图图7-19 A口在模式2方式下的工作示意图7.3.2 Intel 81551. 内部结构和引脚功能图7-20 8155内部结构图7-21 8155命令字格式2. CPU对8155 I/O口的控制图7-22 8155状态字格式3. 8155工作方式图7-23选通I/O数据输入示意图图7-24选通I/O数据输出示意图4. 8155内部定时器及使用图7-25 8155定时器长度字格式及T/OUT输出波形7.4 MCS-51并行I/O端口的扩展7.4.1借用外部RAM地址扩展I/O端口图7-26 8031与打印机的接口7.4.2采用8255A扩展I/O端口图7-27 8031通过8255A与打印机的接口7.4.3采用8155扩展I/O端口1. 8位地址的全译码法图7-28 8031和8155的接口2. 8位地址的线选法3. 16位地址的线选法7.5 MCS-51对LED/LCD/键盘的接口7.5.1 MCS-51对LED的接口1. LED数码显示管显示原理图7-29八段LED数码显示管原理和结构2. MCS-51 对LED的显示图7-30 8031通过8155对LED的接口图7-31例7.7的显示缓冲区7.5.2 MCS-51对LCD的接口1. LCD显示器的基本结构和原理图7-32七段LCD液晶显示器原理和结构2. LCD显示器的驱动原理图7-33 LCD驱动和显示电路3. LCD显示器的主要参数4. MCS-51对字段式LCD的接口图7-34 TSC7211AM原理框图图7-35 YXY4501引脚分配图7-37 412位LCD显示程序框图7.5.3 MCS-51对非编码键盘的接口1. MCS-51对独立式非编码键盘的接口图7-38 8031对独立式键盘的接口2. MCS-51对行列式非编码键盘的接口图7-39 8031对键盘/LED的接口图7-40键盘按键排布图图7-41 SCAN程序流程图7.5.4键盘/显示系统图7-42键盘/显示系统主程序流程图7.6 MCS-51 内部定时器/计数器7.6.1 MCS-51对内部定时器/计数器的控制1. 定时器控制寄存器TCON图7-43定时器控制寄存器TCON各位定义2. 定时器方式寄存器TMOD图7-44定时器方式控制寄存器TMOD格式图7-45定时器/计数器T0方式控制逻辑7.6.2工作方式图7-46定时器/计数器的TH和TL分配3. 方式24. 方式37.6.3 MCS-51对内部定时器/计数器的初始化1. 初始化步骤2. 计数器初值的计算3. 定时器初值的计算7.6.4应用举例图7-47例7-11附图习题与思考题7.1什么叫I/O接口?I/O接口的作用是什么?7.2外设端口有哪两种编址方法?各有什么特点?7.3 I/O数据有哪四种传送方式?各在什么场合下使用?7.4结合图7-6说明DMA传送的工作过程。
实验七8255 并行I/O扩展实验一、实验要求利用8255 可编程并行口芯片,实现输入、输出实验,实验中用8255PA 口作读取开关状态输入,8255PB 口作控制发光二极管输出。
二、实验目的1、了解8255 芯片结构及编程方法。
2、了解8255 输入、输出实验方法。
三、实验电路及连线1、Proteus 实验电路2、硬件验证实验硬件连接表四、实验说明1、8255A 芯片简介:8255A 可编程外围接口芯片是INTEL 公司生产的通用并行接口芯片,它具有A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式2、使8255A 端口A 工作在方式0 并作为输入口,读取Kl-K8 个开关量,PB 口工作在方式0作为输出口。
五、实验程序流程图六、实验步骤1、Proteus 仿真a.在Proteus 中打开设计文档8255_STM.DSN;b.建立实验程序并编译,仿真;c.如不能正常工作,打开调试窗口进行调试。
参考程序:CODE SEGMENTASSUME CS:CODEIOCON EQU 8006HIOA EQU 8000HIOB EQU 8002HIOC EQU 8004H START:MOV AL,90HMOV DX,IOCONOUT DX,ALNOPSTART1:NOPNOPMOV AL,0MOV DX,IOAIN AL,DXNOPNOPMOV DX,IOBOUT DX,ALJMP START1 CODE ENDSEND START2、实验板验证a.通过USB 线连接实验箱b.按连接表连接电路c.运行PROTEUS 仿真,检查验证结果。
单片机并行I/O口的扩展方法摘要:由于在MCS-51单片机开发中P0口经常作为地址/数据复用总线使用,P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等)使用,所以对于51单片机的4个I/O口,其可以作为基本并行输入/输出口使用的只有P1口。
因此在单片机的开发中,对于并行I/O口的扩展十分重要,主要分析3种扩展并行I/O口的方法。
关键词: MCS-51单片机; 并行I/O口; 扩展MCS-51单片机有4个并行的I/O口,分别为P0口、P1口、P2口和P3口,4个并行I/O 口在单片机的使用中非常重要,可以说对单片机的使用就是对这4个口的使用。
这4个并行I/O口除了作为基本的并行I/O口使用,还常作为其他功能使用,如P0口经常作为地址/数据复用总线使用[1], P2口作为高8位地址线使用,P3口用作第二功能(定时计数器、中断等等)使用。
这样,单片机只有P1口作为基本的并行I/O口使用,如果在单片机的使用中对并行I/O口需求较多,对于并行I/O口的扩展就非常重要了。
下面通过具体的实例(8位流水灯设计)来给出几种不同的并行I/O口扩展方法。
为了更好地说明以下几种不同的并行I/O口扩展方法,假设利用单片机实现流水灯的设计。
采用单片机的P1口设计流水灯,电路。
由图1可知,8只LED直接连接在单片机的P1口上,通过对单片机进行编程即可以实现8只发光二极管产生流水灯。
1 使用单片机的串行口扩展并行I/O口单片机有一个全双工的串行口[2],这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为移位寄存器使用。
当单片机的串行口工作在模式0时,若外接一个串入/并出的移位寄存器(74LS164),就可以扩展一个8 bit并行输出口;若外接一个并入/串出的移位寄存器(74LS165),就可以扩展一个8 bit并行输入口。
,单片机外接一个串入/并出的移位寄存器(74LS164),这样就可以扩展8 bit并行输出口。
单片机基础第七章单片机IO扩展及应用《单片机基础第七章单片机 IO 扩展及应用》在单片机的应用中,IO 端口(Input/Output 端口,输入/输出端口)往往是有限的。
然而,在实际的项目开发中,我们可能需要连接更多的外部设备,这就涉及到单片机 IO 扩展的知识。
单片机的 IO 端口是与外部世界进行交互的重要通道。
通过这些端口,单片机可以接收外部的输入信号,例如按键的按下、传感器的数据等,同时也可以向外输出控制信号,驱动各种执行器,如 LED 灯、电机等。
但当我们需要连接的外部设备数量超过单片机本身所提供的IO 端口数量时,就必须考虑进行 IO 扩展。
IO 扩展的方式多种多样,常见的有并行扩展和串行扩展。
并行扩展是通过增加并行接口芯片来实现的。
并行扩展的优点是数据传输速度快,能够在一个时钟周期内同时传输多个位的数据。
例如,我们可以使用 8255 芯片来扩展并行 IO 端口。
8255 具有三种工作方式,可以根据实际需求灵活配置为输入端口或输出端口。
在进行并行扩展时,需要注意地址线的连接和译码。
通常,我们会使用地址译码器来生成芯片的片选信号,确保单片机能够准确地访问到扩展的 IO 端口。
串行扩展则是通过串行通信的方式来实现 IO 扩展。
相比于并行扩展,串行扩展所需的连线较少,有利于节省电路板的空间和降低成本。
常见的串行扩展方式有SPI(Serial Peripheral Interface,串行外设接口)和 I2C(InterIntegrated Circuit,集成电路总线)。
SPI 是一种高速的全双工同步串行通信接口,通常需要四根线:时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和片选线(CS)。
通过合理地配置这些信号线,我们可以实现多个 SPI 设备的连接和数据传输。
I2C 则是一种两线式串行总线,只需要两根线:串行数据线(SDA)和串行时钟线(SCL)。
中南大学交通运输工程学院中南大学是一所学科齐全、工学和医学见长、具有优良办学传统的教育部直属全国重点大学,
是首批进入国家“211工程”重点建设的高校,
也是国家“985工程”部省重点共建的高水平大学。
2000年4月29日,经国务院批准,由湖南医科大学、长沙铁道学院与中南工业大学合并组建而成。
2004年列为中管高校。
7.1 概述
单片机本身集成了I/O口。
89C51:P0~P3口均可作I/O (若不扩展外部并行接口)。
8031:P1、P3口可作I/O。
若在应用中I/O口线或片内资源不够,则需外接芯片进行扩展。
扩I/O接口的功能是:
1.对单片机输出的数据锁存
锁存数据线上瞬间出现的数据,以解决单片机与I/O设备的速度协调问题。
2.对输入设备的三态缓冲
外设传送数据时要占用总线,不传送数据时必须对总线呈高阻状态。
利用I/O接口的三态缓冲功能,可以实现I/O设备与数据总线的隔离,便于其它设备的总线挂接。
4.时序协调
不同的I/O设备定时与控制逻辑是不同的,并与CPU的时序往往是不一致的,这就需要I/O接口进行时序的协调。
7.2可编程并行I/O接口芯片8255A
可编程是指可由用户编程定义接口
的功能,如输入、输出、位控等。
7.2.1 8255A的结构
1. 概述
8255A是Intel公司生产的标准外围
8255A
接口电路。
+5V电源供电,
40Pin,DIP封装。
它有PA、PB、
PC 3个端口共24条I/O线,可以通
过编程的方法来设定端口的各种
I/O功能。
7.2.1 8255A 的结构(续1)
(1)与外设相连接的有:PA7~PA0:A 口I/O 线PB7~PB0:B 口I/O 线PC7~PC0:C 口I/O 线(2)与单片机相连接的有:
D0~D7 数据总线
RESET :复位信号,高有效。
当RESET 有效时, 3个端口被设为输入方式。
:片选信号,低有效。
只有当 有效时,
才选中芯片,允许8255A 与CPU 交换信息。
:读信号,低有效。
当
有效时,CPU 可以从8255A 中读取输入数据。
:写信号,低有效。
当 有效时,CPU 可以往8255A 中写入控制字或数据
CS CS RD RD WR WR
2. 8255A的结构
7.2.2 8255A的操作说明
在使用前需进行初始化,即要编程定义各口的工作方式。
1.工作方式选择
有3种工作方式:方式0、方式1和方式2。
这些工作方式可编程来指定。
方式0:基本输入/输出方式,3个口都可以通过方式控制字设定为输入或输出。
主要掌握此种工作方式。
方式1:选通输入/输出方式
方式2:带选通双向传送方式(仅A口有)
(1)方式选择控制字
向8255的控制寄存器写入代码(方式选择控制字)用于确定各口的工作方式及数据传送方向,其格式如图所示。
A1
A0 5V
89C51
使用头文件absacc.h absacc.h
中定义的宏来访问绝对地址。
用 XBYTE 宏来定义访问外部RAM 的地址。
例7-2(功能同例7-1)
#include <reg51.h>
#include <#include <absacc.h absacc.h absacc.h>
>#define PA XBYTE[0x0000] //定义PA 为外部RAM 地址为0x0000的单元#define PB XBYTE[0x0001] //定义B 口#define PC XBYTE[0x0002] //定义C 口#define CON XBYTE[0x0003] //定义控制口Main()
{ char { char xA xA xA;
; CON=0x91; //A 口入,C 口L 入,B 口出,C 口H 出 PB=0xaa; //B PB=0xaa; //B 口的PB1,3,5,7为"1",PB0,2,4,6为"0"0““ PC=0; //C 口的PC4,5,6,7为"0" CON=0x09; //PC4=1(对C 口进行位控 xA xA xA=PA; //=PA; //=PA; //xA xA 中为A 口引脚的状态 ……………… }
(b)A口、B口均为输出时(a)A口、B口均为输入时; (b)A
)A1A0
复位电路
89C51
5V
7.3 可编程RAM/IO接口8155/8156
它含有1个256字节的RAM、1个14位定时/计数器以及3个并行I/O 口,其中A口、B口均为8位,C口为6位。
A口、B口既可作为基本I/O 口,也可作为选通I/O口;
C口除可作为基本I/O
口外,还可用作A口、
B口的应答控制联络信
号线。
此外,8155内部
还有一个控制寄存器
组,用来存放控制命令
字。
其余略
74LS377的地址: 0xxx 0xxx xxxx xxxx xxxx xxxx xxxx
xxxxB 0x7FFF 可作为该口地址。
对该口的输出操作如下:
char x1, char x1, char x1, xdata xdata xdata *ptr ptr;
; ptr=0x7FFF; //ptr指向74LS377输出口
1 x x
0 1 0/1 =Di 0 1 0/1 = 0 0 x =
89C51
(a)
(b)
串行扩展概述
串行扩展特点:占用口线少,充分发挥单片机的I/O的资源;简化连接线路,缩小印板面积;扩展性好,可简化系统的设计。
串行扩展的缺点: 信号传输速度较之并行慢,但随着CPU芯片工作频率的提高,以及串行扩展芯片功能的增强,这些缺点将逐步淡化.
1.一线制
典型代表为Dallas公司推出的单总线(1-wire)。
二线制的典型代表为philips公司推出的I2C总线(Intel
Integrated Circuit BUS)。
目前I2C总线的芯片很多,如存储器RAM,EEPROM,时钟,AD转换,DA转换,显示键盘接口,I/O接口等
三线制(不包括片选线)主要有两种:
⑴ 由Motorala公司推出的SPI(Serial peripheral
Interface),
⑵ 由NS公司推出的Micro wire /PLUS。
三线制的芯片也很多,如存储器RAM,EEPROM,时钟,AD转换,DA转换,显示键盘接口,I/O接口等。
中南大学交通运输工程学院中南大学是一所学科齐全、工学和医学见长、具有优良办学传统的教育部直属全国重点大学,
是首批进入国家“211工程”重点建设的高校,
也是国家“985工程”部省重点共建的高水平大学。
2000年4月29日,经国务院批准,由湖南医科大学、长沙铁道学院与中南工业大学合并组建而成。
2004年列为中管高校。