8051单片机9扩展IO口设计

合集下载

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口等功能器件的微型计算机。

51单片机总线扩展 io口扩展

51单片机总线扩展 io口扩展

(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。
(2) 最后51单片机内部安排了21个特殊功能 寄存器,这里只列出P0、P1、P2、P3(带有”*” 表示寄存器是可以位寻址,这为51单片机的外部 存储器扩展带来了极大的方便)。
2:单片机的I/O口 51单片机有4个并行I/O 口,分别命名为P0、P1、P2、 P3,它们是特殊寄存器中的4个,每个I/O口即可以作输入, 也可以作输出。 下面分别按照功能介绍。
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扩展)。

第9章80C51IO口的扩展PPT课件

第9章80C51IO口的扩展PPT课件

MOV A,R2
MOV P1,A
;P1口送控制字及低4位置输入方式
MOV A,P1
;读入BCD码
ANL A,#0FH ;屏蔽高4位
MOV @R0,A
;送入存储单元
INC R0
;指向下个存储单元
MOV A,R2
;准备下一片拨盘的控制端置0
RR A

MOV R2,A
பைடு நூலகம்

DJNZ R3,LOOP ;未读完返回

MOVX @DPTR,A ;WR*为低,数据经74LS273口输出
;输入程序段:
❖ MOV DPTR,#0FEFFH ;I/O地址→DPTR
❖ MOVX A,@DPTR
;RD*为低,74LS244口 ;数据读入 内部RAM
编写程序把按钮开关状态通过图中的发光二极管显示出来。
DDIS:MOV DPTR,#0FEFFH ;输入口地址→DPTR
❖ 将读入的4位BCD码按千、百、十、个依次存放在片内RAM
的30H~33H单元,每个单元的高4位为0,低4位为BCD码。
RDS: LOOP:
2020/9/16
MOV R0,#30H ;初始化,存放单元首址
MOV R2,#7FH ;P1口高4位置控制字及低4位置输入方式
MOV R3,#04H ;读入4个BCD码
拨盘拨到不同位置时,输入控制线 A分别与4根BCD码输出线中的某根或某 几根接通,其接通的BCD码输出线状态 正好与拨盘指示的十进制数相一致
2020/9/16
8
拨盘输入 控制端A
0
1
1
1
2
1
3
1
4
1
5

9单片机讲义(第九章MCS-51扩展 I/O接口的设计)

9单片机讲义(第九章MCS-51扩展 I/O接口的设计)
若设定8255A的A口为工作方式1,则可以利用8255A的C口所提供的联络 信号进行查询式传送或者中断传送。但要注意8255A提供的OBF信号为电平 信号,而打印机需要的选通信号为负脉冲,因此不能直接用OBF来作为打印 机的STB信号,而应设法产生1个驱动脉冲来命令打印机开始工作。另外, 在中断方式时,可用打印机的ACK信号接到8255A的ACKA端(PC6),用INTA (PC3)经反相器反相后加到8031的外中断输入端INTX。
MOV DPTR,# OFF7FH ;控制字寄存器地址送 DPTR MOV A,# 83H ;方式控制字 83H送A 1000 0011 MOVX @DPTR,A ;83H送控制字寄存器
2. 方式1
方式1是一种选通输 入/输出工作方式。
(1)方式1输入
(2)方式1输出
3. 方式2
只有A口才能设定为方式2
(1)功能说明:PA口、PB口、PC 3个口做输出控制,由PA口做单一灯左 移8次,再由PB口做单一灯左移8次,最后由PC口做单一灯左移8次。 (2)硬件
(3)程序:;对8255A进行初始化 ORG 00H CLR P2.2 ;复位 SETB P2.2 CLR P2.2 SETB P2.0 ;选端口CW SETB P2.1 MOV A,#80H ; 1000 0000 MOVX @R0,A
【例 9-4】8255A作为连接打印机的接口
图6-11是通过8255A 连接打印机的接口电路,数据传送采用查询方 式。8255A的地址译码采用线选法,将P0.7直接与8255A的 CS 端相连 (通过地址锁存器),其口地址A口为7CH,B口为7DH,C口为7EH,命 令口为7FH。下图为 8255A连接打印机的接口电路
A口为7CH,B口为7DH,C口为 7EH, 7FH为CW口

