51单片机-8255A扩展_sxj
8255A芯片
8255A芯片8255A芯片是一种集成了并行输入/输出接口功能的芯片,由Intel公司推出。
它具有三个可编程I/O端口,每个端口都可以配置为输入或输出。
它提供了高度灵活性和可编程性,使其成为许多数字系统中常用的接口芯片。
8255A芯片的主要特点如下:1. 并行接口:8255A芯片具有三个并行I/O端口,即A、B和C端口。
每个端口都有8位,可以单独配置为输入或输出。
2. 可编程:8255A芯片可以通过编程来配置其各个端口的功能。
通过写入控制字寄存器,可以设置端口的工作模式,如输入模式、输出模式、双向模式等。
3. 单独I/O地址:8255A芯片具有单独的I/O地址,通过在I/O地址总线上设置相应的地址来访问芯片的寄存器。
4. 简化接口设计:8255A芯片的引脚数量相对较少,使得系统设计更加简化和便捷。
它可以直接与微处理器或其他逻辑芯片相连接,提供了与外部设备的接口。
5. 高可靠性:8255A芯片采用了逻辑门阵列和静态RAM组成的结构,具有较高的可靠性和稳定性。
8255A芯片的主要应用领域包括:1. 工业自动化系统:8255A芯片可以用于工业控制和自动化系统中,作为输入和输出设备的接口。
例如,它可以与传感器和执行器连接,实现对设备的监控和控制。
2. 仪器设备:8255A芯片可以用于仪器设备中,提供与外部设备的数据交换和控制接口。
例如,它可以用于示波器、频谱分析仪等设备中。
3. 计算机外部设备:8255A芯片可以用于计算机外部设备的接口,如打印机、磁盘驱动器等。
它可以实现对这些设备的数据传输和控制。
4. 数据采集系统:8255A芯片可以用于数据采集系统中,用于接收传感器的模拟信号并将其转换为数字信号。
总之,8255A芯片是一种功能强大的并行输入/输出接口芯片,具有灵活的配置和简化的接口设计。
它在工业自动化、仪器设备、计算机外部设备等领域具有广泛的应用。
MCS51并行口扩展8255
MOV DPTR,#80FF H MOV A,#88H MOVX @DPTR,A
B口方式0输出,C口高4位方式0输出,C口 低4位方式0输入。 练习:设8255的口地址为4000H---4003H, 口A、口B、口C均为输入方式,方式0,
MOV DPTR,#80FF H MOV A,#88H MOVX @DPTR,A
缓冲器
A组 控制
PC0~PC7:C组数据信 号,用来连接外设或者 作为控制信号。
RD
WR 读写
CS 控制
A0 A1
逻辑
RESET
B组 控制
PB0~PB7:B组数据信 号,用来连接外设。
口A
PA0~PA7
口C 高4
PC4~PC7
口C PC0~PC3 低4
口B
PB0~PB7
M82C55S-与518并9C行51口的的连扩展接 图
方式1主要用于中断应答式数据传送,也可用于连续查询式数据传送。输入和输 出时8255与外围设备的连接方式不同,数据传送过程也不同。
D0~D7 RD WR CS A1 A0 RESET
8255
PA0~PA7
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PB0~PB7
+5V BUSY STB D0~D7 微型打印机
MCS-51并行口的扩展
MCS-51并行口的扩展
MCS51单片机内部有4个并行口,当内部并行口不够用 时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2 类:不可编程的并行口芯片(74LS3734和74LS245)和可编 程的并行口芯片(8255)。
1 不可编程并行口芯片的扩展 2 可编程并行口芯片的扩展
最为常用。 ② 方式1――选通输入/输出――中断方式;A ,B,两个端口均可。 ③ 方式2――双向输入/输出――中断方式。只有A端口才有。 注意:工作方式的选择可通过向控制端口写入方式控制字来实现。
8255扩展课程设计
8255扩展课程设计一、教学目标本课程的教学目标是使学生掌握8255扩展芯片的基本原理、使用方法和编程技术,能够独立完成基于8255扩展芯片的简单系统设计。
1.了解8255扩展芯片的内部结构、工作原理和引脚功能。
2.掌握8255扩展芯片的编程方法,包括I/O指令和中断控制。
3.掌握基于8255扩展芯片的系统设计方法和步骤。
4.能够使用8255扩展芯片完成简单的输入输出操作。
5.能够编写基于8255扩展芯片的程序,实现数据的采集、处理和显示。
6.能够进行基于8255扩展芯片的系统设计和调试。
情感态度价值观目标:1.培养学生的创新意识和实践能力,提高他们对计算机硬件编程的兴趣。
2.培养学生团队合作精神,使他们能够积极参与小组讨论和项目实践。
二、教学内容本课程的教学内容主要包括8255扩展芯片的基本原理、使用方法和编程技术。
1.8255扩展芯片的基本原理:介绍8255扩展芯片的内部结构、工作原理和引脚功能,使学生了解其工作原理和应用场景。
2.8255扩展芯片的使用方法:讲解8255扩展芯片的编程方法,包括I/O指令和中断控制,使学生能够掌握其使用方法。
3.基于8255扩展芯片的系统设计:介绍基于8255扩展芯片的系统设计方法和步骤,使学生能够独立完成简单的系统设计。
三、教学方法本课程的教学方法主要包括讲授法、讨论法和实验法。
1.讲授法:通过讲解8255扩展芯片的基本原理、使用方法和编程技术,使学生掌握相关知识。
2.讨论法:通过小组讨论和项目实践,培养学生的创新意识和实践能力,提高他们对计算机硬件编程的兴趣。
3.实验法:通过实验室实践,使学生能够动手操作,加深对8255扩展芯片的理解和掌握。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用《计算机组成原理》等教材,为学生提供系统性的理论知识。
2.参考书:提供《8255扩展芯片编程与应用》等参考书,为学生提供丰富的实践案例。
51单片机8255A扩展IO口解析
PC口置/复位控制字
工作方式控制字
B组
D7 D6 D5 D4 D3 D2 D1 D0
PC置/复位控制字
0:复位 1:置位 位选择 000 PC0 001 PC1 010 PC2 011 PC3 100 PC4 101 PC5 110 PC6 111 PC7
I/O PC4-PC7
B组 端口C
下半部(4)
I/O PC0-PC3
PA口 PB口 PC口低4位
PC口高四位
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
14 15 16 17 13 12 11 10
RD WR A0 A1 RESET
读写 控制 逻辑
B组 控制
B组 端口B (8) I/O PB0-PB7
单片机 8255A 外设
1. 8255A的结构及引脚功能
8255A为40引脚的双列直插式(DIP)封装
(1)引脚功能 ① D0~D7为数据线,与单片机的数据 总线连接,传数据、命令等。 ② PA0~PA7(PA口)、PB0~PB7(PB 口)、PC0~PC7(PC口)为3个8位并行 I/O口,用于8255A与外设之间传数据。 ③ 读写控制逻辑线
8255A
PA口: × PB口: × PC口: × 控制口:× × × × × × × × × × × × × × × × × × × × × × × × × × × × ×
CS
0 0 0 0 × × × × × × × × × × × × × × × × × × × ×
A1 0 0 1 1
A0 0 1 0 1
0 1 0 1
没接的地址线设为1,则4个端口地址为: PA=7FFCH PB=7FFDH PC=7FFEH 控制口=7FFFH
8255并行扩展
CS
1. 8255的内部结构
(1)A口、 B口和 C 口。 A口、 B口和 C口均为 8 位 I/O 数据口, 但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和
一个 8 位的数据输入缓冲 / 锁存器组成。 B 口由一个 8 位的数据
输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口 都可以和外设相连,分别传送外设的输入/输出数据或控制信
2. 8255A的端口选择和基本操作
•A1 •0 •0 •1 •0 •0 •1 •1 •X •1 •A0 •0 •1 •0 •0 •1 •0 •1 •X •1 •RD •0 •0 •0 •1 •1 •1 •1 •X •0 •WR •1 •1 •1 •0 •0 •0 •0 •X •1 •CS •0 •0 •0 •0 •0 •0 •0 •1 •0 •操作 •从PA口输入 •从PB口输入 •从PC口输入 •从PA口输出 •从PB口输出 •从PC口输出 •从命令口输入 •高阻态 •非法态
•X
•x
•1
•1
•0
•高阻态
3. 8255A的控制字
• 8255有两个控制字: 方式控制字 方式控制字用于设定单片机的PA口、PB口和PC口 的工作方式。
置位/复位控制字 置位/复位控制字用于对8255A的PC口按位进行操 作。
方式控制字
方式控制字
D7 D6 D5 D4 D3 D2 D1 D0
置位/复位控制字
D7 × × × D3 D2 D1 D0
0: 复位 1: 置位 位选择 000 001 010 011 100 101 110 111 0: 位操作
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
8255A的工作方式
可编程芯片8255A及其应用
8255A芯片在工业控制中的应用
在工业控制中,8255A芯片可以用于采集各种传感器的数据。
传感器数据采集
执行器控制
安全监控
自动化生产
通过编程,8255A芯片可以控制各种执行器,如电机、阀门等。
8255A芯片可以用于监控工业生产过程中的各种安全参数。
通过与PLC等其他工业控制设备的配合,8255A芯片可以实现自动化生产流程的控制和管理。
OUT 83H ;将累加器A的内容输出到83H端口
01
02
03
编程实例
HLT ;结束程序
编程实例
这是一个简单的8255A编程示例,用于初始化芯片并设置一个特定的端口。在这个例子中,我们使用汇编语言进行编程,通过`OUT`指令将累加器A的内容输出到83H端口,然后通过`HLT`指令结束程序。
01
02
03
04
05
根据项目需求和开发环境,选择合适的编程语言。
2.选择编程语言
使用所选的编程语言编写代码,实现8255A芯片的控制逻辑。
3.编写代码
完成基本功能后,进行全面的测试,并根据测试结果优化代码。
5.测试和优化
将代码编译成可在芯片上运行的格式,并通过仿真或实际硬件进行调试。
4.编译和调试
8255A芯片在微机接口中的应用
作为微机的接口,8255A芯片可以实现与其他设备或系统的数据通信。 通过8255A芯片,微机可以扩展其I/O端口,从而连接更多的外部设备。 在微机接口中,8255A芯片的并行处理能力可以提高数据处理速度。 通过编程,8255A芯片可以用于实时控制微机系统的某些功能。 数据通信 扩展I/O端口 并行数据处理 实时控制
可靠性更强
应用领域拓展
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
第9章 MCS 51 单片机系统扩展(三,8255扩展).
+5V
Q7接片选/CS端,8255的(一组)寄存器地址可以是:
PA口:0000H PB口:0001H PC口:0002H 命令口:0003H
也可以是:007CH,007DH,007EH,007FH……
8255的编程应用
例:初始化A口,B口,C口为基本I/O输出口 MOV DPTR,#7003H ;指向控制字寄存器 MOV A, #80H ; A,B,C口均为输出口 MOVX @DPTR, A ;装入
◆
40 PIN
8255的PA,PB,PC口的三种工作方式:
工作方式 0 1 2 ◆ A口 基本输入/输出 输出锁存, 输入三态 应答式输入/输出 输入/输出均锁存 应答式双向输入/输出 输入/输出均锁存 B口 C口 基本输入/输出 基本输入/输出 输出锁存, 输入三态 输出锁存, 输入三态 应答式输入/输出 输入/输出均锁存 B口无此方式 提供A口和B口的 应答信号 提供A口的 应答信号
选中的 位将要 输出的 状态
1 0 , , 置 清 1 0
=
=
8255与单片机的连接:
74LS373
AT89C51
P0.0-P0.7 ALE P2.7 WR RD RESET 8D G Q0 Q1 OE
D0-D7 A0 A1
8255
PA
PC CS WR RD RESET
PB
EA
+5V
P2.7接片选/CS端,8255的(一组)寄存器地址可以是:
二、并行接口的扩展(8255)
可编程并行I/O接口芯片8255扩展I/O:
PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 VCC PB7 PB6 PB5 PB4 PB3
MCS_51单片机与8255A的接口设计
MCS_51单片机与8255A的接口设计
所谓可编程的接口芯片是指其功能可由微处理机的指令来加以改变的接口
芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。
目前,各
生产厂家已提供了很多系列的可编程接口,MCS-51 单片机常用的两种接口芯
片是8255 以及8155。
8255 和MCS-51 相连,可以为外设提供三个8 位的I/O 端口:A 口、B 口和
C 口,三个端口的功能完全由编程来决定。
1. 8255 的内部结构和引脚排列
下图7 为8255 的内部结构和引脚图。
(1)A 口、B 口和C 口。
A 口、B 口和C 口均为8 位I/O 数据口,但结构上略有差别。
A 口由一个8 位的数据输出缓冲/锁存器和一个8 位的数据输入缓冲/
锁存器组成。
B 口由一个8 位的数据输出缓冲/锁存器和一个8 位的数据输入缓冲器组成。
三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制
信息。
(2) A、B 组控制电路。
这是两组根据CPU 的命令字控制8255 工作方式的电路。
A 组控制A 口及C 口的高4 位,B 组控制B 口及C 口的低4 位。
(3) 数据缓冲器。
这是一个双向三态8 位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。
(4) 读/写控制逻辑。
这部分电路接收MCS-51 送来的读/写命令和选口地址,用于控制对8255 的读/写。
(5) 数据线(8 条):D0~D7 为数据总线,用于传送CPU 和8255 之间的数据、命令和状态字。
最新单片机8255并行口扩展控制系统设计
单片机8255并行口扩展控制系统设计单片机最小应用系统设计报告指导老师:学生:学号:机电工程学院年月日目录一、设计题目 (4)二、设计内容与要求 (4)六、系统功能分析与说明 (7)七、设计体会 (12)八、参考文献 (13)一、设计题目8255并行口扩展控制系统设计。
利用单片机AT89S51控制实现8255的PB 口输出数据等于PA口输入数据。
二、设计内容与要求(1)利用单片机AT89S51与8255A设计一个扩展控制系统设计。
(3)要求使用的元器件数目最少,电路尽可能简单。
(4)电源电压为+5V。
三、设计目的意义1、通过8255并行口扩展控制,进一步熟悉和掌握单片机的结构及工作原理,加深对单片机理论知识的理解;2、掌握单片机内部功能模块的应用;3、掌握单片机的接口及相关外围芯片的特性、使用与控制方法;4、掌握单片机的编程方法,调试方法;5、掌握单片机应用系统的构建和使用,为以后设计和实现单片机应用系统打下良好的基础。
四、系统硬件电路图(1) 8255并行口扩展控制硬件电路原理图如下:精品好文档,推荐学习交流123456ABCD654321DCBATitleNumber R evi sionSi ze BDate:2-M ay-2012 Sheet of Fi le:C :\Documents and S ett ings\Administrator\桌面\8255并行口扩展控制\8255Apcb\B AC KUP~12.DDBDrawn By:P1.01P1.12P1.23P1.78P1.34P1.45P1.56P1.67P3.0/R XD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR 16P3.7/R D17P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732ALE 30PSEN 29P2.7/A1528P2.6/A1427P2.5/A1326P2.4/A1225P2.3/A1124P2.2/A1023P2.1/A922P2.0/A821R S T9E A31V C C 40X 218X 119G N D20U1AT89c51D1LED D3LED D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710R D 5WR 36A09A18R ES ET 35C S6U28255AC 110ufR 21kR 41kR 51kR 71kR 131k R 101k VCCY112MR 151k R 171kR 161k R 141k R 121k R 111k D2LED D6LED D4LED D7LED D5LEDD8LEDVCC1243S1SW DIP-21243S2SW DIP-21243S3SW DIP-21243S4SW DIP-2S5SW-PBVCCR 11kC 222pf C 322pf12POWER2C ON2VCCD0D1D2D3D4D5D6D7D0D1D2D3D4D5D6D7图1:电路原理图(2) PCB 图如下:图2:PCB 图五、程序流程图与源程序5.1 程序流程图图3:程序流程图5.2 源程序#include <AT89x51.H>#define RD P0_3#define WR P3_7#define A0 P0_0#define A1 P0_1#define REST P3_6#define CS P0_2void main(void){unsigned char get_data;CS=0;REST=1;REST=0;RD=1;P2=0x90;A0=1;A1=1;WR=0;WR=1;///////////////////////////////////////// 以前是初始化P2=0xff;A0=0;A1=0;WR=0;WR=1;P2 = 0xff;while(1){A0=0;A1=0;RD=0;get_data=P2;RD=1;P2=get_data;A0=1;A1=0;WR=0;WR=1;P2 = 0xff;}}六、系统功能分析与说明6.1 总体功能实现说明本次设计单片机采用AT89S51,它是一种低功耗、高性能的8位CMOS微控制器。
基于51单片机的实时时钟设计(8255扩展io口)讲解
目录摘要 (1)第一章51单片机简介 (2)1.151系列单片机每部结构 (2)1.251单片机的封装及引脚 (2)第二章实时时钟的设计方案 (4)2.1单片机最先系统 (4)2.28255A模块 (4)2.3数码管显示模块 (5)2.4时间调节模块 (6)2.5整点报时 (7)第三章实时时钟的程序设计 (8)3.1时间调节程序流程图 (8)3.2主程序流程图 (9)第四章小结 (10)参考文献 (11)附录1 (12)附录2 (13)摘要单片计算机即单片微型计算机。
由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
通过本子课程设计掌握单片机的基本原理,加深对课堂知识的理解,从而达到学习、设计、开发单片机软硬的能力。
本设计主要设计了一个基于AT89C52单片机的电子时钟,由定时器定时并在数码管上显示相应的时间,通过中断和按键扫描实现对时间的停止、启动和设置调整。
应用Proteus软件实现了单片机电子时钟系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键字:单片机;子时钟;键盘控制。
第一章51单片机简介单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等,比方说用来控制路口红绿灯的亮灭公交车报站。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
1.1 51系列单片机每部结构51系列单片机中主要有8031、8051、8751三种机型,它们的指令系统和芯片引脚完全兼容,只是片内程序存储器(ROM)有所不同,其中8031片内没有ROM,8051片内有4k的掩膜ROM,8751片内有4k的紫外线可擦除ROM。
8255-单片机扩展
MCS-51单片机的系统扩展技术(四)4.2 利用8255A可编程并行接口芯片扩展I/O口8255A是INTEL公司生产的一种通用可编程并行I/O接口芯片。
它有3个并行端口,分别称为PA、PB、PC口,其中PC口又分为高4位口和低4位口两部份。
它们都可以通过软件编程来设置各I/O口的工作方式。
一、8255A的内部结构和引脚功能图17是8255A的内部结构框图,图18是8255A的引脚排图,该芯片主要由以下几部份组成:图17 8255的内部结构框图(1)并行端口PA、PB、PC 这三个端口都为8位,都可被编程为输入或输出两种方式,但它们在结构和功能上有差异。
PA口有一个8位数据输出锁存器/缓冲器和一个8位数据输入锁存器,可编程为输入/输出或双向寄存器;PB口有一个8位输入/输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存),可编程为输入或输出,但不能双向输入/输出;PC 口有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器,可分为两个4位口使用。
它除了作为输入输出口外,还可作为PA、PB口工作于选通方式时的状态控制信号。
(2)总线接口电路该电路主要用于实现8255A与单片机芯片的信号连接。
它由两部份组成:①数据总线缓冲器 数据总线缓冲器为8位双向三态缓冲器,可以直接与MCS-51系统总线相连。
MCS-51进行I/O 操作的有关数据、控制字和状态信息都是过该缓冲器进行传送。
图18 8255引脚图②读/写控制逻辑 这部份主要是与读写有关的控制信号,主要包括:CS :片选输入信号,低电平有效(8255A 被选中)RD :读信号,输入,低电平有效(允许CPU 从8255A 读取数据或状态信息)WR :写信号,输入,低电平有效(允许CPU 将控制字或数据写入8255A )RESET :复位信号,输入,高电平有效(8255A 被复位,所有控制寄存器被清0,所有端口被置输入方式);A1、A0:端口选择信号,输入。
可编程外围接口芯片8255A及其应用
第七章
1、方式 0(称为基本输入/输出工作方式) 适用场合:不需要用应答信号的无条件数据传送。 如:读一组开关状态,控制一组指示灯 方式0的基本功能: ①具有两个8位口(A口和B口),两个4位口(上口C和下C口) ②任意端口都可作为输入或输出,但不能同时实现输入及输出 ③设置为输出口时有锁存能力,设置为输入口时无锁存能力。
中断请求信号
B口方式1
B口输入
【注意】 由于INTE A、INTE B无外部引出脚,因此当PC4或PC2脚上出现 高电平或低电平信号时,不会改变中断允许触发器的状态。
第七章
第七章
(2)选通输出方式 A口、B口都工作在选通输出方式 其端口控制字、状态、联络信号如下图所示。
选通输入/输出方式可以分为3种情况
PC6,7 1=输入 0=输出
方式1 A口
中断允许信号
选通信号
缓冲器满信号
中断请求信号
标志位
A口方式1
A口输入
第七章
PB7~PB0
IBFB
RD
STBB
D0
D1
D2
D3
D4
D5
D6
D7
×
1
1
×
×
×
×
1
控制字
INTRB
INTE B
PC2
PC1
PC0
方式1 B口
中断允许信号
选通信号
缓冲器满信号
WR
INTRB
INTE B
PC1
PC2
PC0
方式1 B口
OBFB
ACKB
(2)选通输出方式(续)
第七章
第七章
51单片机外部存储器扩展
式。
二、地址译码器法 经过地址译码器,使用较少旳地址信号编码产生较多旳译码信
号,从而实现对多块存储器及I/O器件旳选择。
第410章章 M51单CS片-5机1单外片部机存系储统器功扩能展的扩展
10.3 外部存储器扩展 外部存储器旳扩展涉及程序存储器和数据存储器,这两种扩展
第410章章 M51单CS片-5机1单外片部机存系储统器功扩能展的扩展
10.1.1 I/O口扩展概述
因为MCS-51旳外部数据存储器RAM和I/O口是统一编址旳, 所以,顾客能够把外部64KB旳数据存储器RAM空间旳一部分作为 扩展外围I/O旳地址空间。这么,单片机就能够像访问外部RAM 存储器那样访问外部接口芯片,对其进行读/写操作。
第410章章 M51单CS片-5机1单外片部机存系储统器功扩能展的扩展
第10章 51单片机外部存储器扩展
10.1 外部I/O旳扩展 10.2 存储器概述 10.3 外部存储器扩展
第410章章 M51单CS片-5机1单外片部机存系储统器功扩能展的扩展
第10章 51单片机外部存储器扩展 10.1 外部I/O旳扩展
InteL企业常用外围器件如表10-1所示。
器件型号 8255A
8155/8156 8243 8279 8251 8253
器件名称 可编程外围并行接口 可编程RAM/IO扩展接口
I/O扩展接口 可编程键盘/显示接口
可编程通信接口 可编程定时/计时器
第410章章 M51单CS片-5机1单外片部机存系储统器功扩能展的扩展
SCL
起始/停止时序 写周期时序
SDA
ACK
51单片机-8255A扩展_sxj
位选择 PC0 PC1 PC2 PC3 PC4 PC5
三位无效 可置000
D7=0 置位 / 复位控制字标志
1
1
1
1
0
1
PC6
PC7
信电学院 孙秀娟
写端口C的方法
• 通过端口C的I/O地址
–
– •
向C端口直接写入字节数据
向C端口写入位控字 使C端口的某个引脚输出1或0
• 通过控制端口
信电学院 孙秀娟
WR
1 D6 D5 D4 D3 D2 D1 D0
WR
RD
B组 (下半部) 1=输入 0=输出 端口B 1=输入 PB 0~ PB 7 0=输出 方式选择 0=方式0 1=方式1
PC 0~PC 7
CS
OE
端口C PA 0~PA 7
74LS 373
A1 A0 D0
8255A
D7
8255工作方式控制字 RESET
8 lines
8255A
PPI
24 lines
信电学院 孙秀娟
1、8255A的结构与功能
• 一种通用的多功能可编程RAM/IO扩展器
信电学院 孙秀娟
数据总线
缓冲器
D0-D7 A 组控 制器 /RD /WR RESET /CS
8255A
A口 C口 (高4位) C口 (低4位) PA0PA7 PC4PC7 PC0PC3 PB0PB7
D0-D7 A 组控 制器 /RD /WR RESET /CS
8255A
A口 C口 (高4位) C口 (低4位) PA0PA7 PC4PC7 PC0PC3 PB0PB7
控制 逻辑 Port A Port B Port C
MCS51并行口扩展8255
MCS-51并行口的扩展
D0~D7 数据 总线
缓冲器
RD
WR 读写
CS 控制
A0 A1
逻辑
RESET
①A组控制电路用来控制A口 及C口的高4位。 ②B组控制电路用来控制B口 及C口的低4位。
A组 控制
B组 控制
口A
PA0~PA7
口C 高4
口C 低4
口B
PC4~PC7 PC0~PC3 PB0~PB7
最为常用。 ② 方式1――选通输入/输出――中断方式;A ,B,两个端口均可。 ③ 方式2――双向输入/输出――中断方式。只有A端口才有。 注意:工作方式的选择可通过向控制端口写入方式控制字来实现。
MCS-51并行口的扩展
方式0方式0为一种简单的输入/输出方式,没有规定固定的应答联络信号,
可用A,B,C三个口的任意一位充当查询信号,其余I/O口仍可作为独立 的端口和外设相连。
缓冲器
RD
WR 读写
CS 控制
A0 A1
逻辑
RESET
A组 控制
B组 控制
口A
PA0~PA7
口C 高4
口C 低4
口B
PC4~PC7 PC0~PC3 PB0~PB7
读/写控制逻辑电路负责管理8255A的数据传输过 程。它接收片选信号及系统读信号、写信号、复位信 号RESET,还有来自系统地址总线的口地址选择信号 A0和A1。
MOV DPTR,#0023H
MOVX
D0:D0=0 选中的C口引脚输出0,D0=1 选中的C口引脚输出1。 @DPTR,A
MCS-51并行口的扩展
8255初始化
8255是可编程的接口芯片,在使用8255之前,硬件上必须复位,即给RESET端送一个
7、单片机扩展8255A控制显示器实验 (1)
7、单片机扩展8255A控制显示器实验一、实验目的及要求学习利用Proteus软件,通过8255扩展接口,仅通过P0端口控制8只集成式7段数码的显示控制。
本例的接口扩展电路与6264数据内存扩展电路非常相似,都使用了地址锁存芯片74LS373,单片机还使用ALE,/RD,/WR连接地址锁存芯片及接口扩展芯片。
8255仅使用PA和PB端口。
二、实验原理(图)1、使用Proteus ISIS 7 Professional应用程序,建立一个.DSN文件2、在“库”下拉菜单中,选中“拾取元件”(快捷键P),分别选择以下元件:AT89C51、74LS373、7seg-MPX8-CA-GRN。
3、构建仿真电路4、创建一个Keil应用程序:新建一个工程项目文件;为工程选择目标器件(A T89C51);为工程项目创建源程序文件并输入程序代码;保存创建的源程序项目文件;把源程序文件添加到项目中。
5、把用户程序经过编译后生成的HEX文件添加到仿真电路中的处理器中(编辑元件→文件路径)三、实验设备(环境):电路一台Proteus ISIS 7 Professional应用程序Keil应用程序四、实验内容(算法、程序、步骤和方法):#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define PA XBYTE[0x0000]#define PB XBYTE[0x0001]#define PC XBYTE[0x0002]#define COM XBYTE[0x0003]uchar code DSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};uchar code DSY_CODE[]={0xa4,0xc0,0xf9,0xa4,0xf9,0xf9,0xf9,0x99};void delayms(uint x){ uchar i;while(x--) for(i=0;i<120;i++); }void main(){ uchar i,j;COM=0x80; //1000、0000while(1){for(i=0;i<40;i++){for(j=0;j<8;j++){PB=DSY_Index[j];//j=0,PB=DSY_Index[0],=0x01PA=DSY_CODE[j];//j=0;PA=DSY_CODE[0],=0xa4delayms(1);}}}}五、实验结论(结果):本实验实现了XXX功能,核心算法采用了XXX的方式,达到了预期目的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[例]设8255A控制字端口地址为03H,编 程实现用端口C的PC5产生方波。
MOV DPTR,#03H LOP: MOV A,#0AH MOVX @DPTR,A ;定地址 ;送 0
CALL DELAY
MOV A,#0BH
;延时
;送 1 ;延时
MOVX @DPTR,A
0AH:1 0 1 0BH:1 0 1
A0 A1
信电学院 孙秀娟
B组控 制器
B口
2、8255A 控制寄存器
8255A的控制字 D7 D6 D5 D4 D3 D2 D1 D0
D7=1
方式选择控制字
D7=0
C口按位置位/复位控制字
信电学院 孙秀娟
1
D7
P163 表7-2 8255A的方式选择控制字 0 1 1 0 0 0 1
D6 D5 D4 D3 D2 D1 D0
D0-D7 A 组控 制器 /RD /WR RESET /CS
8255A
A口 C口 (高4位) C口 (低4位) PA0PA7 PC4PC7 PC0PC3 PB0PB7
控制 逻辑 Port A Port B Port C
Control
A0 A1
信电学院 孙秀娟
B组控 制器
B口
8255A引脚的控制操作
–输出有锁存,输入无锁存
• 使用场合
–无条件传送:无需外设的工作状态
信电学院 孙秀娟
(2)方式 1:选通输入/输出方式
数据输入输出都被锁存 • 共有 3 个口,分为两组
– A组:A口 和 PC7~PC4
• A口:输入或输出
• PC7~PC4
– 控制和状态信号等
– B组:B口 和 PC3~PC0
• B口:输入或输出 • PC3~PC0
从 C口 写 写控制寄存器
数据线高组态
信电学院 孙秀娟
数据总线
缓冲器
D0-D7 A 组控 制器 /RD /WR RESET /CS
8255A
A口 C口 (高4位) C口 (低4位) PA0PA7 PC4PC7 PC0PC3 PB0PB7
控制 逻辑 Port A Port B Port C
Control
WR
1 D6 D5 D4 D3 D2 D1 D0
WR
RD
B组 (下半部) 1=输入 0=输出 端口B 1=输入 PB 0~ PB 7 0=输出 方式选择 0=方式0 1=方式1
PC 0~PC 7
CS
OE
端口C PA 0~PA 7
74LS 373
A1 A0 D0
8255A
D7
8255工作方式控制字 RESET
第 7章
MCS-51基本扩展
信电学院 孙秀娟
主要内容
• 7.1 存储器扩展
• 7.2 编址技术
• 7.3 并行口基本扩展
• 7.4 可编程并行接口8255A
• 7.5 数模转换及ADC0809
• 7.6 模数转换及DAC0832
信电学院 孙秀娟
7.4 可编程并行接口芯片8255A 扩展并行 I/O 口
B口工作方式选择: 0=方式0 基本输入输出 1=方式1 选通输入输出
8255A端口C的置位/复位命令字
8255A端口C的置位/复位命令字可实现对端口C的每一位进行控制
D7
D6
D5
D4
D3
D2
D1
D0
置位/复位选择: 1=置位 0=复位
D3 0 0 0 0 1 1
D2 0 0 1 1 0 0
D1 0 1 0 1 0 1
控制寄存器的地址 7FFFH
初始化程序
MOV
DPTR, #7FFFH
工作方式控制字
10000000B,即80H
MOV
A, #80H
MOVX @DPTR, A
信电学院 孙秀娟
4、练习
[2] 在练习1的电路图基础上,完成项目5中的活动4。
RD RD
WR
WR
P2.7
CS
OE
P0.7
P0.0
8031
位选择 PC0 PC1 PC2 PC3 PC4 PC5
三位无效 可置000
D7=0 置位 / 复位控制字标志
1
1
1
1
0
1
PC6
PC7
信电学院 孙秀娟
写端口C的方法
• 通过端口C的I/O地址
–
– •
向C端口直接写入字节数据
向C端口写入位控字 使C端口的某个引脚输出1或0
• 通过控制端口
信电学院 孙秀娟
信电学院 孙秀娟
0 1
CALL
DELAY
SJMP
LOP
C口 每一位都可 置位/复位 可用来定义控制信号和状态信号 这一功能 可使 8255A 作为位控接口 对外设按位控制
信电学院 孙秀娟
3、8255A的工作方式
方式 名称 端口 工作特点
方式0 基本(Basic)输入/输出方 A,B,C 无需应答 式 信号 方式1 选通型(Strobed)方式 A, B A C口应答 信号 C口应答 信号数据 双向传送
控制 逻辑
A0 A1
信电学院 孙秀娟
B组控 制器
B口
可编程并行接口
输出
Port C
8051
写
8255A
PPI
Port B
Port A
信电学院 孙秀娟
可编程并行接口
Port C
8051
读
8255A
PPI
Port B
Port A
输入
信电学院 孙秀娟
数据总线
D0-D7
A1 0 缓冲器 0 1 1
控制 逻辑 Port A Port B Port C
C口低位输入输出选择: • 例:8255A工作方式选择控制字, A 口是方式 0=输出 1=输入 1输入方式,B口方式0输出方式, C口上半 B口输入输出选择:0=输出 部定为输出,C口下半部指定为输入。1=输入
解:控制字为 10110001= B1h, • 初始化程序: C口高位输入输出选择: 0=输出 1=输入 •D7=1 MOV A口输入输出选择: DPTR,#PORT_CON 0=输出 1=输入 • A口工作方式选择: MOV A , 00= 方式 0#0B1H , 01=方式1, 1X=方式2 A口工作状态为:基本输入输出 选通输入输出 双向选通输入输出 • MOVX @DPTR , A 信电学院 孙秀娟
(3)方式 2:双向输入输出方式I/O操作
• 只有 A口 能工作在 方式2
– 双向I/O总线 – 利用C口的5条线
• B口:只能工作在方式0或者方式1 • C口剩余的3条线
– 作输入线、输出线
或
– B口方式1之下的控制线信ຫໍສະໝຸດ 学院 孙秀娟方式2工作示意图
信电学院 孙秀娟
4、练习
[1] 根据要求初始化8255A:A口方式0输出,B口方式0
PA 0~PA 7
74LS 373
A1 A0 D0
8255A
D7
PB 0~ PB 7
ALE
RST
信电学院 孙秀娟
RESET
PC 0~PC 7
A1 A0 0 0 1 0 0 1 1 X 0 1 0 0 1 0 1 X /CS 0 0 0 0 0 0 0 1 /WR 1 1 1 0 0 0 0 X /RD 0 0 0 1 1 1 1 X 从 A口 读 从 B口 读 操作
从 C口 读
从 A口 写 从 B口 写
从 C口 写 写控制寄存器
数据线高组态
输出。
RD RD
WR
WR
P2.7
CS
OE
P0.7
P0.0
8031
PA 0~PA 7
74LS 373
A1 A0 D0
8255A
D7
PB 0~ PB 7
ALE
RST
信电学院 孙秀娟
RESET
PC 0~PC 7
RD
• [1]8255A初始化
–A口方式0输出
–B口方式0输出
A组 P2.7 方式选择 P0.7 标识 00=方式0 01=方式1 P0.0 1X=方式2 端口A 1=输入 8031 0=输出 端口C ALE (上半部) 1=输入 RST 0=输出
信电学院 孙秀娟
8255A引脚的控制操作
A1 A0 0 0 1 0 0 1 1 X 0 1 0 0 1 0 1 X /CS 0 0 0 0 0 0 0 1 /WR 1 1 1 0 0 0 0 X /RD 0 0 0 1 1 1 1 X 从 A口 读 从 B口 读 操作
从 C口 读
从 A口 写 从 B口 写
– 控制和状态信号等
配合固定 不可修改
信电学院 孙秀娟
方式1输入示意图
P165 表7-4
STB(Strobe) IBF(Input buffer full) INTR(Interrupt Request) INTE(Interrupt Enable)
信电学院 孙秀娟
选通信号输入端 输入缓冲器满信号 中断请求信号 中断允许信号,A口-PC4,B口-PC2
方式2 双向(Bi-directional)传输 方式
信电学院 孙秀娟
(1)方式 0:基本输入/输出方式
• 工作特点
– 不需选通信号 – 通道A、B、C(两个4位端口:PC0~3和PC4~7)均可工 作于方式0
• 都可工作于输入或输出
• 各通道相互独立 • 对C口,其高低4位(PC0~3和PC4~7 )两部分可相同(同为输 入或输出)也可不同。
Control