单片机并口扩展

合集下载

80C51单片机并行IO口的扩展毕业设计资料

80C51单片机并行IO口的扩展毕业设计资料

摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断的走向深入。

但是在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。

单片机扩展通常是借助外部器件对系统进行扩展。

本文主要研究了采用可编程多功能扩展芯片intel 8155扩展单片机I/O 口。

把单片机作为一个核心部件,设计单片机与8155的接口,并实现数码管三位数字的显示。

本文的主要内容有:单片机的概述,设计的意义,核心器件intel 8155芯片、80C51单片机、数码管的介绍,单元电路模块,设计原理图及流程图,软件编程设计以及最后的结果和个人在整个设计前后的心得体会。

关键词:单片机,8155,数码管,动态显示。

- I -AbstractWith the development of computer penetration in the social field and LSI in recent years, the application of MCU is constantly deepening. but in the actual measurement and control system constituted by the microcontroller, the smallest applications system often can not meet the requirements, so we have to solve the system expansion. The Microprocessor usually use an external device to relize the expansion of the system.Adopting Intel 8155 which is a kind of programmable multi-function expansion chip,this paper studies the expansion of MCU parallel I/O port. MCU act as a core component,.we have designed the 8155 chip interface to relize three digital display on LED numerical code tube.The main content of this paper are microcontroller overview of the significance of the design, the core of the device intel 8155 ;80C51 microcontroller, the introduction of LED numerical code tube, the unit circuit module,design schematics and flowcharts, software programming design, the final results and individual feelings and experiences throughout the design.Key words:MCU, 8155, LED numerical code tube, dynamic display.目录1.绪论 (1)1.1单片机概述 (1)1.2课题研究背景及意义 (2)1.3设计任务 (3)2.核心器件基本结构与工作原理 (4)2.180C51单片机 (4)2.2带RAM和计数器的可编程并行I/O扩展接口8155 (6)2.2.1 结构和引脚 (6)2.2.2 8155命令和状态字 (8)2.2.3 8155定时器/计数器 (12)2.2.4 MCS-51和8155的接口方法 (13)2.3LED显示器接口 (14)2.3.1 LED显示器的工作原理 (15)2.3.2 LED显示器的显示方式 (16)3.硬件设计 (19)3.1元器件列表 (19)3.2单元电路模块设计 (21)3.2.1 单片机 (21)3.2.2 晶振电路 (22)- 1 -3.2.3 复位电路 (22)3.2.4 Intel 8155与AT89S51接口电路 (23)3.2.5 LED数码管显示电路 (23)3.3总设计原理图 (24)4.软件设计 (25)5.成果展示 (26)总结 (27)致谢 (28)参考文献 (1)附录 (2)80C51单片机并行I/O口的扩展1.绪论1.1 单片机概述单片机是在一片芯片上集成了中央处理器CPU、随机储存器RAM、程序储存器ROM或EPROM、定时器/计数器、中断控制器以及串行和并行I/O口等功能器件的微型计算机。

单片机端口扩展的方法

单片机端口扩展的方法

实验4 单片机端口扩展实验目的通过此实验学习单片机I/O口的扩展,实验通过扩展芯片8255A实现。

实验内容通过8255A芯片进行单片机I/O口扩展。

实验步骤1、在Proteus环境中绘制仿真电路图。

在前面实验中加入一个74LS373锁存器(关键词‘74LS373’),一个8255A扩展芯片(关键词‘8255A’),LED灯,电阻,开关(关键词‘BUTTON’)搭建如图5-1所示仿真电路。

图5-1 I/O扩展实验仿真电路图2、连线说明:74LS373锁存器11引脚主要进行信号的状态选择控制,它直接与CPU的ALE 管脚相连,当它为“1”时,锁存器输出状态(Q0~Q7)同输入状态(D0~D7);当它由“1”变“0”时,数据打入锁存器中。

本文设计中用锁存器出口的Q0、Q1和Q7与8255A芯片的A0、A1和/CS管脚相连,/CS管脚为片选信号输入管脚,A0、A1为8255A芯片出口模式选择信号引脚。

3、8255A端口地址确定简介:端口地址随硬件电路连接的变化而变化,一片8255A占4个端口地址:PA 口、PB口、PC口、控制口,由/CS、A1、A0决定。

/CS、A1、A0接单片机的地址总线,构成单片机访问8255A的16位地址:16位总线访问地址=片选地址+片内地址/CS、A1、A0与地址总线的连接方案不同,端口地址也就不同。

比如:将没有连接的地址线设为1,由上面的连接方式,8255A四个端口地址分别为:PA=7FFCH;PB=7FFDH;PC=7FFEH;控制口=7FFFH;端口地址与电路连接关系密切,端口地址的正确确定是CPU对8255访问的关键。