第4章 80C51单片机IO端口及应用最终

第4章  80C51单片机IO端口及应用最终
23
24
参考程序:
#include <reg51.h> void main(void) { unsigned char i; P2=0xff; for(;;) { i=P2; P1=i; } }
25
4.6单片机I/O口控制电磁继电器
在控制系统中,常常存在电子电路与电气电路的互 相连接问题,需要电子电路控制电气电路的执行元件, 例如电动机、电磁铁、电灯等,同时实现电子线路与电 气电路的电隔离,以保护电子电路和人身的安全,继电 器在其中起了重要的桥梁作用。
控制
T1
内部总线 写锁存器 读引脚
D P0.x Q 锁存器 Q
BUF2
MUX
P0.x引脚 T2
图4-1 P0口的位电路结构
4
2.P0口工作原理 (1)P0口作为地址/数据总线分时复用口
当80C51单片机外部扩展存储器或者I/O接口芯片,需要 P0口作为地址/数据总线分时使用时,“控制”信号输出高 电平;转换开关MUX 将T2与反相器输出端接通,同时“与 门”开锁,“地址或数据”信号通过与门驱动T1管,并通过 反相器驱动T2管,使得P0.x引脚的输出状态随“地址/数据” 状态的变化而变化。具体输出过程如下。
注意,当P0口作输出口使用时,输出级属开漏电路,在 P0.x引脚应外接上拉电阻。
6
② P0口作为I/O口输入时,端口中的两个三态缓冲器用于读 操作。有2种读操作:读锁存器和读引脚。
“读引脚”:当执行一般的端口输入指令时,引脚上的外部 信号既加在三态缓冲器BUF2的输入端,又加在场效应管T2 漏极上,若此时T2导通,则引脚上的电位被钳在0电平上。 为使读引脚能正确地读入,在输入数据时,要先向锁存器置 “1”,使其Q反端为0,使输出级T1和T2两个管子均被截止, 引脚处于悬浮状态;作高阻抗输入。“读引脚”脉冲把三态 缓冲器打开,于是引脚上的数据经缓冲器到内部总线;

C8051F单片机的IO口设置

C8051F单片机的IO口设置

C8051F单片机的IO口设置c8051f020 I/O配置小结2007-04-06 23:05020的每个I/O口引脚都可以被配置为推挽或漏极开路输出。

同时引入了数字交叉开关,允许将内部数字系统资源映射到P0、P1、P2和P3的端口引脚。

通过设置交叉开关寄存器可将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。

必须在访问这些外设的I/O之前配置和允许交叉开关。

注意的问题:1.低端口既能按位寻址,也可以按字节寻址;高端口只能按字节寻址。

2.没有被分配到的引脚作为一般的数字通用I/O口。

3.P1口还可以用作ADC1的模拟输入。

4.P0MDOUT~P3MDOUT用于控制I/O端口每一位的输出状态。

5.EMIF(外部存储器接口)是用于CPU与片外XRAM之间的数据传输通道,通过寄存器EMI0CF和EMI0CN选择和管理端口实现数据的传输。

6.为了能访问片外存储器空间,必须设置EMI0CN寄存器的内容为片外存储器的空间页地址。

7.如果把外部存储器接口(EMIF)设置在高端口则首先要把EMI0CF的PRTSEL位设置为1,选择高端口,同时选择地址的复用或非复用方式,在把XBR的外部寄存器的EMIFLE位设置为0。

8.复用方式配置:在复用方式下,数据总线和地址总线的第8位共用相同的引脚(AD0~AD7)。

