第06章 MCS-51单片机存储器扩展与并行IO接口扩展_第1页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展_第2页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展_第3页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展_第4页
第06章 MCS-51单片机存储器扩展与并行IO接口扩展_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 1/94/94并行并行I/OI/O口的应用与扩展口的应用与扩展 I/OI/O接口技术概述接口技术概述存储器的扩展存储器的扩展第6章 存储器扩展与并行I/O接口扩展2 2/94/94单片机系统扩展的结构系统扩展就是往总线上系统扩展就是往总线上“挂挂”存储器芯片或存储器芯片或I/O接口芯片,接口芯片,“挂挂”存储器芯片就是存储器扩展,存储器芯片就是存储器扩展,“挂挂” I/O接口芯片就是接口芯片就是I/O扩展扩展3 3/94/946.1 51单片机存储器扩展一、存储器概述内存内存由半导体由半导体存储器组成存储器组成,速度快、但造速度快、但造价高、容量小价高、容量小,用来存放当,用来存放当前运行

2、的程序前运行的程序存储器分类存储器分类外存外存由由硬硬盘盘或或光盘存储器等光盘存储器等构成构成,造价低,造价低、容量大、信、容量大、信息可长期保存息可长期保存,但速度慢,但速度慢4 4/94/946.1 51单片机存储器扩展只读存储器只读存储器ROMROM,正常工,正常工作时只能读出作时只能读出不能写入,断不能写入,断电后信息可长电后信息可长期保存期保存半导体存储器半导体存储器随机读写随机读写RAMRAM,工作中既可,工作中既可读出数据也可读出数据也可写入数据,但写入数据,但断电后其中的断电后其中的信息将会丢失信息将会丢失5 5/94/94PROM:用户自行写入:用户自行写入程序,但只能写一次

3、程序,但只能写一次EPROM:用户可多次编程,:用户可多次编程,用紫外灯照射可擦除信息用紫外灯照射可擦除信息EEPROM:通过加电信号:通过加电信号可直接擦除其中的信息可直接擦除其中的信息掩膜掩膜ROM:其中的信息在制:其中的信息在制造时由掩膜工艺固化进去造时由掩膜工艺固化进去ROM只能读不能写,那其中的内容是怎么放进去的?6 6/94/946.1 51单片机存储器扩展动态动态RAM:用电容上的电量:用电容上的电量来表示信息,电路简单,集来表示信息,电路简单,集成度高。但需要定时刷新成度高。但需要定时刷新静态静态RAM:用触发器存储:用触发器存储信息,集成度低,容量小,信息,集成度低,容量小,

4、但无需刷新但无需刷新7 7/94/941 1)存储容量存储容量存储容量是指存储器所能存储的二进制信息存储容量是指存储器所能存储的二进制信息的总量。的总量。 存储器容量存储器容量=单元数单元数数据线位数数据线位数例如:例如:5128,10248=1KB,2KB,64KB6.1 51单片机存储器扩展半导体存储器的主要指标8 8/94/942 2)存取速度存取速度 指从指从CPU给出有效的存储器地址到存储给出有效的存储器地址到存储器给出有效数据所花费的时间。存取时间器给出有效数据所花费的时间。存取时间越小,存储器的存取速度就越快。通常,越小,存储器的存取速度就越快。通常,半导体存储器的最大存取时间从

5、几十到几半导体存储器的最大存取时间从几十到几百毫微秒百毫微秒6.1 51单片机存储器扩展9 9/94/946.1 51单片机存储器扩展二、程序存储器及其扩展1. Intel 27系列EPROM芯片型号存储容量地址线数27162 KB1127324 KB1227648 KB132712816 KB142725632 KB152751264 KB16为什么2764是13根地址线?存储容量与地址线之间什么关系?1010/94/946.1 51单片机存储器扩展2764引脚功能A0A12:地址线引脚,可寻址:地址线引脚,可寻址213=8192=8K D7D0:数据线引脚,用于传送数据:数据线引脚,用于传