在本实验电路设计中,利用锁存器实现端口地址的锁存,由连线可以看到P0.0、P0.1和P0.7分别与8255A芯片的A0、A1和/CS引脚相连,则可以确定本实验8255A芯片各端口地址为:PA=FF7CH;PB=FF7DH;PC=FF7EH;控制口=FF7FH4、8255A的控制字介绍:(1)工作方式控制字:作用是设置3个并行口I/O选择和设置8255A的工作方式。

8051单片机 课件 并行口扩展

8051单片机 课件 并行口扩展
;指向 指向74LS244读入数据,检测按键 读入数据, 指向 读入数据 输出数据, ;指向74LS273输出数据,驱动 指向 输出数据 驱动LED
MOVX A,@DPTR , MOVX @DPTR,A , SJMP $
可编程I/0芯片的使用
可编程I/O芯片是指芯片功能可由指令来确 定,即需要对其编程。 常用的I/O口芯片有8255和8155。
简单I/O口扩展
用并行口扩展I/O口
选择TTL电路或MOS电路即能组成简单的扩展 I/O口。 如:用8位三态缓冲器74LS244可扩展输入口; 用8D锁存器74LS273、74LS373、74LS377 等可组成输出口。
简单I/O扩展接口 简单I/O扩展接口
口地址的确定及编程应用
因为74LS273和74LS244都是在 和 都是在P2.0为0时被选通 所以二者 时被选通,所以二者 因为 都是在 为 时被选通 地址都可以为FEFFH。 两个芯片的地址虽然相同,但可以通过读写操作来区别 两个芯片的地址虽然相同 但可以通过读写操作来区别 编程应用如下: 编程应用如下: MOV DPTR,#0FEFFH ;指向口地址 ,
片内RAM——0000H~00FFH 片内 命令/状态寄存器 状态寄存器:0400H 命令 状态寄存器 PA:0401H PB:0402H PC:0403H
设置8155工作方式
控制字
(只写不读)
TM2 TM1 IEB IEA PC2 PC1 PB PA (A/B口方式):0—输入,1—输出
00 11 01 10 计 数 器 方 式 方式1:A、B口基本I/O,C口输入 方式2:A、B口基本I/O,C口输出 方式3:A口选通I/O, B口基本I必须设置好工作方式,否则将无法正常工作。 前必须设置好工作方式, 在使用 前必须设置好工作方式 否则将无法正常工作。

单片机数字输入输出接口扩展设计方法

单片机数字输入输出接口扩展设计方法

单片机数字输入输出接口扩展设计方法单片机作为一种常见的微控制器,其数字输入输出接口的扩展设计方法是我们在电子工程领域中经常遇到的任务之一。

在本文中,我们将讨论单片机数字输入输出接口的扩展设计方法,并探讨其中的原理和应用。

在单片机系统中,数字输入输出(I/O)接口在连接外围设备时起着至关重要的作用。

通过扩展数字 I/O 接口可以为单片机系统提供更多的输入输出通道,从而提高系统的功能和性能。

下面将介绍几种常见的单片机数字 I/O 接口扩展设计方法。

1. 并行输入输出接口扩展并行输入输出接口扩展是最常见和直接的扩展方法之一。

通常,单片机的内部I/O口数量有限,无法满足一些复杂的应用需求。

通过使用外部并行输入输出扩展芯片,可以将单片机的I/O口扩展到更多的通道,同时保持高速数据传输。

这种方法可以使用注册器和开关阵列来实现数据的输入和输出。

2. 串行输入输出接口扩展串行输入输出接口扩展是一种节省外部引脚数量的方法。

使用串行输入输出扩展器,可以通过仅使用几个引脚实现多个输入输出通道。

这种方法适用于具有较多外设设备且外围设备数量有限的应用场景。

通过串行接口(如SPI或I2C)与扩展器通信,可以实现高效的数据传输和控制。

3. 矩阵键盘扩展矩阵键盘扩展是一种常见的数字输入接口扩展方法。

很多应用中,需要通过键盘输入数据或控制系统。

通过矩阵键盘的使用,可以大大减少所需的引脚数量。

通过编程方法可以实现键盘按键的扫描和解码,从而获取用户输入的数据或控制信号。

4. 脉冲编码调制(PCM)接口扩展脉冲编码调制是一种常见的数字输出接口扩展方法。

它通过对数字信号进行脉冲编码,将数字信号转换为脉冲信号输出。

这种方法适用于需要输出多个连续的数字信号的应用,如驱动器或步进电机控制。

通过适当的电路设计和编程,可以实现高效的数字信号输出。

5. PWM(脉冲宽度调制)接口扩展PWM接口扩展是一种常用的数字输出接口扩展方法。

PWM技术通过改变信号的脉冲宽度来实现模拟信号输出。

第14讲:MCS-51单片机系统的并口IO扩展(8255)

第14讲:MCS-51单片机系统的并口IO扩展(8255)

