第5章 并行口及应用_第1页
第5章 并行口及应用_第2页
第5章 并行口及应用_第3页
第5章 并行口及应用_第4页
第5章 并行口及应用_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

21:44,1,第5章并行口及应用,3.7,21:44,2,5.180C51系列单片机内部并行口的结构,80C51系列单片机内部有4个8位双向的输入/输出口,分别为P0、Pl、P2和P3口。这4个端口的每一位都可以作为双向通用I/O口使用。在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。80C51单片机4个I/O口在结构上是基本相同的,但又各有特点。,21:44,3,多路开关功能:用于控制选通I/O方式还是地址/数据输出方式方式控制:由内部控制信号产生,数据输出锁存器,用于数据位的锁存,两个三态的数据输入缓冲器(BUF1和BUF2)。,推拉式I/O驱动器:由两只场效应管(FET)组成,上面的场效应管构成上拉电路。,5.5.1P0端口,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口1位的内部结构,读锁存器,读引脚,锁存器,内部总线,写锁存器,地址/数据,P0.0,多路开关,1,0,字节地址80H,位地址80H87H。,21:44,4,说明:1、当CPU发出的控制信号为0时,P0口做双向I/O口,为漏极开路(三态)2、当CPU发出的控制信号为1时,P0口为地址/数据复用总线(用于口扩展),5.5.1P0端口,21:44,5,5.5.1P0端口,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口内部结构,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,3、P0作输入/输出口的使用(1)P0作输出口使用来自CPU的“写入”脉冲加在D锁存器的C端,内部总线上的数据写入D锁存器,并向端口引脚P0.x输出。注意:由于输出电路是漏极开路(因为这时上拉场效应管截止),必须外接上拉电阻才能有高电平输出。,读锁存器,21:44,6,5.5.1P0端口,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口内部结构,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,3、P0作输入/输出口的使用(2)P0作输入口使用区分“读引脚”和“读锁存器”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;,读锁存器,21:44,7,5.5.1P0端口,Q,Q,D,C,Vcc,控制,AD0,P0R1,P0R2,D0,P0W,P0口内部结构,读引脚,锁存器,内部总线,写锁存器,地址/数据,P00,多路开关,1,0,3、P0作输入/输出口的使用(2)P0作输入口使用区分“读引脚”和“读锁存器”。“读引脚”信号把下方缓冲器打开,引脚上的状态经缓冲器读入内部总线;“读锁存器”信号打开上面的缓冲器把锁存器Q端的状态读入内部总线。,读锁存器,执行下列指令时均为读锁存器操作。ANLP0,data;(P0)(P0)dataORLP0,data;(P0)(P0)data;XRLP0,A;(P0)(P0)(A)INCP0;(P0)(P0)+1,21:44,8,5.1.2P1端口,P1口内部结构如下图所示。输出部分有内部上拉电阻R*约为20K。其他部分与P0端口使用相类似(读引脚时先写入1)。,写数据,读端口,字节地址90H,位地址90H97H。,21:44,9,P1口只作通用的I/O口使用,在电路结构上与P0口有两点区别:(1)因为只传送数据,不再需要多路转接开关MUX。(2)由于P1口用来传送数据,因此输出电路中有上拉电阻,这样电路的输出不是三态的,所以P1口是准双向口。注意:(1)P1口作为输出口使用时,外电路无需再接上拉电阻。(2)P1口作为输入口使用时,应先向其锁存器先写入“1”,使输出驱动电路的FET截止。,21:44,10,字节地址为A0H,位地址A0HA7H。,5.1.3P2端口,P2口的位结构的电路原理图,说明:1、P2可以作为通用的I/O,也可以作为高8位地址输出。,2、当控制信号为1时P2口输出地址信息,此时单片机完成外部的取指操作或对外部数据存储器16位地址的读写操作。3、当控制信号为0时,作为普通I/O口使用时用法和P1口类似。,21:44,11,P3口的字节地址为B0H,位地址为B0HB7H。,5.1.4P3端口,图5-4P3口的位结构的电路原理,P3口有第二功能信号,且有输出和输入两类:(1)作通用的I/O输出,“第二输出功能”线应保持高电平,与非门开通,使锁存器Q端输出畅通。(2)作第二功能信号输出,锁存器预先置“1”,使与非门对“第二输出功能”信号的输出是畅通的。,21:44,12,P3口的字节地址为B0H,位地址为B0HB7H。,5.1.4P3端口,图5-4P3口的位结构的电路原理,(3)作第二功能信号输入,在口线引脚的内部增加了一个缓冲器,输入的信号就从这个缓冲器的输出端取得。而作为通用I/O输入,仍取自三态缓冲器的输出端。P3口无论作哪种输入,锁存器输出和“第二输出功能”线都应保持高电平。,21:44,13,表3-3P3口的第二功能定义口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0*(外部中断0)P3.3INT1*(外部中断1)P3.4T0(定时器0外部计数输入)P3.5T1(定时器1外部计数输入)P3.6WR*(外部数据存储器写选通)P3.7RD*(外部数据存储器读选通),图3-2PDIP封装引脚图,21:44,14,使用中应注意的问题:(1)P0P3口都是并行I/O口,但P0口和P2口,还可用来构建系统的数据总线和地址总线,所以在电路中有一个MUX,以进行转换。而P1口和P3口无构建系统的数据总线和地址总线的功能,因此,无需转接开关MUX。由于P0口可作为地址/数据复用线使用,需传送系统的低8位地址和8位数据,因此MUX的一个输入端为“地址/数据”信号。而P2口仅作为高位地址线使用,不涉及数据,所以MUX的一个输入信号为“地址”。,5.1.5P0P3端口功能总结,21:44,15,(2)在4个口中只有P0口是一个真正的双向口,P1P3口都是准双向口。原因:P0口作数据总线使用时,为保证数据正确传送,需解决芯片内外的隔离问题,即只有在数据传送时芯片内外才接通;不进行数据传送时,芯片内外应处于隔离状态。为此,P0口的输出缓冲器应为三态门。在P0口中输出三态门是由两只场效应管(FET)组成,所以是一个真正的双向口。而P1P3口,上拉电阻代替P0口中的场效应管,输出缓冲器不是三态的准双向口。,(3)P3口的口线具有第二功能,为系统提供一些控制信号。因此在P3口电路增加了第二功能控制逻辑。这是P3口与其它各口的不同之处。,21:44,16,图3-1080C51单片机对外三总线构成,21:44,17,5.280C51系列单片机并行口的应用,在单片机不外扩任何芯片的情况下,80C51系列单片机内部并行口可以作为输出口,直接与输出外设连接,常用的输出外设是发光二极管;80C51系列单片机内部并行口也可以作为输入口,直接与输入外设连接,常用的输入外设是开关。,21:44,18,例5-1对图2-30所示电路,编写程序实现8个发光二极管左右来回循环滚动点亮。,解:流水灯左右来回循环滚动点亮的流程图如图5-5所示。,图5-5流水灯左右来回循环滚动点亮的流程图,21:44,19,例5-1程序设计如下:#include#include#defineucharunsignedcharvoiddelay_ms(ucharms);/延时子程序voidmain()ucharled,i;/设置变量led=0 xfe;/初值为11111110for(i=0;i7;i+)P1=led;/led值送入P1口delay_ms(100);/延时100msled=_crol_(led,1);/led值循环左移1位for(i=0;i0;i-)for(j=110;j0;j-);,voidmain()/主程序uchari=0;while(1)P2=DSY_CODEi;i=(i+1)%10;/显示0-9DelayMS(880);/延时1s,为了实现09的循环显示,可以通过查表的方式,得到段码,然后再通过P1口送出,每隔1s循环一次,周而复始。,21:44,33,解:Proteus仿真电路如图5-12所示。,分析:两位数码管与单片机相连时,可以采用静态显示方式,也可以采用动态显示方式。这里采用动态显示方式,将两个数码管的段码连接到单片机的P0口,P0口通过470的上拉电阻接+5V,两个数码管的位选由P2.6和P2.7选中。图5-12中数码管是共阴极的。,图5-12计数器的仿真电路与效果图,例5-4用单片机设计099计数器,具体说,就是用手按动按键,每按一次,单片机计数一次,并实时将按键次数在两位数码管上显示出来。试设计Proteus仿真电路,编写程序,并在Proteus仿真电路中验证。,21:44,34,程序设计如下:#include#defineucharunsignedcharsbitkey=P30;sbitge=P27;sbitshi=P26;uchardd;/dd为显示的数字ucharf0;/f0为键按下过的标志uchartime=0,count=0;ucharcodedis=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/段码/*延时程序*/voiddelay(ucharN)uchari,j;for(i=0;iN;i+)for(j=0;j125;j+);,/*显示程序*/voiddisplay(void)P0=disdd%10;/显示个位ge=0;delay(3);ge=1;P0=disdd/10;/显示十位shi=

温馨提示

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

评论

0/150

提交评论