在该方式下,要用一个外部锁存器(如74HC373或相同功能的锁存器)保持RAM地址的低8位。

外部锁存器由ALE(地址锁存使能)信号控制,ALE 信号由外部存储器接口逻辑驱动。

9.在总线复用时,需要把地址数据复用端口配置为漏极开路。

10.ALE高/低脉宽占1个SYSCLK周期,地址建立/保持时间占0个SYSCLK周期,/WR和/RD占12个SYSCLK周期,EMIF工作在地址/数据复用方式,即:EMI0CF |= 0x2c;EMI0TC |= 0x2c;配置EMIF的步骤是:先将EMIF选到低端口或高端口;然后选择复用方式或非复用方式;再选择存储器的模式(只用片内存储器、不带块选择的分片方式、带块选择的分片方式或只用片外存储器);然后设置EMI0TC;最后通过寄存器PnMDOUT和P74OUT选择所期望的相关端口的输出方式。

第九章 MCS-51扩展IO接口设计技术

第九章 MCS-51扩展IO接口设计技术

例题1:8031单片机扩展一片8255A,电路如图, 求: 1)各个端口口地址
驱动程序
2)要求8255A工作在方式0,且A口作为输入, B口、C口作为输出,编写初始化程序。
3)对C口的PC5置1和清0 解:1)A口:FF7CH B口:FF7DH C口:FF7EH 控制口:FF7FH 或0000H 或0001H 或0002H 或0003H
图9-20
按下任意一键,对应的LED发光 ,程序如下: LOOP: MOV MOVX MOVX SJMP DPTR,#0FEFFH A,@DPTR;从244读入数据 @DPTR,A;向273输出数据 LOOP 图9-20
返回
9.2 可编程接口8255芯片
可编程接口是指功能可由计算机的指令 来改变的芯片。可编程接口通过编制程序 ,可使一个接口芯片执行多种不同的接口 功能,使用灵活。用它来连接计算机和外 设时,不需要或只需要很少的外加硬件。
2、输入和输出都是在P2.0为0时有效,那么它 们的口地址应该为多少,唯一吗?
口地址可以为FEFFH,是不唯一的。
11111110 11111111
P2 P0
图9-20
实际上只要保证P2.0=0就可以了
3、 输入输出的口地址相同,会不会 造成总线上发生冲突?
不会,输出控制信号由P2.0与WR合成, 而输入控制信号由P2.0与RD合成,所以 不会发生冲突。
初始化程序: MOV DPTR,#0104H MOV A,#0E8H MOVX @DPTR,A INC DPTR MOV A,#43H MOVX @DPTR,A MOV MOV MOVX DPTR,#0100H A,#0C2H @DPTR,A
命令字
例2:读8155H的F0H单元

8051单片机IO引脚详细说明

8051单片机IO引脚详细说明

在单片机[url=]学习[/url]、开发和应用中,IO口的配置对功能的实现起着重要的作用,下面介绍常见的四种配置,而现在很多单片机都兼有这四种配置,可供[url=]选择[/url]。

一.准双向口配置如下图,当IO输出为高电平时,其驱动[url=]能力[/url]很弱,外部负载很容易将其拉至低电平。

当IO输出为低电平时,其驱动能力很强,可吸收相当大的电流。

准双向口有三个上拉晶体管,一个“极弱上拉”,当端锁存器为逻辑“1”时打开,当端口悬空时,“极弱上拉”将端口上拉至高电平。

第二个上拉晶体管为“弱上拉”,当端口锁存器为逻辑“1”且端口本身也为“1”时打开,此上拉提供的电流,使准双向口输出为“1”。

如果此时端口被外部装置拉到逻辑“0”时,通过施密特触发器,控制“弱上拉”关闭,而“极弱上拉”维持开状态,为了把这个端口拉低,外部装置必须有足够的灌电流能力,使管脚上的电压,降到门槛电以下。

第三个上拉晶体管为“强上拉”,当端口锁存器由“0”跳变到“1”时,这个上拉用来加快端口由逻辑“0”到逻辑“1”的转换速度。