8255A 74LS373
1D ~ 8D 2Q 1Q G /OC
8 8
微型打印机
P0
PA0~PA7
A1 A0 PC0 PC7
DB0~DB7
8031
ALE /RD /WR RST /EA
BUSY /STB
D0 ~D7 /RD /WR RESET
分析:因为PC0连接BUSY,所以,PC3~PC0为输入,又因PC7连接 /DATA
STROBE ,所以PC7~PC4为输出;STROBE表示重复的意思;/DATA STROBE 数据选通信号。作用是通知打印机,8255A要给它传数。 PA口输出,PB口未用。 故 8255A的控制字可设为:1000 0001B=81H 由电路图,得PA口地址:7FFCH(地址的无关位取“1”) PB口地址:7FFDH PC口地址:7FFEH 控制口 : 7FFFH
I/O
I/O INTRA /STBA IBFA × ×
I/O
I/O INTRA × × /ACKA / OBFA
(4)8255A的4个端口的地址
①8255各端口的地址如何确定?
CS
0 0 0 0 1
②对8255各端口的操作?
A1
0 0 1 1 ×
A0
0 1 0 1 ×
选中的端口
PA PB PC 控制寄存器 芯片未选中
C口:除了单独作为8位输入、输出口使用外, 还可以按控制命令被分成两个4位端使用, 分别作为A口和B口输出控制信号和输入 状态信号。
A组控制和B组控制:这两组控制电路由 工作方式控制字来设定两组端口的工作 方式和读/写操作。 A组的控制电路管理A口和C口的高5位 (PC7~PC3)的工作方式和读/写操作。 B组的控制电路管理B口和C口的低3位 (PC2~PC0)的工作方式和读/写操作。

单片机并行I-O口的扩展方法

单片机并行I-O口的扩展方法

单片机并行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并行输出口。

一种C51单片机并行口扩展设计及应用

一种C51单片机并行口扩展设计及应用

一种C51单片机并行口扩展设计及应用1 引言C51单片机是我们生活中最常用的系列,MCS-51系列单片机有4个并行口(P0,P1,P2,P3口),但对一个稍微复杂的应用系统来说,真正可供用户使用的并行口,只有P1口可用,况且常常因扩展I2C和SPI的器件需占用某些P1口,迫使用户不得不扩展并行口以满足实际的需要。

习惯上,常用的并行口接口芯片有8255、8155,这两种芯片功能比较齐全,可以使用在相对比较复杂的系统中,但如是对一般的系统而言,这些功能往往闲置不用。

那么就可以选用一些本来闲置不用的口线作为选通信号来进行并行口的扩展,这样就能充分利用单片机有限的I/O资源,在本设计中是将P1口扩展成一个或几个8位并行口,在每一个八位口上接入8个发光二极管做为输出,二极管是做开关量来使用的,在这里设计了跑马灯和流水灯程序,做到对开关量的开断控制;配合开关量的控制笔者设计了一个共阳LED数码管,用来显示当前发光二极管发亮的序号,做到更加直观的双重控制效果,然后再将P0口通过D/A转换器和一放大器输出一个模拟信号,其结果可以通过示波器看出。

这样整个系统即有了数字信号输出和模拟信号输出,也有数码管显示功能,实用性能大提高了。

2 基于89C51的系统硬件设计2.1 并行口的扩展的电路设计众所周知,C51系列的单片机都有四个I/O口(P0、P1、P2、P3),那么AT89C51也不例外,但我们通常仅仅使用P1口作为并行口,而令其余口(P2、P3)处于闲置状态,所以这次设计,我们就是使用闲置不用的P3口做为选能信号线来将P1口进行并行口扩展。

(1) 种方式的并行口扩展优点连线简单;不占用存储器空间;(2) 编程也方便灵活。

但也有很大的缺点并行口扩展能力有限,(如使用74LS573(74LS373)且不进行驱动处理,则最多可扩展4个同样类型的并行输出端口,当然还需要与之对应的四个选通信号。

)如扩展较多,选通信号占用并行口位数太多,例如欲扩展8个并行输出端口,则需要8个选能信号,此时,仅选能信号就占用了一个8位并行口,这对在I/O端口线有限的单片机系统中,如此浪费资源的现象是不能容忍的。

第九章 MCS-51单片机并行接口的扩展与应用

第九章 MCS-51单片机并行接口的扩展与应用

