单片机IO口扩展.pptx
《单片机IO口扩展.pptx》由会员分享,可在线阅读,更多相关《单片机IO口扩展.pptx(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 89C51 89C51单片机最小系统单片机最小系统一、8951硬件最小系统对于片内有ROM型单片机,其自身可以构成最小系统该系统的资源如下:4KBROM,256BRAM;五源中断系统;两个十六位加一定时/计数器;一个全双工串行UART;四个并行I/O口。第1页/共78页三总线的概念三总线的概念:地址总线AB,P0口提供(A7A0);P2口提供(A15A8),共16位。数据总线DB,P0口提供(D7D0),共8位。控制总线CB,ALE、等。第2页/共78页复习:复习:存储器的扩展存储器的扩展一、三总线的连接 1、数据线的连接P0口的八位线承担此任,此时不用外接上拉电阻。2、地址线的连接P0口承
2、担地址低八位线,A0A7;P2口承担地址高八位线。A8A15。注意:P0口线地址/数据分时复用,需用地址锁存器74LS373锁存地址。第3页/共78页3、控制线的连接对存储器来讲控制线无非是:芯片的选通控制、读写控制。单片机与外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。二是,同一时刻,CPU只能访问一个地址,即只能与一个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。第4页/共78页读/写:CPU向外部设备发出的读/写控制命令。EPROM:/OE/PSENSRAM:/WE/WR/OE/RD选通:CPU与器件交换数据或信息,需先发出选通信号/CE或/C
3、S,以便选中芯片。第5页/共78页二、存储器地址编码二、存储器地址编码SRAM6116:“16”2K8b=2KB21210=211即6116有11根地址线。地址空间:A10A9A8A7A6A5A4A3A2A1A0最低地址:000000000000000H最高地址:111111111107FFHMCS-51单片机寻址范围:64KB26210=216即16位地址线地址空间:A15A14A13A12A11A10A9A8A7A0单片机A10A9A8A7A0611625=322KB第6页/共78页上式中:“”表示0或1。即单片机地址空间中包含有32个2KB。某片6116占据的是哪2KB不能确定地址浮动。
4、只有限定A15A11的取值才能确定6116在系统中的地址范围。如,P2.6=0,选中6116的/CS线。设P2.7P2.5P2.4P2.3假定全为1则:6116地址范围是B800HBFFFH。同理,P27P25P24P23假定全为0则:6116地址范围是0000H07FFH;再设P27选中6116(设P26P25P24P23全为1)则:地址范围是7800H7FFFH第7页/共78页23=88KB可见:存储器芯片在系统中地址分布由两个因素决定:一是,芯片本身的地址线(与容量有关)二是,芯片选通信号的获得方式。扩展存储器时,总是让单片机低位地址与存储器芯片地址线相接;而让单片机剩余的高位地址线(在
5、P2口)常作为片选信号线。这种方法对SRAM、EPROM、扩展I/O芯片、外设同样适用。P25=0时,选中2764;“64”8K8b=23210=213A15A14A13A12A11A0第8页/共78页8-3 8-3 并口的扩展方法并口的扩展方法并口扩展常用三种方法:1、利用TTL、CMOS集成电路来扩展2、利用单片机串口扩展3、利用可编程并行接口芯片来扩展第9页/共78页一、利用一、利用TTLTTL、CMOSCMOS集成电路来扩展集成电路来扩展1、用锁存器扩展简单的8位输出口8951P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0/WR74LS377/ED7Q7D6Q
6、6D5Q5D4Q4D3Q3D2Q2D1Q1D0Q0/CP输出设备D7D6D5D4D3D2D1D0第10页/共78页74LS377为8D锁存器,八入八出,一时钟CP,一锁存允许/E。/E=0时,CP的上升沿,输入数据并锁存。MOVDPTR,#7FFFH;指向74LS377MOVA,#data;取输出的数据MOVXDPTR,A;通过74LS377送出数据P2.7接/E,所以,74LS377的口地址为7FFFH。P0口是数据总线口,作I/O口用时只能分时使用,为此,输出数据时需要锁存。第11页/共78页2、用锁存器扩展简单的八位输入口外设与单片机在传输数据速度上存在着一定的差异,为了保证数据能被单片
7、机正确地接收,应采取以下电路:输入设备STBIN7IN6IN5IN4IN3IN2IN1IN08951P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS373GQ7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D0第12页/共78页在STB的下降沿,将数据锁存入74LS373/E控制着74LS373的输出,由P2.6和/RD相或控制,所以,74LS373的口地址为BFFFH。例、设将上图74LS373中数据送入8951片内数据存储器中首地址为50H的数据区。写出相应中断系统初始化及中断服务程序。中断系统初始化程序:PINT:SETBIT0;/INT0选为下
8、降沿触发方式SETBEA;CPU开中断MOVR0,#50H;置数据区首址SETBEX0;/INT0中断允许第13页/共78页中断服务程序:ORG0003HPINT0:AJMPINT0ORG1000HINT0:MOVDPTR,#0BFFFH;指向74LS373扩展输入口MOVXA,DPTR;8031读入数据MOVR0,A;输入数据送数据区INCR0RETI第14页/共78页3、用三态门扩展8位输入并行口74LS244是8位三态门,当/1G、/2G均为低电平时,允许输入数据;否则,为高阻态。输入设备IN7IN6IN5IN4IN3IN2IN1IN08951P2.6P0.7P0.6P0.5P0.4P0
9、.3P0.2P0.1P0.074LS2441Y11A11Y21A21Y31A31Y41A42Y12A12Y22A22Y32A32Y42A4第15页/共78页二、用串行口扩展并行I/O接口如果串口别无他用,则可让其工作于方式0,来扩展一个或多个8位并行I/O口1、用74LS165扩展并行I/O口8951P3.0P3.1P1.0HGFEDCBAQHSIN/QH74LS165(1)S/LMCPHGFEDCBAQHSIN/QH74LS165(2)S/LMCPD0.D7D0.D7第16页/共78页74LS165是8位并入、串出移位寄存器。其中,CP为移位脉冲输入端;S/L为移位/装入端,以P1.0控制。
10、两片74LS165的首尾相连,即QH与SIN相连。例、从上图两个八位并行口读入20H组(每组两个字节)字节数据,并把它们转存到内部RAM(首址为30H)的数据区中。解:以PSW中的用F0位来标志接收一组数中的前8位与后8位,74LS165(1)并行口输入数据时,置F0为1;74LS165(2)并行口输入数据时,置F0为0;P1.0高、低变化一次,就控制并行数据装入一次,即串行口应接收到2个8位数据(一组)。串口工作在方式0,波特率为fosc/12=1Mb/s。第17页/共78页MOVR7,#20H;读入字节数组MOVR0,#30H;内部RAM数据区首址SETBF0;假定74LS165(1)先读
11、入RCV0:CLRP1.0;165装入数据SETBP1.0;允许165串行移位RCV1:MOVSCON,#00010000B;串行口设定STP:JNBRI,STP;等待接收完一个八位数CLRRI不胜数;清RI标志,以备下次接收MOVA,SBUF;串口接收数据第18页/共78页8951P3.0P3.1P1.0ABCDEFGHAB74LS164(1)/CRCPABCDEFGHAB74LS164(2)/CRCPD7.D0D7.D02、用74LS164扩展并行输出口74LS164是8位串入、并出移位寄存器,其中,CP为移位脉冲输入端;/CR为清除端。第19页/共78页上图接法中,由于移位寄存器无并行输
12、出控制,在串行输入过程中,其输出状态会不断变化,故在某些使用场合下,在74LS164的输出端应加接输出三态门控制,以便保证串行输入结束后再输出并行数据。第20页/共78页小结:为什么要扩展并行I/O口?扩展并行I/O口常用的三种方法是什么?用串口扩展时,串口应工作在方式几?第21页/共78页8-4 8-4 可编程并行接口芯片可编程并行接口芯片8255A8255A一、8255A的结构和操作方式1、8255A的组成及引脚引脚图:第22页/共78页组成:第23页/共78页P2.7P089518951ALE/RD/WRRST/EA74LS37374LS3731D8D2Q1QG/OC/CS8255A82
13、55APA0PA7A1A0PC7PC0D0D7/RD/WRRESET微型打印机微型打印机DB0DB7BUSY/STB8 888 8第24页/共78页分三部分:总线接口部分;内部逻辑部分;外设接口部分(1)总线接口部分/CS片选线A1、A0端口选择线(选片内四个端口寄存器)输入/RD读信号线/WR写信号线(2)内部逻辑部分PAPC7PC4A组控制电路控制8255A工作方式PB二者合一成为端口控制寄存器。PC3PC0B组控制电路第25页/共78页(3)外设接口部分可由编程决定三个端口的功能输入输出其它A口8位锁存/缓冲8位锁存双向B口8位锁存/缓冲8位缓冲C口8位锁存/缓冲8位缓冲可分成两组分别作
14、A 口、B口的选通联络线第26页/共78页2、8255A的端口操作的端口操作 A1 A0 选中选中0 0 PA口口0 1 PB口口1 0 PC口口1 1 控制控制 寄存寄存 器器 第27页/共78页二、8255A的工作方式及方式选择1、8255A的工作方式(1)方式0基本输入/输出方式A口、B口、C口均有此方式,无选通,是单片机与外部设备之间的直接数据通道。(2)方式1选通输入/输出方式仅PA口、PB口有此方式,PC口中若干位作联络信号线,第28页/共78页第29页/共78页各联络信号线的意义各联络信号线的意义:/STB输入选通信号,外设发来。IBF输入缓冲器满信号,发给外设(通知外设数据未被
15、取走,暂不能接收新数据)INTR中断请求信号,外部设备发给单片机INTE中断允许信号/OBF输出缓冲器满信号,发给外设(单片机将数据已送到指定口,外部设备可以取走)/ACK外设响应信号,由外部设备发来(数据已送到外部 设备)第30页/共78页(3)方式3双向方式仅PA口有此方式。PC3PC7作联络线此时,PB口可以是方式0;也可以是方式1(PC0PC1作联络线)。2、8255A的方式控制字用编程方法向8255A的控制口写控制字,可决定它的工作方式。有两个控制字:(1)方式选择控制字 1 D6 D5 D4 D3 D2 D1 D0第31页/共78页“1 1”方式控制标志位方式控制标志位D6、D5决
16、定A组的工作方式,00方式001方式11方式2D4A口的传输方向,1入,0出。D3PC7PC4的传输方向,1入,0出。D2决定B组的工作方式,0方式0,1方式1。D1B口的传输方向,1入,0出。D0PC3PC0传输方向,1入,0出。第32页/共78页(2 2)PCPC口置位口置位/复位控制字复位控制字 0 D6 D5 D4 D3 D2 D1 D0“0”标志位。D6、D5不使用位。D3、D2、D1位选择位,000111分别对应PC7PC0。D0位状态位,1置位,0复位。第33页/共78页三、三、89518951和和8255A8255A的连接及应用的连接及应用单片机8255AA0A0A1A1A15
17、A2中任一线/CSP0D7D0/RD/RD/WR/WRRSTRESET第34页/共78页上图中,地址线连接采用线选法。8255A的地址分布:A15A14A13A8A7A1A000000000000H010001H100002H110003H或01111007FFCHPA017FFDHPB107FFEHPC117FFFH控制第35页/共78页例、设单片机8851与微型打印机之间的数据传送采用查询方式。要求将存放在8951单片机内RAM中以30H为首地址的64个连续单元中的内容打印输出,试编程。P2.7P089518951ALE/RD/WRRST/EA74LS37374LS3731D8D2Q1QG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 IO 扩展
限制150内