51单片机总线扩展 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章MCS-51单片机系统功能扩展
74LS373结构示意图
74LS373的引脚
引脚说明如下: D7~D0: 8位数据输入端。 Q7~Q0: 8位数据输出端。 G:数据输入锁存控制端:当G为“1” 时,锁存器 输出端与输入端数据相同;当G由“1” 变“0” 时,数据输入锁存器中。 OE#: 输出允许端。
P0口与地址锁存器74LS373的连接
4.1 系统扩展概述
4.1.1 最小应用系统
图4.1 MCS–51单片机最小化系统 (a) 8051/8751最小系统结构图;(b) 8031最小系统结构图
4.1.2 单片机系统扩展的内容与方法
1.单片机的三总线结构
图4.2 MCS–51单片机的三总线结构形式
(1)以P0口作为低8位地址/数据总线。 (2)以P2口的口线作高位地址线。 (3)控制信号线。 *使用ALE信号作为低8位地址的锁存控制信号。 *以PSEN#信号作为扩展程序存储器的读选通信号。 *以EA#信号作为内外程序存储器的选择控制信号。 *由RD#和WR#信号作为扩展数据存储器和I/O口的 读选通、写选通信号。 尽管MCS-51有4个并行I/O口,共32条口线,但由于系 统扩展需要,真正作为数据I/O使用的,就剩下P1 口和P3口的部分口线。
锁存器8282 功能及内部结构与74LS373完全一样,只是其引脚的排 列与74LS373不同 ,8282的引脚如下图。
4.2.2 74LS244和74LS245芯片
在单片机应用系统中, 扩展的三总线上挂接
很多负载, 如存储器、并行接口、A/D接口、显
示接口等, 但总线接口的负载能力有限, 因此常
3) 采用地址译码器的多片程序存储器的扩展
例3 要求用2764芯片扩展8031的片外程序存储器,分配的 地址范围为0000H~3FFFH。
MCS51单片机总线系统与IO口扩展
6.2.2 单片机总线扩展的编址技术
OE
LE
Dn
Qn
L
H
H
H
L
H
L
L
L
L
L
Qn-1
L
L
H
Qn-1
H
×
×
Z
地址锁存器74LS373
CLR D0-D7Q0-Q7 4 6 2 6 74LS24474LS273 E 0123456789E GG 12Q0-Q7CLKD0-D7AAAAAAAAAAA10A11A12I/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7OWCE1CE2 56? UUU P0.0-P0.7P0.0-P0.7 +5V 11 01234567 E >> QQQQQQQQ O 01234567 E DDDDDDDDL 2 U74LS373 012 YYY ABC 3 U74LS138 R AD E R P20P07P21P06P22P05P23P04P24P03P25P02P26P01P27P00 W ALE 89C51 1 U
MOV
DPTR,#0FEFFH ;确定扩展芯片地址
MOVX
A,@DPTR
;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线 输入为0。
6.2.1 单片机I/O口扩展
输出控制信号由P2.0和相“或”后形成。当二者都为0后,74LS273的控制端 有效,选通74LS273, P0上的数据锁存到74LS273的输出端,控制发光二极管 LED , 芯 片 地 址 与 74LS244 的 选 通 地 址 相 同 ( 都 是 ×××× ×××0 ×××× ××××B,通常取为FEFFH)。当某线输出为0时,相应的LED发 光。
内容7_MCS-51单片机IO接口扩展设计及应用
D. 8031的扩展储存器系统中,P0口要接一个8位锁存器,而P2口却不需要。
17
下面的说法错误的有()。
A. LED显示器采用动态扫描方法进行显示,任一时刻只有一位显示器被点亮;
B. RS-232C的逻辑电平与通常的TTL和MOS电平兼容,故实现与TTL或MOS电路的连接时无需外加电平转换电路;
(B)RAM式
(C)FLASHROM
(D)EPROM
47
某种存储器芯片是8KB*4/片,那么它的地址线根数是()。
(A)11根
(B)12根
(C)13根
(D)14根
48
若某存储器芯片地址线为12根,那么它的存储容量为()。
(A)1KB
(B)2KB
(C)4KB
(D)8KB
49
下面哪条指令产生信号()。
(A)MOVXA,@DPTR
D.P3
E.P0.7
28
MCS-51单片机的P0口可以作为( )使用。
A.低8位地址总线
B.高8位地址总线
C.数据总线
D.控制总线
E.一般的I/O使用
29
071-0029、ATMEL公司的AT24CXX系列EEPROM是()。
A.I C接口的EEPROM
B.SPI接口的EEPROM
C.并行接口的EEPROM
A.16D触发器
B.8D触发器
C.32位锁存器
D.16位锁存器
E.8位锁存器
15
071-0001、单片机扩展的内容有()等。
A.总线扩展
B.程序存储器扩展
C.数据存储器扩展
D.外围扩展
E.I/O口的扩展
51单片机的扩展
(a)程序存储器的扩展
.程序存储器的作用----存放程序代码或常数表格
.扩展时所用芯片----一般用只读型存储器芯片(可以是 EPROM、E2PROM、 FLASH芯片等)。 .扩展电路连接 ---- 用EPROM 2732扩展程序存储器。 .存储器地址分析----究竟单片机输出什么地址值时,可以
一、系统扩展的含义
单片机中虽然已经集成了CPU、I/O口、定时器、 中断系统、存储器等计算机的基本部件(即系统资 源),但是对一些较复杂应用系统来说有时感到以 上资源中的一种或几种不够用,这就需要在单片机 芯片外加相应的芯片、电路,使得有关功能得以扩 充,我们称为系统扩展(即系统资源的扩充)。 需要解决的问题是单片机与相应芯片的接口电 路连接(即地址总线、数据总线、控制总线的连接) 与编程。
指向存储器中的某一单元。
.扩展时所用芯片
2732----4K EPROM
A7 A6 A5 A4 A3 A2 A1 A0 O0 O1 O2 GND Vcc A8 A9 A11 OE/Vpp A10 CE O7 O6 O5 O4 O3
2732引脚功能
A0-A11 CE 地址线 选片 输出允许/ 编程电源 数据线
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
A8 A9 A10 A11
2732
CE OE
ALE
PSEN 图4.2 扩展电路
8031
2732
数据总线的连接: P0.0-P0.7(数据总线)----------------------------------------O0-O7 地址总线的连接: 经过锁存器373 P0.0-P0.7(地址总线低8位)---------------------------------- A0-A7 P2.0-P2.3(地址总线高8位中的4位)--------------------------- A8-A11 控制总线的连接: PSEN(程序存储器允许,即读指令) -------------------------- OE ALE(地址锁存允许)-------------------------------------接373的使能端 G
第6章 MCS-51单片机系统扩展技术
6.3 数据存储器扩展
6.3.1 静态RAM扩展电路
6.3.2 动态RAM扩展电路
返回本章首页
6.3.1 静态RAM扩展电路
常用的静态RAM芯片有6116,6264,62256等,其 管脚配置如图6-13所示。
1.6264静态RAM扩展 额定功耗200mW,典型存取时间200ns,28脚双列直插 式封装。表6-1给出了6264的操作方式,图6-14为6264静 态RAM扩展电路。
图 6 9
A EEPROM
28 17
扩 展 电 路
写入数据
不是指令
查询 中断 延时
2.2864A EEPROM 扩展
2864A有四种工作方式: (1)维持方式 (2)写入方式 (3)读出方式 (4)数据查询方式
图 6 12
28 64
返回本节
A EEPROM
扩 展 电 路
串行E2PROM简介 串行E2PROM占用引线少、接线简单,适用于作为数据存储 器且保存信息量不大的场合。 以AT93C46/56/57/66为例,它是三线串行接口E2PROM, 能提供128×8、256×8、512×8或64×16、128×16、256×16 位,具有高可靠性、能重复擦写100,000次、保存数据100年 不丢失的特点,采用8脚封装。
第6章 MCS-51单片机系统扩展技术
6.1 MCS-51单片机系统扩展的基本概念
6.2 程序存储器扩展技术
6.3 数据存储器扩展 6.4 输入/输出口扩展技术
T0 T1
时钟电路
ROM
RAM
定时计数器
CPU
并行接口 串行接口 中断系统
P0 P1 P2 P3
TXD RXD
INT0 INT1
51单片机接口的扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 口:P0、P1、P2和P3口。
• 在实际的应用系统中,P0口分时地作为低8位地址 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O口。
• P3口的一些口线首先要满足第二功能的要求。这 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式:
B
14位
定时
计数器
C
PA0~PA7 PB0~PB7
PC0~PC7
VCC(+5 V) VSS(GND)
8155的引脚封装图
8155的内部接口图
1. 8155的内部结构
• 8155各引脚的功能为: ➢ 地址/数据线AD0~AD7(8条):是低8位地址线和数据线
的共用输入总线,常和MCS-51单片机的P0口相连,用于 分时传送地址和数据; ➢ PA0~PA7、PB0~PB7:为A、B口线,用于和外设之间传 递数据; ➢ PC0~PC5为C端口线,既可与外设传送数据,也可以作为 A、B口的控制联络线; ➢ CS:片选线,低电平有效。
39 38 37 36 35 34 33 32
R ESET
INT0 INT1 T0 T1
P1. 0
P2. 0
P2. 1
MCS-51
P2. 2 P2. 3
P2. 4
P2. 5
P2. 6
P2. 7
21 22 23 24 25 26 27 28
P1. 1 P1. 2 P1. 3 P1. 4 P1. 5 P1. 6 P1. 7
RD WR PSEN ALE/ P TXD RXD
17 16 29 30 11 10
MCS-51单片机IO接口的扩展
9.2 扩展可编程并行I/0芯片8255A
PA (8位) 、PB (8位) 、PC (8位) 命令/状态口 9.2.1 8255A的结构和工作方式 一、8255A的引脚及组成结构
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2
RD WR RESET Q7 P0.7 8031 P0.0 EA ALE D7 74LS D0 G Q1 Q0
RD PA0 WR RESET PA7 CS 地 8255A A1 A0 D7 D0 PC7 PC0 PC6
DB0 DB7 GND μ80 打印机 DSTB BUSY ACK
数据D0~D7 DSTB s 1~500μ BUSY ACK
M2M1=10时,定时/计数器的输出波形为单 个脉冲;
M2M1=00时,定时/计数器的输出波形为连 续脉冲。
9.3.2 8155 H与8031单片机的接口及应用
8031单片机与并行接口8155的接口电路如 图所示。 对8155地址分配如下: RAM地址:7E00H-7EFFH I/O口地址: 命令/状态寄存器的地址: 7F00H PA口的地址:7F01H PB口的地址: 7F02H PC口的地址: 7F03H 定时器低8位的地址:7F04H 定时器高8位的地址: 37 5 36 6 35 7 34 8 33 9 32 10 8255A 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21
PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
IO接口电路及其扩展
;写控制字
LD:
;最左边灯亮 ;指向B口 ;取显示数据
;查数据编码 ;写B口 ;延时
39
MB DB DB DB DB DB DB DB MOV MOV DJNZ DJNZ
A, R3
A R3, A LD 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH R7, #02H R6, #FFH R6, LOOP R7, DELAY
6
+5V
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
1Y1 1Y2 1Y3 1Y4 1Y5 1Y6 1Y7 1Y8 1G 2G 7 4 L S 2 4 4 1A1 1A2 1A3 1A4 1A5 1A6 1A7 1A8
MCS-51
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR
MOV DPTR, #0FEFFH MOVX A,@DPTR ;确定扩展芯片地址 ;将扩展输入口内容读入累加器A
当与74LS244相连的按键都没有按下时,输入全为 8 1,若按下某键,则所在线输入为0。
典型芯片—74LS245
9
图13-3 74LS244构成的简单输入端口(b)
10
13.1.3 简单的并行口输出
CS:片选信号线,低电平有效。
RD:读信号,控制8255A将数据或状 态信息送给CPU。 WR:写信号,控制CPU将数据或控制 信息到8255A。
A1,A2:地址线,这两个引脚上的信 号组合绝对对8255A内部的哪一个口或 寄存器进行操作。
22
8255的操作表
表13-1 8255的操作
/CS 0 0 0 0 A1 A0 00 01 10 11 WR 0 0 0 0 RD 1 1 1 1 操作 总线=>端口A 总线=>端口B 总线=>端口C 总线=>命令控制字
51单片机8255A扩展IO口与单片机连接
INTRA IBFA STB A INTRA
STB BRB INTRB
ACK B
4. 8255A的应用
8255A与单片机的连接
WR RD P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 D7 D6 D5 D4 D3 D2 D1 D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 G OE WR RD RESET CS PA
8255A CS
PA口: 0 × PB口: 0 × PC口: 0 × 控制口:0 × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × × ×
A1 0 0 1 1
A0
74LS373
8255A
A1 A0 PB
8031
ALE
EA
D7 D6 D5 D4 D3 D2 D1 D0
PC
数据线D0~D7接P0口 RD 、 WR 接单片机的 RD 、WR 复位线RESET接到复位电路,与CPU一起复位
8255A与单片机的连接
WR RD P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 D7 D6 D5 D4 D3 D2 D1 D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 G OE WR RD RESET CS PA
+5V ... ... L4 L3 ... L0 ... K7 ... . . . K4 K3 ... K0 ... . .
0 1 0 1
没接的地址线设为1,则4个端口地址为: PA=7FFCH PB=7FFDH PC=7FFEH 控制口=7FFFH
单片机原理及应用 第4章 MCS-51单片机系统的扩展技术
2.数据存储器典型扩展电路
6264的地址范围为:0000H~1FFFH。
[例题] 在上页图的数据存储器扩展电路中,将片内RAM 以50H单 元开始的16个数据,传送片外数据存储器0000H开始的单元中。
程序如下:
ORG 1000H MOV R0, #50H MOV R7, #16 MOV DPTR, #0000H AGAIN: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, AGAIN RET END ; 数据指针指向片内50H单元 ; 待传送数据个数送计数寄存器 ; 数据指针指向数据存储器6264的0000H单元 ; 片内待输出的数据送累加器A ; 数据输出至数据存储器6264 ; 修改数据指针 ; 判断数据是否传送完成
4.2.1
程序存储器扩展
单片机内部没有ROM,或虽有ROM但容量太小时,必须扩 展外部程序存储器方能工作。最常用的ROM器件是EPROM 1. 常用EPROM程序存储器 EPROM主要是27系列芯片,如:2764(8K)/27128(16K) /27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为 外部程序存储器。
4.2.3 MCS-51对外部存储器的扩展
下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片 2764芯片)和8KB数据存储器(使用一片6264芯片)。采用全地址译码方 式,P2.7用于控制2―4译码器的工作,P2.6, P2.5参加译码,且无悬空地 址线,无地址重叠现象。 1# 2764, 2# 2764, 3# 6264的地址范围分别为:0000H~1FFFH, 2000H~3FFFH, 4000~5FFFH。
MOV DPTR, #7FFFH ; 数据指针指向74LS377 MOV A, 60H ; 输出的60H单元数据送累加器A MOVX @DPTR, A ; P0口将数据通过74LS377输出
51单片机总线扩展 io口扩展
三:单片机与Flash的其他扩展方式
1:线选法
如图,由P2.4~P2.0和P0口组成14位地址线,用P2.7和P2.6进行存 储器芯片选择。
2:地址译码法译码法
采用译码器的方法选片,能够扩展多片存储器。
二:单片机与Flash扩展的时序
74LS373是三态8位D透明触发器,当锁存允许端 EN为高电平时,输出 OUT随输入数据 D 而变。当 EN为低电平时,输出被锁存在已建立的输 入数据电平 。 (1)指令读取的时序 在指令读取时,P2口输出16位地址的高8位。P0口首先输出地址的低8 位数据,在ALE有效时(低电平),地址的低8位数据被锁存在74LS373 的输出端,与P2口袋8位数据共同组成了完整的16位地地址,
2:数据总线(DB) 数据总线宽度为8位,由P0口提供。 3:控制总线(CB) 控制总线由第二状态下的P3口和4根独立控制线组 成。 四根控制线为: ——/PSEN : 外部取指控制。在访问外部ROM时, /PSEN信号会自动产生。 ——ALE : ALE是地址锁存允许信号。在访问外部存储 器(RAM或ROM)时,通常用它的下降沿来锁存P0口 送出的低8位地址信号。 ——/EA : /EA是访问外部存储器的控制信号。当/EA 无效(高电平)时,访问内部ROM;当/EA有效(低 电平)时,访问外部ROM。 ——RST : RST是复位信号输入端。
Flash简介
Flash介绍:
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦 写和再编程。 Intel于1988年首先开发出NOR Flash 技术,紧接着,1989年,东芝 公司发表了NAND Flash 结构。 NOR Flash 的特点是芯片内执行,这样应用程序可以直接在Flash闪 存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在 1~4MB的小容量时具有很高的成本效益。NAND的结构能提供极高的 单元密度,可以达到高存储密度。应用NAND的困难在于Flash的管理 和需要特殊的系统接口。通常NOR的速度比NAND稍快一些,而NAND 的写入速度比NOR快很多。闪存只是用来存储少量的代码,这时NOR 闪存更适合一些;而NAND则是高数据存储密度的理想解决方案。 NOR/ NAND Flash 比较 • 1 NOR的读速度比NAND稍快一些。 • 2 NAND的写入速度比NOR快很多。 • 3 NAND擦除速度远比NOR快。 • 4 NOR Flash上数据线和地址线是分开的;NAND Flash上数据线和地址 线是共用的 (所以单片机可以对NOR Flash扩展)。
单片机IO口扩展技术
单片机IO口扩展技术] 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作为它们的选通工作信号。
当1 C和2G都为低电平时,输出端Y和输入端A状态相同;当1G和2G都为高电平时,输出呈高阻态。
51单片机IO口应用详解
51单片机IO口应用详解MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图:这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。
P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
ALE 地址锁存控制信号:在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
参见图2(8051扩展2KB EEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。
由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。
51单片机8255A扩展IO口
PA口有3种工作方式,PB口有2种工作方式,PC口只有一种工作方式0 在方式1或方式2,PC口自动作为PA口、PB口的控制信号
位为0,为输出口;为1,为输入口
D7 D6 D5 D4 D3 D2 D1 D0 工作方式控制字
标志位 A 组方式设置
工作方式控制字
A口
C 上 口 B 组方式 B口
C下 口
1 1/0 1/0 1/0
PB口的各服务功能含义与PA口相同。
8255A PC 口各引脚服务功能定义表
端口 工作方式 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
方式 1 输入
IBFA STBA INTRA
PA 方式 1 输出 OBFA ACK A
INTRA
方式 2 双向 OBFA ACK A IBFA STBA INTRA
没接的地址线设为1,则4个端口地址为:
PA=7FFCH PB=7FFDH PC=7FFEH 控制口=7FFFH
3. 8255A的控制字
8255A有两个控制字:
工作方式控制字
这两个控制字都写到8255A的控制口,用 同一个端口地址采用特征位识别。
D7=1,表示是工作方式控制字
D7=0,表示是PC口置/复位控制字
A组: B组:
PA口为数据口 PC口高四位作联络信号 PB口为数据口 PC口低四位作联络信号
③ 方式2——双向输入/输出方式
只有PA口能够设定为方式2,PA口为8位双向数据口,能读能写 PC口的PC3~PC7共5位作PA口数据输入/输出的联络信号 PB口不能工作在方式2,仍可工作在方式0或方式1
PA口有方式0、1、2 PB口有方式0、1,没有方式2 PC口只有方式0
方式 1 输入 PB
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的工作原理、编程方式和应用。
第8章51单片机的IO扩展资料
8.2.2 简单I/O口扩展
1. 简单输入口扩展
图8-10 74LS244扩展输入接口电路
2. 简单输出口扩展
图8-11 74LS377扩展输出接口电路
3. 简单并行口扩展应用举例
图8-12 74LS系列扩展输入/输出接口电路
3. 简单并行口扩展应用举例
【例8-1】 如图8-12所示为一个利用74LS244和74LS273芯片 ,将P0口扩展成简单的输入/输出口的电路。
,其相应位为“0”,然后再将口线的状态经74LS273输出,某位低电平时 二极管发光,从而显示出按下的按钮开关的位置。
【例8-1】 分析
该电路的工作原理如下
• 当P2.0=0,RD#=0(WR#=1)时,选中74LS244芯片,此时若无按钮开关按 下,输入全为高电平。当某开关按下时则对应位输入为“0”,74LS244的 输入端不全为“1”,其输入状态通过P0口数据线被读入AT89S51片内。
• 当S/L#=1,且时钟禁止端(15脚)为低时,允许TXD(P3.1)移位时钟 输入,在该脉冲作用下,数据由右向左方向移动。
1. 用74LS165扩展并行输入口
• TXD与所有74LS165的CP相连;RXD与74LS165的串行输出端QH相连;P1.0与 S/L#相连,控制74LS165的串行移位或并行输入;
• 15脚接地,允许时钟输入。 • 当扩展多个8位输入口时,相邻两芯片的首尾(QH与SIN)相连。
图8-13 利用74LS165扩展16位并行输入口
【例8-2】从16位扩展口读入5组数据(每组2B),把它们转存 到内部RAM 20H开始的单元。编程如下:
MOV R7,#05H
;设置读入组数
51单片机的扩展
. . .
D7 OE GND
10
11
10
11
10
11
图 4-8 常用地址锁存器芯片引脚图
ALE P0.7 3 4 7 8 13 14 17 18 2 5 6 9 12 15 OE 16 1 19 74LS373 11 G A7 ALE P0.7 3 11 2 4 CLK 5 7 6 8 9 13 12 14 15 17 CLR 16 18 1 19 74LS273 A7 P0.7 ALE 1 11 19 2 STB 18 3 17 4 16 5 15 6 14 7 OE 13 8 9 12 8282 A7
读出时间(ns)
24
200
28
200 75 35
28
200 100 40
28
200 100 40
28
170 125 40
最大工作电流(mA) 100 最大维持电流(mA) 35
EPROM电路引脚符号意义( P138 图4-6) A0~Ai 地址输入线,i=10~15 O0~O7 三态数据线。读或编程校验:数据输出线; (D0~D7) 编程:数据输入线;维持或编程禁止:高阻态 CE 片选信号输入端,“0”有效 PGM 编程脉冲输入线 OE 读选通信号输入线, “0”有效 VPP 编程电源输入线 VCC 主电源输入线,一般为+5V GND 线路地
VCC +5V
2 20 18 4 16 6 14 . 8 12 . 11 9 . 13 7 15 5 P2.7 17 3 1 1G 2G 19 GND 74LS244 10 A8
. . .
A/D7
. . .
A15
PSEN RD1 DIR源自G 19 GND 10图 4-3 总线驱动器的具体连接
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
——P0:当不作系统扩展时,可作一般I/O使用, 但需要外接上拉电阻来来驱动MOS输入;当作系统 扩展时,P0担任地址(低8位)/ 数据复用的总线 口,并且可直接驱动MOS电路而不必外接上拉电阻。 ——P1:是专供用户使用的I/O口。 ——P2口:当不作系统扩展时,可作一般I/O口 使用;当作系统扩展时,作为高8位地址线用。
2:数据总线(DB) 数据总线宽度为8位,由P0口提供。 3:控制总线(CB) 控制总线由第二状态下的P3口和4根独立控制线组 成。 四根控制线为: ——/PSEN : 外部取指控制。在访问外部ROM时, /PSEN信号会自动产生。 ——ALE : ALE是地址锁存允许信号。在访问外部存储 器(RAM或ROM)时,通常用它的下降沿来锁存P0口 送出的低8位地址信号。 ——/EA : /EA是访问外部存储器的控制信号。当/EA 无效(高电平)时,访问内部ROM;当/EA有效(低 电平)时,访问外部ROM。 ——RST : RST是复位信号输入端。
(2) 最后51单片机内部安排了21个特殊功能 寄存器,这里只列出P0、P1、P2、P3(带有”*” 表示寄存器是可以位寻址,这为51单片机的外部 存储器扩展带来了极大的方便)。
2:单片机的I/O口 51单片机有4个并行I/O 口,分别命名为P0、P1、P2、 P3,它们是特殊寄存器中的4个,每个I/O口即可以作输入, 也可以作输出。 下面分别按照功能介绍。
(3)数据读入时序
在数据读入时,P2口输出16位地址的高8位。P0口首先输出地址的 低8位数据,在ALE有效时(低电平),地址的低8位数据被锁存在 74LS373的输出端,与P2口袋8位数据共同组成完整的16位地地址。然 后P0口输出需要写出的数据,在等待到/RD有效时Flash的数据线输出 数据,单片机从P0口读入数据。
51单片机的Flash外部扩展
一:存储器芯片与单片机可按如下方式连接:
1:地址线的连接: 存储器低8位地址线A7~~A0连接锁存器74LS373输出口。 存储器高8位地址线A15~~A8连接P2口(P2.7~~P2.0)。 2:数据线的连接:存储器的8位数据线和锁存器输入端连接P0口 (P0.7~~P0.0)。
与NOR Flash的地址线相连,当/PSEN有效(低电平)指令从单片机与 NOR Flash数据线相连的P0口读入。
(2)数据写出的时序
在数据写出时,P2口输出16位地址的高8位。P0口首先输出地址的 低8位数据,在ALE有效时(低电平),地址的低8位数据被锁存在 74LS373的输出端,与P2口袋8位数据共同组成完整的16位地地址。然 后P0口输出需要写出的数据,在等待到/WD有效时Flash将数据写入。
3:PSEN 信号(外部取指控制,在访问外部ROM时, /PSEN信号会 自动产生)连接Flash存储器/OE。 4:ALE 信号( ALE是地址锁存允许信号,在访问外部存储器RAM或RO) 时,通常用它的下降沿来锁存P0口送出的低8位地址信号)连接 74LS373的使能端。 5:因为单片机是直接使用外部存储器所以/EA( /EA是访问外部 存储器的控制信号。当/EA无效(高电平)时,访问内部ROM; 当/EA有效(低电平)时,访问外部ROM)直接接地。 6: 单片机只扩展了一片Flash无片选,所以Flash的/CE直接接地。
Flash简介
Flash介绍:
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦 写和再编程。 Intel于1988年首先开发出NOR Flash 技术,紧接着,1989年,东芝 公司发表了NAND Flash 结构。 NOR Flash 的特点是芯片内执行,这样应用程序可以直接在Flash闪 存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在 1~4MB的小容量时具有很高的成本效益。NAND的结构能提供极高的 单元密度,可以达到高存储密度。应用NAND的困难在于Flash的管理 和需要特殊的系统接口。通常NOR的速度比NAND稍快一些,而NAND 的写入速度比NOR快很多。闪存只是用来存储少量的代码,这时NOR 闪存更适合一些;而NAND则是高数据存储密度的理想解决方案。 NOR/ NAND Flash 比较 • 1 NOR的读速度比NAND稍快一些。 • 2 NAND的写入速度比NOR快很多。 • 3 NAND擦除速度远比NOR快。 • 4 NOR Flash上数据线和地址线是分开的;NAND Flash上数据线和地址 线是共用的 (所以单片机可以对NOR Flash扩展)。
51单片机I/O口扩展
主要是以51单片机为例讲解单片机 的IO口扩展原理
一:单片机存储器和I/O口 51 单片机的内部结构框图如图。在此, 只着重介绍51单片机的存储器、4个I/O口和 4跟控制线。
1:51单片机的存储器 51单片机的存储器,是由三个彼此独立的地址空间来组 成的: ——256B的片内数据存储器地址空间 ——64KB的片外数据存储器地址空间 ——64KB的程序存储器地址空间
Байду номын сангаас
二:单片机与Flash扩展的时序
74LS373是三态8位D透明触发器,当锁存允许端 EN为高电平时,输出 OUT随输入数据 D 而变。当 EN为低电平时,输出被锁存在已建立的输 入数据电平 。 (1)指令读取的时序 在指令读取时,P2口输出16位地址的高8位。P0口首先输出地址的低8 位数据,在ALE有效时(低电平),地址的低8位数据被锁存在74LS373 的输出端,与P2口袋8位数据共同组成了完整的16位地地址,
——P3口:是双功能口。该口的每一位均可以独立 的定义为第一I/O口功能或者第二I/O口功能(在作 外部存储器扩展时使用P3.6和P3.7)。
三:片外总线结构
1:地址总线(AB) 地址总线宽度为16位(外部存储器直接寻址范围为 64KB),P0口经地址锁存器 锁存后提供16位地址总线 的低8位地址,P2口直接提供高8位地址
(1)程序存储器地址空间 在一般情况下,在51单片机程序存储器的64KB地址 空间中,最低的4KB(0000H-0FFFH0)对于片内ROM和片外 ROM是公共的,而1000H——FFFFH的地址空间是片外ROM 专用。CPU专门提供一个控制信号/EA来区分片内片外ROM: 当/EA接高电平时,单片机从片内ROM的4KB地址空间取指 令,当地址超过0FFFH后,自动转向片外ROM取指令;当 /EA为低电平时,CPU只从片外ROM取指令。 (2)数据存储器地址空间 片内数据存储器地址是00H——FFH,片外数据存储器 地址范围是0000H ——FFFFH。 特别需要注意:64KB数据存储器RAM的地址空间和 64KB程序ROM的地址空间是重叠的,51单片机是通过不 同的信号还选通RAM和ROM:当由片外RAM读写数 据时,用读写信号/RD或者/WR来选通;当由片外ROM取 指令时,则采用选通信号/PSEN。
三:单片机与Flash的其他扩展方式
1:线选法
如图,由P2.4~P2.0和P0口组成14位地址线,用P2.7和P2.6进行存 储器芯片选择。
2:地址译码法译码法
采用译码器的方法选片,能够扩展多片存储器。