方式1输入控制/ 方式1输入控制/状态信号图
六、8255A的工作方式1 8255A的工作方式 的工作方式1
错误
方式1输出时控制/状态信号的功能: 方式1输出时控制/状态信号的功能: \OBF 输出缓冲器满信号 选通信号,低电平有效; 选通信号,低电平有效; \ACK外设响应信号,低电平有效; ACK外设响应信号 低电平有效; 外设响应信号, INTR 中断请求信号,8255A输出,向CPU申请中断; 中断请求信号,8255A输出 输出, CPU申请中断 申请中断; INTE 中断允许信号,高电平时允许中断; 中断允许信号,高电平时允许中断;
方式1输入时控制/状态信号的功能: 方式1输入时控制/状态信号的功能: \STB 选通信号,用来将外来数据输入锁存 选通信号, 器; IBF 输入缓冲器满信号,由8255A输出; 输入缓冲器满信号, 8255A输出 输出; INTR 中断请求信号,8255A输出,向CPU 中断请求信号,8255A输出 输出, 申请中断; 申请中断; INTE 中断允许信号,高电平时允许中断; 中断允许信号,高电平时允许中断; \STB有效使IBF置位,表示数据已经输入到 STB有效使 有效使IBF置位 置位, 输入锁存器。IBF、INTE为高电平时 为高电平时, 输入锁存器。IBF、INTE为高电平时, INTR置位 可申请中断。 RD的下降沿将 INTR置位,可申请中断。\RD的下降沿将 置位, INTR复位 上升沿将IBF复位 INTR复位,上升沿将IBF复位。 复位, 复位。
பைடு நூலகம்
§9-2 8255A并行接口的扩展 并行接口的扩展
一、可编程并行接口8255A 可编程并行接口8255A 可编程输入/输出接口芯片; 可编程输入/输出接口芯片; 3个8位I/O口:A、B、C,其中C口可位操作; I/O口 其中C口可位操作; 管脚: 管脚: 1. D0-D7三态双向数据线; 三态双向数据线; 2. PA0-PA7 A口输入/输出端; PA0 PA7 口输入/输出端; 3. PB0-PB7 B口输入/输出端; PB0 PB7 口输入/输出端; 4. PC0-PC7 C口输入/输出端; PC0 PC7 口输入/输出端; 5. \CS片选; CS片选 片选; 6. \RD 读信号; 读信号; 7. \WR写信号; WR写信号 写信号; 8. RESET 复位信号端,高电平有效; 复位信号端,高电平有效; 9. A0,A1地址线。 ,A1地址线。

8单片机并行接口扩展

8单片机并行接口扩展

8155并行接口扩展
应用
8155并行接口扩展
MOV MOV MOVX INC MOV MOVX MOV MOV MOVX DPTR,#7FFCH A, #18H @DPTR,A DPTR A, #40H @DPTR,A DPTR,#7FF8H A,#0C2H DPTR,A ;定时器地址低字节 ;分频数 ;定时器地址高字节 ;定时器为连续方波输出
工作方式2:双向传送,仅适用于A口
8255并行接口扩展
控制字
C口位操作方式
控制字
8255并行接口扩展
8031与8255连接 各口地址:
PA: PB: PC: 控制字:
8255并行接口扩展
举例:
控制字设定:A口输出,B口输入,C口输入
1 0 0 0 1 0 1 1
MOV MOV MOVX DPTR, A, @DPTR, #XXXXH #XXH A
51单片机并行接口扩展
I/O接口概述
输入输出接口概念 接口功能 输入输出接口分类 I/O接口的地址分配方式:与片外RAM统一编址
8255A并行接口扩展
功能:
三个8位I/O口,3种工作方式,C 口可位寻址
8255的引脚
接口:PA、PB、PC 数据:D0~D7 地址:A0、A1 控制:CS、RD、WR、RESET 电源:VCC、GND
键盘与数码管显示接口
中断扫描键盘
键盘与数码管显示接口
数码管
共阴极 共阳极
键盘与数码管显示接口
键盘与数码管显示接口
键盘与数码管显示接口
;置控制命令字:A口基本 输入, ;B口基本输出,启动定时 器
键盘与数码管显示接口
编码键盘和非编码键盘 按键电路和抖动的消除

单片机并行口扩展和存储器扩展

单片机并行口扩展和存储器扩展

单片机并行口扩展和存储器扩展
单片机并行口扩展和存储器扩展
 1、单片机并行口扩展,扩展I/O口采用和数据存储器相同的寻址方式。

其方法有三种:
 1)总线扩展,通过锁存器对P0口扩展,这一扩展方法只分时占用P0口,而不会影响P0口与其他扩展电路的连接作用。

 2)串口扩展,通过串口的工作方式完成I/O口的扩展,多通过移位寄存器164/165实现,缺点明显,占用了串口,采用移位方式,速度较慢。

 3)通过片内I/O口扩展,也就是不通过P0口而通过其他片内I/O口扩展,例如8255等。

 2、单片机存储器扩展,包括程序存储器的扩展和数据存储器的扩展。

由于单片机中的程序存储器和数据存储器严格分开了,因此程序存储器扩展的操作时序有所不同,可分为执行MOVX命令和不执行两种,而数据存储器的扩展相对较为简单,扩展方法也很多。

此处不再赘述。

 扩展阅读:51单片机模拟串口的三种方法。

单片机系统的并行扩展