准双向口做为输入时,通个一个施密特触如器和一个非门,用以干扰和滤波。

准双向口用作输入时,可对地接按键,如下图1,当然也可以去掉R1直接接按键,当按键闭合时,端口被拉至低电平,当按键松开时,端口被内部“极弱上拉”晶体管拉至高电平。

当端口作为输出时,不应对地外接LED如图形控制,这样端口的驱动能力很弱,LED只能发很微弱的光,如果要驱动LED,要采用图 3的方法,这样准双向口在输出为低时,可吸收20mA的电流,故能驱动LED。

图4的方法也可以,不过LED不发光时,端口要吸收收很大电流。

二.开漏输出配置这种配置,关闭所有上拉晶体管,只驱动下拉晶体管,下拉与准双向口下拉配置相同,因此只能输出低电平(吸收电流),和高阻状态。

不能输出高电平(输也电流)。

如果要作为逻辑输出,必须接上拉电阻到VCC。

这种配置也可以通过上图3和图4来驱动LED。

单片机课程设计IO口的扩展电路设计

单片机课程设计IO口的扩展电路设计

综合设计性实验51系列单片机扩展并行输出口的电路设计报告姓名:班级:学号:指导教师:课题名称:I/O口的扩展与应用1.概念1.1课题名称概述:在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。

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

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

在较为复杂的控制系统(尤其是工业控制系统,如可编程控制器)中,经常需要扩展I/O口。

常用的I/O接口芯片有74HC系列锁存器/寄存器、8255和8155等。

同时要求可编程并行I/O应具有以下功能:(1)具有缓冲、锁存功能的数据端口每个端口都具有与CPU交换必须的状态和控制信息,也具有与外设交换必须的状态和控制信息(的握手信号)(2)具有中断方式实现I/O的有关电路(3)片选和连接控制电路(4)可通过CPU对芯片的编程,选择数据端口、数据传送方向,选择查询或中断通信方式8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O 口。

具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。

其各口功能可由软件选择,使用灵活,通用性强。

8255可作为单片机与多种外设连接时的中间接口电路。

8255A可编程并行输入/输出接口芯片是Intel公司生产的标准外围接口电路。

具有40条引脚,采用双列直插式封装。

它有A、B、C 三个端口,可以通过编程的方法来设定端口的各种I/O功能。

由于它功能强,又能方便地与各种微机系统相接,而且在连接外部设备时通常不需要再附加外部电路,所以得到了广泛的应用。

单片机由RAM、ROM、CPU构成,定时,计数和多种接口于一体的微型控制器。

第4章 80C51单片机的IO口及扩展

第4章 80C51单片机的IO口及扩展