6、送数据CE: 片选输入端,低电平允许本芯片工作片选输入端,低电平允许本芯片工作OE: 输出允许输出允许PGM:编程控制端:编程控制端VCC:工作电源:工作电源VPP: 编程电源编程电源GND:电源地端:电源地端1111/94/946.1 51单片机存储器扩展2764的工作方式工作方式工作方式引引 脚脚CEOEPGMVPPVCCD7D0读出读出低低低低高高VCCVCC输出输出维持维持高高VCCVCC高阻高阻编程编程低低高高编程负脉冲编程负脉冲VPPVCC输入输入编程校验编程校验低低低低高高VPPVCC输出输出禁止编程禁止编程高高VPPVCC高阻高阻1212/94/94 存储器扩展的关键问题是存储

7、器扩展的关键问题是地址总线地址总线、数据总线数据总线和和控制总线控制总线这三类总线的连接。这三类总线的连接。MCS-51单片机由于受引脚数目的限制,数单片机由于受引脚数目的限制,数据线和低据线和低8位地址线复用,为了将它们分离位地址线复用,为了将它们分离出来,需要外加地址锁存器出来,需要外加地址锁存器74LS3736.1 51单片机存储器扩展2.单片程序存储器的扩展1313/94/94MCS-51单片机片外三总线的构成 MCS-51数据数据线和低线和低8位地位地址线复用。为址线复用。为了将它们分离了将它们分离出来,需要外出来,需要外加地址锁存器,加地址锁存器,从而构成片外从而构成片外三总线三总

8、线1414/94/94MCS-51单片机扩展271281515/94/94P2.7P2.6P2.5P2.1P2.0P0.7P0.6P0.3P0.2P0.1P0.0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= 0000H=3FFFHMCS-51单片机扩展27128地址线地址线:低:低8位从位从P0口发出,用口发出,用74LS373锁存锁存 高高8位从位从P2口发出,实际只用了口发出,实际只用了6根根数据线数据线:P0口(分时复用)口(分时复用)控制线控制线: ALE、PSEN、EA根据硬件连接,该27128的地

9、址范围是多少? 什么是重叠地址?什么是基本地址?1616/94/94P2.7P2.6P2.5P2.1P2.0P0.7P0.6P0.3P0.2P0.1P0.0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= 4000H =7FFFHP2.7P2.6P2.5P2.1P2.0P0.7P0.6P0.3P0.2P0.1P0.0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= 8000H =BFFFHP2.7P2.6P2.5P2.1P2.0P0

10、.7P0.6P0.3P0.2P0.1P0.0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= C000H = FFFFH当空余脚取不同值时的地址称为重叠地址当空余脚取不同值时的地址称为重叠地址当空余脚取当空余脚取0时的地址称为基本地址时的地址称为基本地址1717/94/94 多片存储器扩展的关键问题仍然是地址多片存储器扩展的关键问题仍然是地址总线、数据总线和控制总线这三类总线的连总线、数据总线和控制总线这三类总线的连接。为了区分接。为了区分CPU是访问哪一片是访问哪一片EPROM,可以可以利用译码器进行片选利用译

11、码器进行片选,这种片选方法称,这种片选方法称为为译码法译码法6.1 51单片机存储器扩展3. 多片程序存储器的扩展由多片存储芯片组成的存储空间,CPU是如何选中各个存储芯片的?1818/94/946.1 51单片机存储器扩展8031单片机扩展四片271281919/94/942-4译码器真值表 B A Y0 Y1 Y2 Y30 00 11 01 10 1 1 1 1 0 1 11 1 0 11 1 1 0G为选通控制端为选通控制端 2020/94/94各片27128的地址范围27128编编号号A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1

12、A0 地址范围地址范围IC1(Y0=0)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10000H3FFFHIC2(Y1=0)0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14000H7FFFHIC3(Y2=0)1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 18000HBFFFHIC4(Y3=0)1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

13、1 1 1 1 1 1 1 1 1 1 1 1 1 1 1C000HFFFFH2121/94/946.1 51单片机存储器扩展三、数据存储器及其扩展1. Intel 62系列SRAM型号型号芯片容量芯片容量地址线数地址线数61162 KB1162648 KB136212816 KB146225632 KB152222/94/946.1 51单片机存储器扩展6264引脚功能A0A12:地址线引脚,可寻址:地址线引脚,可寻址213=8192=8K D7D0: 数据线引脚,用于传送读写数据数据线引脚,用于传送读写数据CS和和CS1:片选端,同时有效允许本芯片工作:片选端,同时有效允许本芯片工作 OE