单片机系统的并行扩展
单片机系统的并行扩展 4
访问片外ROM的时序 :
第1个机器周期
第2个机器周期
S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2
ALE PSEN P2口 P0口
输出PCH
输出PCH
输出PCH
输出PCH
PCL
指令 PCL
指令
PCL
指令
PCL
指令
PCL
80C51系列单片机的CPU在访问片外ROM的一个机器周期内 ,信号ALE出现两次(正脉冲),ROM选通信号也两次有效 ,这说明在一个机器周期内,CPU两次访问片外ROM,也即 在一个机器周期内可以处理两个字节的指令代码,所以在
A4 A4 A4 A4 A3 A3 A3 A3 A2 A2 A2 A2
6 27128 23 A11 A11 A11 A11
7 8
27256
22 21
OE A10
OE A10
OE OE/Vpp A10 A10
A1 A1 A1 A1
9 27512 20 CE CE CE
CE
A0 A0 A0 A0
10
19 Q7
8155
40 VCC 39 PC2 38 PC1 37 PC0 36 PB7 35 PB6 34 PB5 33 PB4 32 PB3 31 PB2 30 PB1 29 PB0 28 PA7 27 PA6 26 PA5 25 PA4 24 PA3 23 PA2 22 PA1 21 PA0
AD0~AD7
80C51单片机内部有四个并行口和一个串行口, 对于简单的I/O设备可以直接连接。当系统较为复 杂时,往往要借助I/O接口电路(简称I/O接口)完 成单片机与I/O设备的连接。现在,许多I/O接口已 经系列化、标准化,并具有可编程功能。

利用串行口扩展并行口

利用串行口扩展并行口
—6—
LOOP2:
MOV R7,#230
DJNZ R7,$
DJNZ R6,LOOP2
DJNZ R5,LOOP1
RET
TAB:
DB
11111110B
DB
11111101B
DB
11111011B
DB
11110111B
DB
11101111B
DB
11011111B
;流水花样数据表
DB
10111111B
DB
CLR P1.0 MOV SBUF,A JNB TI,$ CLR TI SETB P1.0 ACALL DELAY INC DPTR CJNE A,#0FFH,L1 DELAY: MOV R5,#20 LOOP1: MOV R6,#20
;关闭并行输出 ;开始串行输出 ;等待8位数据输出完毕 ;8位数据输出完毕,TI标志置0,准备下次输出 ;打开并行口输出 ;调用延时子程序 ;数据指针加1 ;判断流水花样是否结束 ;延时子程序
器。 引脚1为控制端,这里设置与P1.0相连。若STB=0,则
8位并行数据输出关闭,但允许串行数据从DATA输入;若 STB=1,则DATA输入端关闭,但允许8位数据并行输出;
引脚2为数据输入端(DATA)与单片机的RXD端相连; 引脚3为同步脉冲输入端(CLK)与单片机的TXD端相 连。
—4—
软件设计
01111111B
DB
10111111B
DB
11011111B
DB
11111011B
DB
11111101B
DB
11111110B
DB
0FFH
0FFH END
—7—
;流水花样结束标志

单片机系统基本并行扩展技术

单片机系统基本并行扩展技术

单片机系统基本并行扩展技术一、并行扩展的概念与意义并行扩展是指在单片机系统中,通过增加外部的硬件设备,如存储器、输入输出接口等,来扩展单片机的功能和资源。

这样可以使单片机系统能够处理更多的数据、实现更复杂的控制逻辑,并与更多的外部设备进行交互。

例如,在一些数据采集和处理系统中,单片机内部的存储器可能无法存储大量的采集数据,此时就需要通过并行扩展外部存储器来解决这一问题。

又如,在需要控制多个外部设备的系统中,单片机本身的输入输出端口可能不够用,通过并行扩展输入输出接口可以实现对更多设备的有效控制。

二、常见的并行扩展技术1、存储器扩展存储器扩展是单片机系统并行扩展中最常见的一种。

常见的存储器包括随机存取存储器(RAM)和只读存储器(ROM)。

(1)RAM 扩展RAM 用于存储程序运行时产生的临时数据。

扩展 RAM 时,需要考虑存储器的容量、速度和接口类型等因素。

常见的 RAM 扩展芯片有静态 RAM(SRAM)和动态 RAM(DRAM)。

(2)ROM 扩展ROM 用于存储程序和固定的数据。

常见的 ROM 扩展芯片有可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)等。

2、输入输出接口扩展当单片机本身的输入输出端口不能满足系统需求时,可以通过并行扩展输入输出接口来增加可用的端口数量。

常见的输入输出接口扩展芯片有 8255 并行接口芯片、8155 多功能接口芯片等。

3、并行通信接口扩展在需要与其他设备进行高速数据通信的情况下,可以扩展并行通信接口,如并行打印机接口、并行 A/D 和 D/A 转换接口等。

三、并行扩展的硬件连接在进行并行扩展时,硬件连接是至关重要的。

需要正确连接单片机与扩展芯片的地址线、数据线、控制线等。

地址线用于选择扩展芯片的存储单元或端口地址,数据线用于传输数据,控制线用于控制扩展芯片的读写操作等。