一、I/O口应用实例
1、点亮如图所示的8 个发光二极管
一、I/O口应用实例
2、让上图中的8个发 光二极管一起闪烁, 闪烁周期为1秒。
一、I/O口应用实例
3、流水灯实验 (1)放光二极管从左到右,第一个先亮,0.5秒后,第 放光二极管从左到右,第一个先亮,0.5秒后, 秒后 一个熄灭,第二个亮,……… 循环。 循环。 一个熄灭,第二个亮, (2)放光二极管从左到右,第一个先亮,0.5秒后,第 放光二极管从左到右,第一个先亮,0.5秒后, 秒后 二个亮, 个发光二极管全亮之后, 二个亮,……… ,8个发光二极管全亮之后,一起熄 灭。间隔1秒,重复上面的过程。 间隔1 重复上面的过程。
二、I/O口的结构(略)
1、P0口的结构 P0口的结构
二、I/O口的结构(略)
2、P1口的结构 P1口的结构
二、I/O口的结构(略)
3、P2口的结4、P3口的结构 P3口的结构
二、I/O口的结构(略)
P0口的每一位可驱动 口的每一位可驱动8 LSTTL负载 P0既可作I/O端口使用 负载。 既可作I/O端口使用, (1) P0口的每一位可驱动8个LSTTL负载。P0既可作I/O端口使用,又可 作为地址/数据总线使用。当把它作通用I/O口输出时, 作为地址/数据总线使用。当把它作通用I/O口输出时,输出级是开漏 I/O口输出时 电路,在驱动NMOS或其他拉电流负载时,只有外接上拉电阻, 电路,在驱动NMOS或其他拉电流负载时,只有外接上拉电阻,才有高 NMOS或其他拉电流负载时 电平输出;作地址/数据总线时,无须外接电阻,此时不能再作I/O口 电平输出;作地址/数据总线时,无须外接电阻,此时不能再作I/O口 I/O 使用。 使用。 P0~P3口输出级接有内部上拉电阻 每位可驱动4 LSTTL负载 口输出级接有内部上拉电阻, 负载。 (2) P0~P3口输出级接有内部上拉电阻,每位可驱动4个LSTTL负载。 P0~P3口都是准双向I/O口 作输入时, 口都是准双向I/O (3) P0~P3口都是准双向I/O口,作输入时,必须先在相应端口锁存器 上写1 使驱动场效应管(FET)截止。P0口输入时呈高阻状态, P1~ 上写1,使驱动场效应管(FET)截止。P0口输入时呈高阻状态,而P1~ (FET)截止 口输入时呈高阻状态 P3口则有上拉负载电阻。系统复位时,端口锁存器全为1 P3口则有上拉负载电阻。系统复位时,端口锁存器全为1。 口则有上拉负载电阻

单片机IO口工作原理及结构框图

单片机IO口工作原理及结构框图

单片机IO口工作原理及结构框图8051单片机I/O引脚工作原理一、P0端口的结构及工作原理P0端口8位中的一位结构图见下图:由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。

再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。

下面,我们先就组成P0口的每个单元部份跟大家介绍一下:先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。

下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。

D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。

大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。

对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP 没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。

如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。

数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。

