您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 2008MCS51第八章并行接口
第八章:MCS-51的并行接口§8.1:MCS-51内部I/O口及其应用§8.2:MCS-51并行I/O口的扩展§8.3:并行口应用(单片机显示/键盘系统)§8.4:MCS-51内部定时/计数器及其应用§8.1:MCS-51内部I/O口及其应用MCS-51单片机提供了4个8位并行口,命名为P0、P1、P2、P3,应用中即有共性,也有个性。•共性特点(基本功能)•个性特点(扩展功能)字节操作:均可作8位并行口用于输入、输出位操作:各并行口中均可用于位控输入、输出P0口━━外部扩展存储器、I/O的8位数据线/低8位地址复用线P2口━━外部扩展存储器、I/O的高8位地址线P3口━━用于特殊功能P0、P1、P2、P3口作8位输出口•作输出口时有输出锁存器•P0、P1、P2、P3在指令中为目的寄存器•用MOV指令完成数据输出例:MOVP0,A;指令码F5H、80HMOVP1,R1;指令码89H、90HMOVP2,@R1;指令码87H、A0H注:指令机器码中,P0~P3为存储器。P0、P1、P2、P3口作8位输入口•作输入口时有输入缓冲器•P0、P1、P2、P3在指令中为源寄存器•作输入口时应先对口进行置1操作用MOV指令完成置1操作用ORL指令完成置1操作MOVP0,#0FFH;置P0口为高电平MOVA,P0;从P0口输入数据到AORLP1,#0FFH;置P1口为高电平MOVA,P1;从P1口输入数据到A注:4个并口为准双向口,作输入口时注意使用方法P0、P1、P2、P3口的位应用•作位应用时可传送数据、状态、控制信息•Pn口的位应用符号为Pn.0~Pn.7•输出位应用指令MOVP1.2,CSETBP1.2CLRP1.2•输入位应用指令MOVC,P1.0注:若从某位线输入数据,则先应将该位置1用MCS-51单片机实现数字逻辑电路•电路原理图用MCS-51单片机实现数字逻辑电路•MCS-51单片机电路用MCS-51单片机实现数字逻辑电路•MCS-51单片机电路•电路原理图用MCS-51单片机实现数字逻辑电路•电路功能真值表P1.3P1.0P1.1P1.2LLLLLLHHLHLHLHHLHXXH从真值表中可知,当状态信息P1.3=L时,若输入信息P1.0=L,P1.1=L及P1.0=H,P1.1=H时,发光二极管L1亮,当状态信息P1.3=H时,无论P1.0P1.1为何值发光二极管L1不亮。即:P1.3=0时P1.2=P1.0⊕P1.1用MCS-51单片机实现数字逻辑电路•编程序段LOOP1:ORLP1,#00001000B;置P1.3=HLOOP2:MOVC,P1.3;查询S3是否按下JCLOOP2;未按下(Cy=1),;则P1.3=H,重查ORLP1,#00000011B;置P1.0=H,P1.1=HMOVE,P1.0;P1.0输入位地址EMOVF,P1.1;P1.1输入位地址FMOVC,EACALLXOR;C=P1.0⊕P1.1MOVP1.2,C;C输出到P1.2SJMPLOOP1§8.2:MCS-51并行I/O口的扩展•通用芯片将8位Pn口扩展为NX8位口•专用芯片对Pn口的扩展•应用串行口实现扩展(后讲)在实际应用中,若MCU并口资源不够时,应外接硬件芯片解决,根据需要可选用通用芯片也可选用专用芯片。通用芯片将8位P1口扩展为16位输入口•电路原理图用2片8位缓冲器74LS244扩展输入口•扩展原理P3.4作片选控制P3.4=0时U3有效、U2无效P3.4=1时U2有效、U3无效通用芯片将8位P1口扩展为16位输入口•编程SETBP3.4;置P3.4=1,U2有效U3无效MOVP1,#0FFH;读数据时应先对P1口置1MOVA,P1;读U2的8位输入数据CLRP3.4;置P3.4=0,U3有效U2无效MOVP1,#0FFH;读数据时应先对P1口置1MOVA,P1;读U3的8位输入数据注:I/O操作用位控法,未用端口地址法通用芯片将8位P1口扩展为16位输出口•电路原理图用2片8位锁存器74HC573扩展输出口•扩展原理P3.5作片选控制P3.5=0时U2有效、U3无效P3.5=1时U3有效、U2无效通用芯片将8位P1口扩展为16位输出口•编程CLRP3.5;置P3.5=0,U2有效U3无效MOVP1,A;8位输出数写入U2SETBP3.5;置P3.5=0,U3有效U2无效MOVP1,A;8位输出数写入U3注:I/O操作用位控法,未用端口地址法注:输入口扩展用缓冲器,输出口扩展用锁存器通用芯片将8位P0口扩展为16位输入口•电路原理图用2片8位缓冲器74LS245扩展输入口•扩展原理P0口为8位数据口P2.5参加片选译码通用芯片将8位P0口扩展为16位输入口•接口芯片U2的端口地址0000H•接口芯片U3的端口地址2000HA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0XX0XXXXXXXXXXXXXA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0XX1XXXXXXXXXXXXX通用芯片将8位P0口扩展为16位输入口•编程MOVDPTR,#0000HMOVXA,@DPTR;从U2输入8位数据MOVDPTR,#2000HMOVXA,@DPTR;从U3输入8位数据8155通用接口芯片扩展I/O口•8155芯片逻辑图注:8155为8位接口芯片,应用广泛。8155通用接口芯片扩展I/O口•8155的内部结构256X8SRAM14位定/计器8位A口8位B口6位C口IO//M/CEALE/WR/RDRSTTINTOUTAD0~AD7PA0~PA7PB0~PB7PC0~PC58155通用接口芯片扩展I/O口•8155的功能并行接口功能•8位A端口——PA0~PA7•8位B端口——PB0~PB7•6位C端口——PC0~PC7外部存储器功能提供256个字节的外部SRAM定时/计数器功能提供1个14位定时/计数器注:C端口的应用灵活8155通用接口芯片扩展I/O口•8155与MCS-51的读写连接AD0~AD7P0.0~P0.7注:可在AD0~AD7上传送8位地址及8位数据/RD(8155)←/RD(MCS-51)/WR(8155)←/WR(MCS-51)注:P3.6、P3.7的第二功能为/WR、/RDALE(8155)←ALE(MCS-51)注:完成P0口地址/数据复用线的分离控制8155通用接口芯片扩展I/O口•8155的片选控制CE=0片选有效CE=1片选无效•8155的功能选择控制IO//M=1IO//M=0注:若系统仅用一片8155可将CE接地,若用多片8155则必须译码控制。提供A、B、C3个并行接口及1个定时/计数器提供256个字节的外部静态RAM注:8155比8255的功能更多8155通用接口芯片扩展I/O口•8155与外部设备的接口功能•8155的定时/计数器•8155的外部SRAM8位A端口可作并行输入或输出8位B端口可作并行输入或输出6位C端口可作并行输入或输出TMGIN计数时钟输入端TMGOUT定时/计数器波形输出端1字节地址访问256个存储单元外部存储器用MOVX指令访问8155通用接口芯片扩展I/O口•8155的工作方式工作方式0——基本输入或基本输出工作方式1——选通输入或选通输出A、B、C端口均可独立工作于方式0•A、B端口可工作于方式1•C端口中某些位为其服务注:各端口的工作于方式由写入控制字确定注:8255的A端口可工作于方式0、方式1、方式28155的A端口可工作于方式0、方式18155通用接口芯片扩展I/O口•8155工作模式定义C口使用灵活,不仅可单独工作于方式0,还可为A、B端口工作于方式1服务。ALT1——C端口为方式0输入,A、B端口为方式0ALT2——C端口为方式0输出,A、B端口为方式0ALT3——PC0~PC2为A端口方式1服务PC3~PC5为方式0输出B端口为方式0ALT4——PC0~PC2为A端口方式1服务PC3~PC5为B端口方式1服务注:8155的工作模式由写控制字确定,A、B端口的输入、输出方式由写控制字确定。8155通用接口芯片扩展I/O口•A端口方式1输入条件——8155工作模式为ALT3、ALT4C口的服务位•PC2(/ASTB)8155←外设•PC1(ABF)8155→•PC0(AINTR)8155→CPU的外部中断请求外设向8155的PC2发低电平,表示已准备好要送入8155的A端口的数据。A端口收到数据后,PC1输出高电平,为状态信息A端口收到数据后,PC0输出高电平,为中断请求信息。8155通用接口芯片扩展I/O口•A端口方式1输出条件——8155工作模式为ALT3、ALT4C口的服务位•PC2(/ASTB)8155←外设当外设从8155的A端口取数据后,向8155的PC2发负脉冲,告之8155数据已取走。•PC1(ABF)8155→外设•PC0(AINTR)8155→CPU的外部中断请求当8155的A端口有新数据时,PC1输出高电平,告诉外设可从A口取数据。当PC2从低电平变为高电平时,PC0输出高电平,中断请求CPU向A端口送新的数据。8155通用接口芯片扩展I/O口•B端口方式1输入、输出条件——8155工作模式为ALT4C口的服务位•PC5(/BSTB)8155←外设•PC4(BBF)8155→外设•PC3(BINTR)8155→CPU的外部中断请求注:B端口方式1输入、输出的工作原理同A端口方式1输入、输出,仅是C口的服务位不同。8155通用接口芯片扩展I/O口•8155的端口地址8155有6个端口地址8155无独立的端口地址线8155用地址/数据复用线的低3位编码确定端口地址AD7AD6AD5AD4AD3AD2AD1AD0端口功能XXXXX000命令/状态字XXXXX001A端口读写XXXXX010B端口读写XXXXX011C端口读写XXXXX100置定时值低8位XXXXX101置定时值高6位8155通用接口芯片扩展I/O口•8155的端口地址编程写命令(控制、方式)字读状态字MOVA,#命令字参数MOVR0,#XXXXX000B;写命令字地址000MOVX@R0,AMOVR0,#XXXXX000B;读状态字地址000MOVXA,@R0注:命令/状态字的地址相同,端口间址可用R0、R1、DPTR。8155通用接口芯片扩展I/O口•8155的端口地址编程(续)从A端口读数据向B端口写数据向C端口写数据MOVR0,#XXXXX001B;A端口读/写地址001MOVXA,@R0;A端口输入数据到累加器AMOVR0,#XXXXX010B;B端口读/写地址010MOVX@R0,A;累加器A中数据到B端口MOVR0,#XXXXX011B;C端口读/写地址011MOVX@R0,A;累加器A中数据到C端口8155通用接口芯片扩展I/O口•8155的命令(控制、方式)字写方式字的条件——IO//M=1写方式字的地址——XXXXX000B写方式字的格式b7b6b5b4b3b2b1b0•b0——A端口输入/输出方式选择•b1——B端口输入/输出方式选择b0=0A端口输入b0=1A端口输出b1=0B端口输入b1=1B端口输出8155通用接口芯片扩展I/O口•8155的命令(控制、方式)字(续)•b3、b2——8155工作模式定义b3、b2=00ALT1模式b3、b2=01ALT2模式b3、b2=10ALT3模式b3、b2=11ALT4模式写方式字的格式C端口为方式0输入,A、B端口为方式0C端口为方式0输出,A、B端口为方式0PC0~PC2为A端口方式1服务P
本文标题:2008MCS51第八章并行接口
链接地址:https://www.777doc.com/doc-2947894 .html