以存储器扩展为例,通常需要使用地址锁存器来锁存地址信号,以确保地址的稳定。

单片机并行IO口的扩展

单片机并行IO口的扩展
该电路接收CPU发来的控制信号、RESET、地址信 号A1、A0等。对端口进行读写。
各端口的工作状态与控制信号的关系如表7-1所示。
精选ppt
表7-1 8255A端口工作状态选择
A1
A0 RD* WR* CS*
工作状态
0
0
0
1
0 读端口A:A口数据→数据总线
0
1
0
1
0 读端口B:B口数据→数据总线
;反复连续执行
• (2)C语言
• #define PORT XBYTE[0xFEFF];
• while(1)
•{
• A=PORT;
• PORT=A;
•}
精选ppt
7.3 8255A可编程并行接口芯片扩展I/O口 8255A芯片介绍: 8255A是Intel公司生产的可编程并行I/O接口芯片,
具有3个8位的并行I/O口,3种工作方式,可通过 编程改变其功能,因而使用灵活方便,通用性强。
精选ppt
精选ppt
STB*:选通输入,是由输入外设送来的输入信号。 IBF:输入缓冲器满,高电平有效。表示数据已送入
8255A的输入锁存器,它由STB*信号的下降沿置 位,由信号的上升沿使其复位 INTR:中断请求信号,高电平有效。由8255A输出, 向单片机发中断请求。 INTE A:A口中断允许,由PC4控制, INTE B:B口中断允许,由PC2控制。
过程和方式1输入时相同; 当输出时,PA7~PA0受OBFA*、ACKA*控制,其工作
过程和方式1输出时相同。
精选ppt
精选ppt
7.3.4 8255A的控制字 8255A有三种工作方式: (1) 方式0:基本输入输出; (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。 1.工作方式选择控制字 三种工作方式由方式控制字来决定。 控制字格式如下。

单片机的片外扩展接口设计与实现

单片机的片外扩展接口设计与实现

单片机的片外扩展接口设计与实现近年来,单片机在各种电子设备中得到了广泛应用,它具有体积小、功耗低、性能稳定等优点。

然而,单片机的输入输出端口有限,无法满足实际应用中复杂的外设接口要求。

为了扩展单片机的功能,我们需要设计并实现片外扩展接口。

一、设计原则与考虑因素在设计单片机的片外扩展接口时,需要考虑以下几个因素:1. 电气特性:接口需要满足电气特性要求,如电压、电流、时序等。

2. 控制信号:不同外设需要不同的控制信号,需要充分考虑到外设接口的要求。

3. 数据通信:外设与单片机之间需要进行数据的传输和通信,需要选择合适的通信方式。

4. 扩展性:接口设计应具备一定的扩展性,能够方便地接入其他外设,提高系统的可扩展性和灵活性。

5. 可靠性:接口设计应具备良好的抗干扰能力,保证稳定可靠的数据传输。

二、接口设计方法1. 并口接口并口接口常用于数据的输入输出,具有快速传输和并行处理的优势。

在设计中,我们可以使用外部存储器、显示器等外设通过并口接口与单片机进行通信。

并口接口的设计需要考虑到控制信号、数据传输方式以及时序等因素。

2. 串口接口串口接口常用于与外部设备进行数据的传输和通信,它可以实现简单、快速、方便的数据传输。

在设计中,我们可以使用串口接口与传感器、通信模块等外设进行通信。

串口接口的设计需要考虑到波特率、数据位、校验位等通信参数的设定。

3. I2C接口I2C接口是一种常见的串行总线接口,它采用双线传输数据,具有简单、方便、可靠的特点。

在设计中,我们可以使用I2C接口与外部设备进行通信,如温度传感器、电子存储器等。

I2C接口的设计需要考虑到设备地址、时钟频率、数据传输协议等相关因素。

4. SPI接口SPI接口是一种全双工的同步串行通信接口,它具有通信速度快、传输距离长的优点。

在设计中,我们可以使用SPI接口与外部设备进行通信,如LCD显示屏、SD卡等。

SPI接口的设计需要考虑到时钟频率、数据传输方式、数据位宽等因素。

MCS-51单片机并行IO接口的扩展

MCS-51单片机并行IO接口的扩展

第九章MCS-51单片机并行I/O接口的扩展(一)学习要求1、熟悉74LS377、74LS245外围芯片的特性和扩展方法。

2、掌握8255A芯片的结构和工作方式。

3、掌握8155A芯片的结构和工作方式。

4、掌握8155A的RAM和I/O端口寻址方法。

(二)内容提要1、I/O接口的扩展当所需扩展的外部I/O口数量不多时,可以使用常规的逻辑电路、锁存器进行扩展。

这一类的外围芯片一般价格较低而且种类较多,常用的如:74LS377、74LS245、74LS373、74LS244、74LS273、74LS577、74LS573。

1)74LS37774LS377是一种8D触发器,它的E端和CLK端是控制端,当它的E端为低电平时只要在CLK端产生一个正跳变,D0~D7将被锁存到Q0~Q7端输出,在其它情况下Q0~Q7端的输出保持不变。