14、: 输出允许输出允许WE : 写允许信号写允许信号,低电平写入,高电平读出,低电平写入,高电平读出VCC:工作电源:工作电源GND:电源地端:电源地端2323/94/946.1 51单片机存储器扩展6264的工作方式工作方式工作方式CSCS1WEOE功功 能能读出读出0110从从6264读出数据到读出数据到D7D0写入写入0101将将D7D0数据写入数据写入6264未选通未选通11输出高阻输出高阻2424/94/946.1 51单片机存储器扩展2. 数据存储器的扩展 数据存储器扩展与程序存储器扩展的连数据存储器扩展与程序存储器扩展的连接方法基本相同。不同的只是控制信号不接方法基本相同。不同的只

15、是控制信号不一样。在程序存储器扩展中,单片机使用一样。在程序存储器扩展中,单片机使用PSEN作为读选通信号,而在数据存储器扩作为读选通信号,而在数据存储器扩展中,单片机则使用展中,单片机则使用RD和和WR分别作为读分别作为读和写的选通信号和写的选通信号2525/94/94采用线选法扩展三片6264地址线地址线:低:低8位从位从P0口发出,用口发出,用74LS373锁存锁存 高高8位从位从P2口发出,用口发出,用P2口高口高3位片选位片选数据线数据线:P0口(分时复用)口(分时复用)控制线控制线:ALE、RD、WR2626/94/94各片6264的地址范围6264编号编号A15 A14A13 A

16、12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0地址范围地址范围IC16264(P2.5=0)1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1C000HDFFFHIC26264(P2.6=0)1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1A000HBFFFHIC36264(P2.7=0)0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1

17、 16000H7FFFH2727/94/94 8031单片机内部没有程序存储器,必单片机内部没有程序存储器,必须外接。而内部须外接。而内部RAM很少,很少,经常经常也需要也需要外接数据存储器。外接数据存储器。下面下面给出利用给出利用74LS138译码器同时扩展二片译码器同时扩展二片2764和二片和二片6264的的电路电路6.1 51单片机存储器扩展3.同时扩展程序存储器和数据存储器2828/94/94采用译码法同时扩展ROM和RAM2929/94/94各片ROM和RAM的地址范围存储芯片存储芯片A15 A14 A13 A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1

18、A0地址范围地址范围IC12764(Y0=0)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10000H1FFFHIC22764(Y1=0)0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 12000H3FFFHIC36264(Y2=0)0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 14000H5FFFHIC46264(Y3=0)0 1 1 0 0 0 0 0 0 0

19、 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16000H7FFFH3030/94/94思 考 题 为什么当为什么当P2口作为扩展存储器高口作为扩展存储器高8 位地址后,不再适位地址后,不再适宜作通用宜作通用I/O口了?口了? 8031 如果只外接了程序存储器,实际上还有多少根如果只外接了程序存储器,实际上还有多少根 I/O口线可供用户使用?如果只外接了数据存储器,口线可供用户使用?如果只外接了数据存储器,实际上还有多少根实际上还有多少根I/O口线可供使用?请说明原因口线可供使用?请说明原因 在扩展多片外部存储器时,有几种片选方法?各有什在扩展多片外部存

20、储器时,有几种片选方法?各有什么特点?么特点? 在在8031扩展系统中,外部程序存储器和数据存储器共扩展系统中,外部程序存储器和数据存储器共用用16位地址线和位地址线和8位数据线,为什么两个存储器的地位数据线,为什么两个存储器的地址不会发生冲突?址不会发生冲突?3131/94/94下次课前请预习下次课前请预习6.26.3节,并思考下列问题节,并思考下列问题 什么叫什么叫I/O接口?接口?I/O接口的作用是什么?接口的作用是什么? 外设端口有哪两种编址方法?各有什么特点?外设端口有哪两种编址方法?各有什么特点? I/O数据有哪几种传送方式?数据有哪几种传送方式? 查询方式与中断方式有什么不同之处

21、?查询方式与中断方式有什么不同之处? 并行并行I/O接口和串行接口和串行I/O接口各有什么特点?接口各有什么特点? 51单片机在读引脚之前为什么要先送单片机在读引脚之前为什么要先送“1”3232/94/946.2 I/O接口技术概述3333/94/946.2 I/O接口技术概述一、I/O接口的作用I/O 接接口作用口作用输出数据锁存输出数据锁存输入数据缓冲输入数据缓冲速度匹配速度匹配数据转换数据转换12343434/94/946.2 I/O接口技术概述二、I/O接口的编址外设端口单独外设端口单独编址编址: I/O寄寄存器地址空间存器地址空间和存储器地址和存储器地址空间分开编址空间分开编址I/O

