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