可以利用74LS377这一特性扩展并行输出口。

如图9-2使用了一片74LS377扩展输出口,如果将未使用到的地址线都置为1则可以得到该片74LS377的地址为7FFFH。

如果单片机要从该片74LS377输出数据的可以执行如下指令:MOV DPTR,#7FFFFHMOVX @DPTR,A2)74LS245。

74LS245是一种三态输出的八总线收发/驱动器,无锁存功能。

它的G端和DIR端是控制端,当它的G端为低电平时,如果DIR为高电平则74LS245将A端数据传送至B端,如果DIR为低电平则74LS245将B端数据传送至A端,在其它情况下不传送数据,并输出高阻态。

可以利用74LS245这一特性扩展并行输入口。

如图9-4使用了一片74LS245扩展输入口,如果将未使用到的地址线都置为1则可以得到该片74LS245的地址为7FFFH。

如果单片机要从该片74LS377输出数据的可以执行如下指令:MOV DPTR,#7FFFFHMOVX A,@DPTR2、8255A可编程I/O接口设计及扩展技术8255A是一种常见的8位可编程并行接口芯片,本接将着重介绍8255A的工作原理、编程方式和应用。

单片机存储器和并口扩展剖析

单片机存储器和并口扩展剖析

5.1.1 存储器分类、常用存储芯片及其选择
• 6264
5.1.1 存储器分类、常用存储芯片及其选择
• 62256
5.1.1 存储器分类、常用存储芯片及其选择
• EPROM 2716 • 2716是典型的NMOS型2KB的EPROM; • 其内部结构同样分为存储矩阵、地址译码和
读/写限制三部分; • 其工作方式与 • SRAM6116特别 • 类似,只是工作 • 状态较困难。
• 当须要改写某存储单元的信息时,只要让电 流通入该存储单元,就可以将其中的信息擦 除并重新写入信息,而其余未通入电流的存 储单元的信息仍旧保留。
• 这种操作,在用户系统中即可.1 存储器分类、常用存储芯片及其选择
• FLASH ROM:属于E2PROM的一种,是一 种特殊的、以大区块进行擦除的ROM。
5.1.1 存储器分类、常用存储芯片及其选择
• 常用芯片
• SRAM 6116 • 6116是一种典
型的CMOS型 SRAM,其容 量为2KB。 • 6116的结构分 为存储矩阵、 地址译码和读/ 写限制三部分。
5.1.1 存储器分类、常用存储芯片及其选择
• 存储矩阵
• 6116芯片的容量为 2Kx8位,即它有 2048个存储单元, 每个存储单元字长为 8位,故6116芯片内 有16384个基本存储 电路。
果是D0-D7上的内容输入到A0-A10所指定的存储单 元中。 • 读出方式。其条件是:CE= 0, WE=1,OE=0。操作结 果是A0-A10所指定的存储单元内容输出到D0-D7上。 • 低功耗维持方式,这是一种非工作方式,当CE=1时, 芯片处于这一方式。此时,器件电流仅为20uA左右, 为系统断电时用电池保持RAM的内容供应了可能性。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机IO口扩展技术
2010-05-09 18:13
0 引言
在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。

MCS-51单片机的并行口有P0、P1、P2和P3,由于P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功能,这样,真正可以作为双向I/O口应用的就只有P1口了。

这在大多数应用中是不够的,因此,大部分MCS-51单片机应用系统设计都不可避免的需要对P0口进行扩展。

由于MCS-51单片机的外部RAM和I/O口是统一编址的,因此,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I/O口的地址空间。

这样,单片机就可以像访问外部RAM存储器单元那样访问外部的P0口接口芯片,以对P0口进行读/写操作。

用于P0口扩展的专用芯片很多。

如8255可编程并行P0口扩展芯片、8155可编程并行P0口扩展芯片
等。

本文重点介绍采用具有三态缓冲的74HC244芯片和输出带锁存的74HC377芯片对P0口进行的并行扩展的具体方法。

1 输入接口的扩展
MCS-51单片机的数据总线是一种公用总线,不能被独占使用,这就要求接在上面的芯片必须具备“三态”功能,因此扩展输入接口实际上就是要找一个能够用于控制且具备三
态输出的芯片。

以便在输入设备被选通时,它能使输入设备的数据线和单片机的数据总线直接接通;而当输入设备没有被选通时,它又能隔离数据源和数据总线(即三态缓冲器为高阻抗状态)。

1.1 74HC2244芯片的功能
如果输入的数据可以保持比较长的时间(比如键盘),简单输入接口扩展通常使用的典型芯片为74HC244,由该芯片可构成三态数据缓冲器。

74HC244芯片的引脚排列如图1所示。

74HC244芯片内部共有两个四位三态缓冲器,使用时可分别以1C和2G作为它们的选通工作信号。