如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。

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的工作原理、编程方式和应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8255的三个端口具体工作在什么方式下,是通过 CPU对控制口的写入控制字来决定的。8255有两个 控制字:方式选择控制字和C口置/复位控制字。用 户通过程序把这两个控制字送到8255的控制寄存器 (A0A1=11),这两个控制字以D7来作为标志。
9.2 8255A概述
(1) 控制字为设置工作方式
9.2 8255A概述
典型的并行接口组成部分:
1) 数据端口(接外设):包括相应的输入缓冲寄存器 和输出缓冲寄存器
2) 地址、数据、控制总线:与微处理器通信 3) 控制寄存器:选择数据端口,选择端口传送方向,
选择与CPU交换信息的方法(查询或中断) 4) 一个状态寄存器 5) 中断电路
9.2 8255A概述
9.2.2 8255A的内部结构和引脚功能
9.2 8255A概述
1. 数据端口
8255A与51单片机相连,可为外设提供三个8位的I/O端口: (1) A口(PA0~PA7):8位数据输出锁存/缓冲器,8位数据输
入锁存器 (2)B口(PB0~PB7):8位数据输入输出锁存/缓冲器,8位数
据输入缓冲器 (3)C口(PC0~PC7):8位输出锁存/缓冲器,8位输入缓冲器
分(PC3~PC0)输入。
9.2 8255A概述
(2) 控制字为C口按位设置
可对C口8位中的任一位置“1”或清“0”。用于位控。
位定义 D7 方式选择位
功能 置为0
D6 D5 无关位
D4 D3 D2 D1 位选择: 000:选择第0位 001:选择第1位
…… 111:选择第7位
D0 1:置位 0:复位
9.2 8255A概述
9.2 8255A概述
A口的方式1输入工作过程:
a.当输入设备输入一个数据并送到PA7~PA0上时,输入设备 自动在选通输入线/STBA上发送一个低电平选通信号。
b.8255A收到/STBA上负脉冲后自动做两件事:一是把 PA7~PA0上输人数据存入A口的输入数据缓冲/锁存器;二 是使输入缓冲器输出线IBFA变为高电平,以通知输入设备 8255A的A口已收到它送来的输入数据。
组别
A组控制
B组控制
9.2 8255A概述
C口上半部分(PC7~PC4)随A口称为A组, C口下半部分(PC3~PC0)随B口称为B组。 其中A口可工作于方式0、1、和2,而B口只能工作
在方式0和1。 例如:写入工作方式控制字95H(1001,0101B) 可将8255A编程为:A口方式0输入,B口方式1输出, C口的上半部分(PC7~ PC4)输出,C口的下半部
9.2 8255A概述
B口的方式1输出工作过程:
a. 8031可以通过MOVX @Ri,A 指令把输出数据送到B口 的输出数据锁存器,8255A收到后便令输出缓冲器满引脚 线到/达OBB口FB的(PPCB1)7变~P为B0低上电。平,以通知输出设备输出数据已
b.P以B输通7出~知P设B820备5上5收A取到输走/出O输设B出F备B数上已据低收;电到二平输是后出使做数/A两据C件。K事B变:为一低是电从平,
9.2 8255A概述
3. 方式2 : PA7~PA0为双向I/O总线
(1) 一次初始化可指定PA口既作输入口又作输出口 (2) 当输入时,PA7~PA0受/STBA和IBFA控制,其工作
过程和方式1输入时相同; 当输出时,PA7~PA0 受/OBFA、/ACKA控制,其工作过程和方式1输出时 相同。
3. 控制引脚
1) CS:片选信号 2) RD:读信号,控制8255A送出数据至微处理器 3) WR:写信号,控制把微处理器输出的数据/命令写到8255A 4) RESET:复位信号, 清除控制寄存器, 置所有端口为输入方式
9.2 8255A概述
4. 端口寻址
因为825A中有4个端口寄存器 (A、B、C乙机控制字 寄存器),因此用A0,A1加以选择
第九章 扩展I/O接 口设计
9.1 I/O接口的基本模型
数据总线
微 处 地址总线
理 控制总线 器
I/O接口 数据端口 数据端口 数据端口
数据
外 状态 围
控制 设 备
I/O端口的交换信息:
1. 数据信息:数字量、模拟量、开关量、脉冲量
2. 状态信息:反应外设当前所处的工作状态,Ready=1? Busy=0?
例如:控制字07H写入控制口,置“1” PC3; 08H写入控制口,清“0” PC4。
9.2 8255A概述
9.2.4 8255A的工作方式
PA口有三种方式,PB口和PC口只有两种方式 1. 方式0的特点 (1) 基本输入/输出方式,不需要联络信号 (2) 具有两个彼此独立的8位端口(A、B)和两个4
3. 控制信息:控制外设的启动和停止,以及给出命令字, 设置接口的工作方式
9.1 I/O接口的基本模型
I/O接口的功能: 速度协调、信号格式配合、时序配合、电平配合、数 据缓冲、地址译码、校验和检查
I/O编址方式: 统一编址: I/O地址与存储器地址统一进行编址。因此,
某个存储单元既可指存储器单元,也可指I/O地址。 对片外I/O口的输入/输出指令就是访问片外RAM的 指令,即:MOVX 独立编址:端口地址与存储器地址分开编址。对I/O端 口独立编址,需要专门的I/O指令和接口信号访问I/O 端口
A1 A0 RD WR CS
功能
000 1
10 00
端口A数据总线 数据总线端口A
010 1
10 00
端口B数据总线 数据总线端口B
100 1
10 00
端口C数据总线 数据总线端口C
1 1 1 0 0 数据总线控制字寄存器
9.2 8255A概述
9.2.3 8255A的控制字
8255A有三种工作方式: (1) 方式0:基本输入输出; (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。
位并行端口(C的上半部分和下半部分)。 (3) 方式0是单向I/O,一次初始化只能指定端口作
输入或者输出 (4)数据输出锁存,输入不锁存
9.2 8255A概述
例:假设82பைடு நூலகம்5A的控制字寄存器地址为FF7FH,则 编写一个初始化程序,使得A口和C口的高4位工 作在方式0输出, B口和C口的低4位工作于方式0 输入:
(1) 方式1输入 /STB:选通输入,是由输入外设送来的输入信号。 IBF:输入缓冲器满,高电平有效。表示数据已送入
8255A的输入锁存器,它由/STB信号的下降沿置 位,由/RD信号的上升沿使其复位。 INTR:中断请求信号,高电平有效。由8255A输出, 向单片机发中断请求。
INTE A:A口中断允许,由PC4控制, INTE B:B口中断允许,由PC2控制。
MOV DPTR,#0FF7FH ;控制字寄存器地址 送DPTR
MOV A,#83H
;方式控制字83H送A
MOVX @DPTR,A
;83H送控制字寄存器
9.2 8255A概述
2. 方式1 (选通输入/输出工作方式): A口和B口通常 用于I/O数据传送,C口用作A口和B口的联络线, 以中断方式传送数据。
(3) PA口工作于方式2时,PC口有5条线固定为PA口与 外设之间的联络信号线。余下的3根线可以作为PB 口方式1下的联络线,也可与PB口一起成为方式0的 I/O线
(4) 数据在输入/输出时都被锁存
9.2 8255A概述
(2) 方式1输出
/OBF:输出缓冲器满信号,8255A给外设的联络信号, 外设可以将数据取走。它由/WR信号的上升沿清 “0”,由/ACK信号的下降沿置“1”。
/ACK:外设的响应信号,外设已将数据取走。 INTR:中断请求信号。表示该数据已被外设取走, 请求单片机继续输出下一个数据。由/WR的下降沿复位。 INTE A:中断允许,由PC6控制。 INTE B:中断允许,由PC2控制。
位定义 D7
D6 D5 D4
D3
D2
D1
D0
置方式标志: A组方式选择 A口出入 端口C上 B组方式 B口出入 端口C下
功能
1: 工作方式 00:方式0 2: PC口控制 01:方式1
1x:方式2
设置位: 半部设置 选择: 设置位: 半部设置 0:输出 0:输出 0:方式0 0:输出 0:输出 1:输入 1:输入 1:方式1 1:输入 1:输入
c.8255A同时检测到/STBA变为高电平、IBFA为高电平时使 INTRA变为高电平,向CPU发出中断请求。
d.CPU响应中断后,可以通过中断服务程序从A口的“输入 数据缓冲/锁存器”读取输入设备送来的输入数据。当输入 数据被CPU读走后,8255A撤消INTRA上中断请求,并使 IBFA变为低电平,以通知输入设备可以送下一个输入数据。
c./皆A8C在25K高5BA和电从中平回断,答允I输N许T入R触线B发变/A器为CQK高IBN电收I平E到B而低状向电态C平进P后U行请就检求对测中/O,断B若F。它B、们
d.CPU响应/INT0上中断请求后便可通过中断服务程序把 下一个输出数据送到B口的输出数据锁存器,并重复上述 过程,完成下一个数据的输出。
端口A、B通常作为数据端口,C口作为控制和状态 联络线,在模式控制下,C口又可分为两个4位的端口, 与A口和B口配合使用
9.2 8255A概述
2. A组和B组控制电路
A组:端口A和端口C的上半部 (PC4~PC7) B组:端口B和端口C的下半部 (PC0~PC3)
在825A中,除了端口A, B, C,还有一个控制寄存器,控制A 组与B组的工作方式。
9.1 I/O接口的基本模型
I/O接口的数据传送方式:
1) 程序查询方式:主机与设备串行工作。数据交换完 全由微处理器的程序控制
2) 程序中断方式:外围设备主动通知CPU,准备送出 输入数据或者接受输出数据
相关文档
最新文档