22、接口编址接口编址外设端口与存外设端口与存储器统一编址储器统一编址:直接使用访直接使用访问数据存储器问数据存储器的指令进行的指令进行I/O操作操作3535/94/946.2 I/O接口技术概述三、I/O数据的传送方式查询传送方式查询传送方式中断传送方式中断传送方式DMA传送方式传送方式无条件传送方式无条件传送方式3636/94/941. 无条件传送存在问题:外设必须准备就绪存在问题:外设必须准备就绪使用条件:使用条件:(1 1)外设速度与)外设速度与CPUCPU的速度一样快的速度一样快因外设速度非常快,因外设速度非常快,CPUCPU可认为它已经准备就绪可认为它已经准备就绪例如:例如:CPUCPU

23、与与D/AD/A的接口的接口输出模拟量输出模拟量CPUCPU与数码管的接口与数码管的接口点亮数码管点亮数码管(2 2)外设速度非常慢)外设速度非常慢因外设速度非常慢,因外设速度非常慢,CPUCPU总认为它已经准备就绪总认为它已经准备就绪例如:例如:CPUCPU读取外部开关的通断状态。读取外部开关的通断状态。3737/94/942. 查询方式传送存在问题:存在问题:CPU效率降低效率降低3838/94/943. 中断方式传送特点:特点:(1 1)与外设并行工作,)与外设并行工作,CPUCPU效率高效率高(2 2)控制系统实时性好。)控制系统实时性好。3939/94/944. DMA方式传送404

24、0/94/946.2 I/O接口技术概述四、I/O接口的类型并行并行I/OI/O接口接口: :用于并行传送用于并行传送I/O数据,速数据,速度快、效率高度快、效率高,适用于近距,适用于近距离传送离传送I/O接口类型接口类型串行串行I/OI/O接口接口: :用于串行传送用于串行传送I/O数据,成数据,成本低但速度慢本低但速度慢,适用于远距,适用于远距离传送离传送4141/94/946.3 并行I/O口的应用与扩展一、51单片机I/O口的直接应用P0P0口口在扩展片外存储器时作地址数据分时复用总在扩展片外存储器时作地址数据分时复用总线,在没有扩展时作双向输入线,在没有扩展时作双向输入/输出口使用输

25、出口使用P1P1口口为通用准双向输入为通用准双向输入/输出接口。输出接口。P2P2口口在扩展片外存储器时作高在扩展片外存储器时作高8位地址总线,在无位地址总线,在无扩展时可用作通用准双向扩展时可用作通用准双向I/O接口。接口。P3P3口口除了作通用双向除了作通用双向I/O口使用口使用外,还具有第外,还具有第2功能功能4242/94/946.3 并行I/O口的应用与扩展1. 51单片机I/O端口的操作方式 1 1)输出数据方式)输出数据方式 CPU通过以端口为目的操作数的指令就可通过以端口为目的操作数的指令就可以把数据写到以把数据写到P0P3的端口锁存器,然后通的端口锁存器,然后通过输出驱动电路

26、送到端口的引脚上。因此,过输出驱动电路送到端口的引脚上。因此,凡是以端口为目的操作数的指令都能达到从凡是以端口为目的操作数的指令都能达到从端口引脚上输出数据的目的端口引脚上输出数据的目的MOVP0,R2ORLP1,AANLP2,#dataXRLP3,A4343/94/946.3 并行I/O口的应用与扩展 2 2)读端口锁存器方式)读端口锁存器方式 读端口锁存器方式实际上并不从外部读端口锁存器方式实际上并不从外部引脚读入数据,而只是把端口锁存器中的引脚读入数据,而只是把端口锁存器中的内容读到内部总线,按指令要求进行运算内容读到内部总线,按指令要求进行运算和变换后,再写回到锁存器和变换后,再写回到