当1C和2G都为低电平时,输出端Y和输入端A状态相同;当1G和2G都为高电平时,输出呈高阻态。

1.2 应用74HC244芯片扩展输入接口
图2是采用74HC2244芯片进行输入接口扩展的原理电路,图3是读P0口的时序。

由图3可以看出,当P2.7和RD同为低电平时,74HC2244才能将输入端的数据送到单片机的
P0口。

其中,P2.7决定了74HC244的地址,0000H-7FFFH(共32K)地址都可以访问这个单元,这就是用线选法所带来的副作用。

通常可选择其中的最高地址作为这个芯片的地址来写程序,如这个芯片的地址是7FFFH。

但这仅仅是一种习惯,并不是规定,当然也完全可以用0000H作为这个芯片的地址。

当确定了地址之后,其接口的输入操作程序如下:
MOV DPTR,#7FFFH
MOVX A,@DPTR
其中MOVX类指令是MCS-5l单片机专用于对外部RAM进行操作的指令。

由于外部I/O与外部RAM是同一接口,所以一般使用这条指令对外部I/O进行操作。

一旦执行到MOVX类指令,单片机就会在RD或WR(根据输入还是输出指令)引脚产生一个下降沿,这个下降沿的波形与P2.7相或,则会在或门的输出口也产生一个下降沿,这个下降沿将使74HC244的输出与输入接通,这样,输入设备的数据就可以被MCS-51单片机从总线上读取。

需要说明的是,74HC244是不带锁存的,因此,如果输人设备提供的数据时间比较短,那么就要用带锁存的芯片进行扩展,如74HC373,74HC573等。

2 输出接口的扩展
由于单片机的数据总线是为各个芯片服务的,一般不可能为一个输出而一直保持一种状态,因此,输出接口的主要功能是进行数据保持(即数据锁存),也就是说,输出接口的扩展实际上就是扩展锁存器。

2.1 74HC377芯片的功能
输出接口扩展通常用74HC377芯片来实现。

该芯片是一个带允许端的8D锁存器,其芯片的引脚如图4所示,各相关引脚的功能如下:
◇D0~D7为8位数据输入端;
◇Q0~Q7为8位数据输出端;
◇G为使能控制端;
◇CLK为时钟信号,上升沿锁存数据。

表1所列是该芯片的真值表。

2.2 应用74HC377芯片扩展输出接口
图5是利用74HC377进行输出接口扩展的电路连接图。

图中,74HC377的G端与P2.6口相连,其地址是x0xxxxxxB,如果把“x”全置为1,则为1011 1111 1111 1111B,这样,0BFFFH 就是该芯片的地址了。

由于MCS-51的WR是与74HC377的CLK端相连的,当WR信号由低变高时,数据总线上的数据为输出数据,而此时P2.6输出低电平,G有效,因此,数据就被锁存。

其相关程序如下:
MOV DPTR,#0BFFFH
MOV A,#DATA
MOVX @DPTR,A
此外,利用74HC373芯片、74HC573芯片也可以进行P0口的扩展。

3 接口扩展实例
在实际的应用系统中,可能需要同时扩展多个I/O口,以满足应用系统的需要。

而各个输入、输出扩展I/O芯片应通过74LS138进行“全地址”译码选通,从而分时复用数据总线DB (DataBus)。

为了防止过渡干扰对译码选通逻辑造成的影响,单片机系统所用的外围芯片一般均设为双步选通方式,即除了配置译码选通端外,还应配置使能选通端。

而74HC244芯片本身没有明显的片选和读/写控制端,设计时通常采用译码和读控制信号来同时控制74HC244的CS,从而有效地抑制输入/输出数据信息的过渡干扰。

此电路输入口扩展采用2个74HC244。

其输入端接键盘或其它数字信号;而输出口扩展则选用2个74HC377,以用于控制数码管、发光二极管、继电器等。

其详细电路原理图如图6所示。

其部分代码如下:
51单片机的数据/地址/控制总线端口都有一定的负载能力,P0口可驱动8个TTL门电路,P1口、P2口和P3口可驱动4个TTL门电路。

负载超过上述规定一般应加驱动器。

总线驱动器可以使用TTL型三态缓冲门电路74HC244、74HC245。

另外,在扩展口线的同时,还应兼顾配置总线驱动器,注意总线负载平衡的配置。

在总线上适当安装上拉电阻可以提高总线信号传输的可靠性。

此外,一个系统可能由于存在各种干扰及不稳定因素而出现故障,为解决这一问题,设计时也可以从软件设计方面采取一些措施。

4 结束语
与其它51单片机P0口扩展相比,本文介绍的输入/输出口的P0并行扩展方法,可以很方便的实现P0口的并行扩展。

所设计的接口扩展电路已成功用于实际系统中。

实际运行表明,采用该方法扩展的P0口系统能够可靠、稳定的运行。

相关文档
最新文档