27、锁存器属于这类操作的指令通常是属于这类操作的指令通常是ANL、ORL、XRL等等“读读修改修改写写”指令,例如:指令,例如:ANL 20H, P2ORLR1,P14444/94/946.3 并行I/O口的应用与扩展 3 3)读引脚方式)读引脚方式 当端口做输入使用时,若要读取端口引当端口做输入使用时,若要读取端口引脚上的信号,要脚上的信号,要先向其锁存器写入先向其锁存器写入“1”,使得该输出驱动电路的场效应管截止,然使得该输出驱动电路的场效应管截止,然后再执行输入指令后再执行输入指令,才能真正把外部引脚,才能真正把外部引脚的状态读入的状态读入4545/94/94例如要读取例如要读取P1口低口低

28、4位引脚上信号的指令如下:位引脚上信号的指令如下:MOV P1, #0FH ;使;使P1口低口低4位锁存器置位锁存器置“1”MOV A, P1 ;读;读P1口低口低4位引脚信号送位引脚信号送A D QD QCLK QCLK QP1.nP1.n读读锁存器锁存器内部总线内部总线写写锁存器锁存器读读引脚引脚VCCRT TP1P1口引脚口引脚4646/94/946.3 并行I/O口的应用与扩展2. I/O口用作输出 当当I/O口用作输出时,每个口用作输出时,每个I/O引脚输出引脚输出高电平时的拉电流高电平时的拉电流应控制在应控制在1mA之内之内P1、P2和和P3口每个口每个I/O引脚输出引脚输出低电平

29、时低电平时的灌电流的灌电流一般应控制在一般应控制在3mA之内之内P0口每个口每个I/O引脚的灌电流允许到引脚的灌电流允许到5mA4747/94/946.3 并行I/O口的应用与扩展【例【例6-1】 如图所示,如图所示,P1口的口的P1.0P1.7分别通分别通过反相器接过反相器接8个发光二极管。要求编写程序,每个发光二极管。要求编写程序,每隔隔1s循环点亮循环点亮1只发光二极管,一直循环下去,只发光二极管,一直循环下去,已知系统的晶振频率为已知系统的晶振频率为6MHzP1.0P1.7+5VVL0VL780314848/94/94解:用软件延时实现每隔1s循环点亮1只发光管 设计设计0.1s延时子

30、程序延时子程序 因为因为fosc6MHz,所以机器周期,所以机器周期12/fosc2s 0.1s的延时子程序宜采用双重循环结构的延时子程序宜采用双重循环结构,如下所示,如下所示:DEL1:MOV R2, #200;1mDEL2:MOV R3, #X;1m NOP;1mDEL3:DJNZ R3, DEL3;2m DJNZ R2, DEL2;2m RET 则延时时间则延时时间(X2m4)2002s100000s解得:解得:X1234949/94/94 主程序连续主程序连续10次调用次调用0.1s延时子程序,则总延时时延时子程序,则总延时时 间就达到了间就达到了1s 主程序如下:主程序如下:ORG

31、0000HSTART: MOV A,#01H LOOP: MOV P1, AMOV R1, #10 DELAY: LCALL DEL1;10次调用延时子程序次调用延时子程序DJNZ R1, DELAYRLALJMP LOOPP1.0P1.7+5VVL0VL780315050/94/946.3 并行I/O口的应用与扩展3. I/O口用作输入 当当I/O口用作输入时,每个口用作输入时,每个I/O脚的拉电脚的拉电流、灌电流一般应控制在流、灌电流一般应控制在1mA之内。如果之内。如果I/O脚的电流太大时,在单片机与输入设备脚的电流太大时,在单片机与输入设备之间应该用限流电阻予以隔离。之间应该用限流电阻

32、予以隔离。需要需要特别注意的是,特别注意的是,当当I/O口作为输入使用口作为输入使用时,必须先向时,必须先向I/O口锁存器的相应位写口锁存器的相应位写“1”,然后再读,然后再读,才能正确读入引脚上的输入,才能正确读入引脚上的输入信号信号5151/94/946.3 并行I/O口的应用与扩展【例【例6-2】 如图所示,如图所示,P1口外接口外接8个开关,要求个开关,要求将开关的状态输入到片内将开关的状态输入到片内RAM 30H单元单元5252/94/946.3 并行I/O口的应用与扩展ORG 0100HRDP1:MOV P1,#0FFH;先向;先向P1口送口送1MOV A,P1;读入开关状态;读入

33、开关状态 MOV 30H, A;送指定单元;送指定单元NOPSJMP RDP1;反复再读;反复再读END为了能正确读入为了能正确读入P1口引脚的输入信号,口引脚的输入信号,必须要先向必须要先向P1口送口送“1”,然后再读,然后再读 这条指令起什么作用?5353/94/94 MCS-51单片机虽然有四个并行单片机虽然有四个并行I/O口口 P2口和口和P0口用于和外部存储器连接口用于和外部存储器连接 P3口常用于第二功能口常用于第二功能 只剩下只剩下P1口可用于连接外设口可用于连接外设 当外设较多时,需要扩展单片机的并行当外设较多时,需要扩展单片机的并行I/O口口5454/94/94单片机系统扩展

34、的结构I/O扩展就是往总线上扩展就是往总线上“挂挂” I/O接口芯片,以便能连接更多外接口芯片,以便能连接更多外设设5555/94/946.3 并行I/O口的应用与扩展二、采用8255A扩展并行I/O口8255A是可编程并行是可编程并行I/O接口芯片接口芯片具有具有3个个8位并行位并行I/O口口3种工作方式,可通过编程改变其功能种工作方式,可通过编程改变其功能使用灵活方便,通用性强使用灵活方便,通用性强5656/94/946.3 并行I/O口的应用与扩展1. 8255A内部结构和引脚5757/94/946.3 并行I/O口的应用与扩展D7D0: 三态双向数据线,传送数据以及控制字三态双向数据线

35、,传送数据以及控制字PA7PA0:A口输入口输入/输出线。输出线。PB7PB0:B口输入口输入/输出线。输出线。PC7PC0:C口输入口输入/输出线。输出线。 CS:片选信号线,低电平有效,表示本芯片被选中:片选信号线,低电平有效,表示本芯片被选中RD:读出信号线,低电平有效,控制:读出信号线,低电平有效,控制从从8255A读读WR:写入信号线,低电平有效,控制向:写入信号线,低电平有效,控制向8255A写入写入 A1、A0:地址线,用来选择:地址线,用来选择8255A内部的内部的4个端口个端口RESET:复位线,高电平有效。:复位线,高电平有效。Vcc: +5V电源。电源。8255A引脚功能

36、如何选择8255A的各端口地址?5858/94/946.3 并行I/O口的应用与扩展地址线A1、A0与端口的对应关系 8255A各端口地址各端口地址 A1 A0 0 0 A口地址口地址 0 1 B口地址口地址 1 0 C口地址口地址 1 1 控制口地址控制口地址5959/94/946.3 并行I/O口的应用与扩展8255A各端口工作状态与控制信号的关系CSA1A0RDWR工工 作作 状状 态态00001读端口读端口A:数据总线:数据总线 A口数据口数据00101读端口读端口B:数据总线:数据总线 B口数据口数据01001读端口读端口C:数据总线:数据总线 C口数据口数据00010写端口写端口A

37、:总线数据:总线数据 A口口00110写端口写端口B:总线数据:总线数据 B口口01010写端口写端口C:总线数据:总线数据 C口口01110写控制字:总线数据写控制字:总线数据 控制字口控制字口1数据总线为三态数据总线为三态6060/94/946.3 并行I/O口的应用与扩展2. 8255A控制字 8255A有两个控制字:有两个控制字:方式控制字方式控制字和和C口置复位字口置复位字。用户通过程序可以把这两。用户通过程序可以把这两个控制字写到个控制字写到8255A的控制字寄存器,以的控制字寄存器,以设定设定8255A的工作方式和的工作方式和C口各位的状态口各位的状态6161/94/946.3

38、并行I/O口的应用与扩展8255A方式控制字10:方式01:方式1 A口方式A口I/OC高B口方式B口I/OC低00:方式001:方式11:方式20:输出1:输入6262/94/946.3 并行I/O口的应用与扩展C口置复位控制字8255如何辨认方式控制字和C口置复位控制字?6363/94/946.3 并行I/O口的应用与扩展方式方式1 :选通选通I/O方式方式方式方式2 :双向双向I/O方式方式(仅仅A口口)方式方式0 :基本基本I/O方式方式3. 8255A的工作方式6464/94/946.3 并行I/O口的应用与扩展【例【例6-3】要求要求8255A各端口工作于方式各端口工作于方式0,A

39、口作口作输出,输出,B口作输入,口作输入,C口高口高4位作输出,位作输出,C口低口低4位位作输入,写出作输入,写出8255A的方式控制字的方式控制字1 A口方式A口I/OC高B口方式B口I/OC低0:输出1:输入方式0方式010000011 83H6565/94/94练 习 题 二 I/O数据有哪几种传送方式?数据有哪几种传送方式? 查询方式与中断方式有什么不同之处?查询方式与中断方式有什么不同之处? 并行并行I/O接口和串行接口和串行I/O接口各有什么特点?接口各有什么特点? 51单片机在读引脚之前为什么要先送单片机在读引脚之前为什么要先送“1” 决定决定8255各端口地址的引脚有哪几条?作

40、用各端口地址的引脚有哪几条?作用是什么?是什么? 8255如何辨认方式控制字和如何辨认方式控制字和C口置复位控制字?口置复位控制字?6666/94/94下次课前请预习下次课前请预习6.3.26.3.3,并思考下列问题,并思考下列问题 8155的的IO/M引脚的作用是什么?引脚的作用是什么? 决定决定8155选口地址的引脚有哪些?选口地址的引脚有哪些? 基本输入基本输入/输出与选通输入输出与选通输入/输出有什么输出有什么区别?区别? 8155有几种工作方式?怎样选择?有几种工作方式?怎样选择?6767/94/948255A8255A可编程并行可编程并行I/OI/O接口芯片接口芯片具有具有3个个8

41、位并行位并行I/O口口3种工作方式,可通过编程改变其功能种工作方式,可通过编程改变其功能使用灵活方便,通用性强使用灵活方便,通用性强 8255A各端口地址各端口地址 A1 A0 0 0 A口地址口地址 0 1 B口地址口地址 1 0 C口地址口地址 1 1 控制口地址控制口地址6868/94/94方式方式0 :基本基本I/O方式方式方式方式1 :选通选通I/O方式方式方式方式2 :双向双向I/O方式方式(仅(仅A口)口) 8255A方式控制字方式控制字10:方式01:方式1 A口方式A口I/OC高B口方式B口I/OC低00:方式001:方式11:方式20:输出1:输入6969/94/946.3

42、 并行I/O口的应用与扩展4. 8255A应用举例【例【例6-4】8255A与与MCS-51单片机接口电路如图单片机接口电路如图所示,所示,8255A的的B口外接口外接8个开关,个开关,A口通过反相口通过反相器接器接8个发光二极管,各端口均工作在方式个发光二极管,各端口均工作在方式0,要,要求编写程序从求编写程序从B口读入开关的状态,再从口读入开关的状态,再从A口输口输出点亮发光二极管出点亮发光二极管7070/94/946.3 并行I/O口的应用与扩展+5V11+5VL0L7S0S7PB0PB7PA0PA78255ARREA8031P0RDWRRSTALEG74LS373P2.7D7D0A0A

43、1CSRDWRRSTD7D0Q0Q1Q77171/94/946.3 并行I/O口的应用与扩展依题意,8255A各端口工作在方式0,且A口作输出,B口作输入,则8255A方式控制字应如何设置?1 A口方式A口I/OC高B口方式B口I/OC低0:输出1:输入方式0方式010000010 82H7272/94/946.3 并行I/O口的应用与扩展根据硬件连接,8255A各端口地址是多少?端口端口A15A14 A13 A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 端口地址端口地址A口口0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 07F00HB口口0

44、1 1 1 1 1 1 1 0 0 0 0 0 0 0 17F01HC口口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 07F02H控制口控制口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 17F03H任取项取任取项取0任取项取任取项取17373/94/94 8255A初始化程序如下:初始化程序如下:MOV DPTR, #7F03H ;DPTR控制口地址控制口地址 MOV A, #82H ;方式控制字;方式控制字MOVX DPTR, A ;8255A控制字控制字本题的8255A初始化程序应如何编写? 6.3 并行I/O口的应用与扩展7474/94/94源 程 序OR

45、G 1000HMAIN:MOV DPTR, #7F03H ;DPTR控制口地址控制口地址 MOV A, #82H ;方式控制字;方式控制字MOVX DPTR, A ;8255A控制字控制字INPB: MOV DPTR, #7F01H ;指向;指向8255的的B口口MOVX A, DPTR; A 8255的的B口口MOV DPTR, #7F00H;指向;指向8255的的A口口MOVX DPTR, A;8255的的A口口 AD100MS:MOV R2, #200 ;延时;延时DEL2:MOV R3, #123NOP DEL3:DJNZ R3, DEL3DJNZ R2, DEL2SJMP INPB

46、END7575/94/94练习:如图所示为8255A作显示接口的电路 EA8031P0RDWRRSTALECS8255ARDWRRSTG8Q74LS3731Q2Q8D1D2DD7D0A1A0aPA0spPA7P2.7aPB0spPB7aPC0spPC7+5V7676/94/948255A的A口、B口、C口及控制口地址是多少? P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0 1 1 1 1 0 0 0 1 1 0 1 1=8000H A口口=8001H B口口=8002H C口口=8003H控制口控制口任取项取任取

47、项取0时时任取项取任取项取0时时 根据硬件连接图,可得根据硬件连接图,可得8255各端口地址如下各端口地址如下 7777/94/94 依题意A口、B口、C口都工作在方式0,且都定义为输出,则控制字是多少? 1 A口方式A口I/OC高B口方式B口I/OC低0:输出1:输入 8255A控制字控制字1 0 0 0 0 0 0 0B 80H 该8255A的初始化程序应如何编写?7878/94/94该8255A的初始化程序ORG 0100HMOV DPTR, #8003H;指向控制口地址;指向控制口地址MOV A, #80H;控制字送;控制字送AMOVX DPTR, A;写控制字;写控制字7979/94

48、/94MOV DPTR, #8000H;指向;指向A口地址口地址MOV A, #0F9HMOVX DPTR, A;显示;显示“1”INCDPTR;指向;指向B口口MOV A,#0A4HMOVX DPTR, A;显示;显示“2”INCDPTR;指向;指向C口口MOV A,#0B0HMOVX DPTR, A;显示;显示“3”SJMP $END 要让数码管显示1、2、3,必须从A口送出F9H,B口送出A4H,C口送出B0H,请编写程序 8080/94/946.3 并行I/O口的应用与扩展三、采用8155扩展并行I/O口8155也是可编程并行也是可编程并行I/O接口芯片接口芯片具有两个具有两个8位并行

49、口,一个位并行口,一个6位并行口位并行口256字节字节RAM一个一个14位定时位定时/计数器计数器带地址锁存器,可直接与带地址锁存器,可直接与51单片机的单片机的P0口相连口相连8181/94/946.3 并行I/O口的应用与扩展1. 8155内部结构和引脚8282/94/946.3 并行I/O口的应用与扩展8155引脚功能 AD7AD0:地址:地址/数据总线数据总线ALE: 地址锁存信号地址锁存信号PA7PA0: A口口I/O引脚引脚PB7PB0: B口口I/O引脚引脚PC5PC0: C口口I/O引脚引脚TIMERIN: 定时定时/计数器输入端。计数器输入端。TIMEROUT:定时:定时/计

50、数器输出引脚计数器输出引脚RESET: 复位引脚,高电平有效复位引脚,高电平有效CE: 片选输入信号,低电平有效。片选输入信号,低电平有效。 RD: 从从I/O口或内部口或内部RAM读选通信号读选通信号WR: 向向I/O口或内部口或内部RAM写选通信号写选通信号 IO/M: I/O口与存储器选择口与存储器选择8383/94/94 8155各端口地址:各端口地址:AD2 AD1AD0 0 0 0 8155命令口命令口 0 0 1 8155的的A口口 0 1 0 8155的的B口口 0 1 1 8155的的C口口 1 0 0 定时器低字节定时器低字节 1 0 1 定时器高字节定时器高字节6.3 并

51、行I/O口的应用与扩展如何选择8155各端口地址?8484/94/946.3 并行I/O口的应用与扩展8155各I/O口及RAM地址分配CEIO/MA7A6A5A4A3A2A1A0所选的端口所选的端口01000命令命令/状态寄存器状态寄存器01001A口口01010B口口01011C口口01100计数器低计数器低8位位01101计数器高计数器高6位位00RAM单元单元8585/94/946.3 并行I/O口的应用与扩展2. 8155的命令字和状态字命命令字令字存放在存放在8155的命令寄存器中,它只能的命令寄存器中,它只能写入,不能读出,用于选择写入,不能读出,用于选择8155的的I/O口的口的工作方式以及对中断和定时工作方式以及对中断和定时/计数器的控制计数器的控制状态字状态字存放在存放在8155的状态寄存器中,它只能的状态寄

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论