《单片机原理及接口技术-基于C51+Proteus仿真》-第4章 80C51单片机IO端口及应用最终_第1页
《单片机原理及接口技术-基于C51+Proteus仿真》-第4章 80C51单片机IO端口及应用最终_第2页
《单片机原理及接口技术-基于C51+Proteus仿真》-第4章 80C51单片机IO端口及应用最终_第3页
《单片机原理及接口技术-基于C51+Proteus仿真》-第4章 80C51单片机IO端口及应用最终_第4页
《单片机原理及接口技术-基于C51+Proteus仿真》-第4章 80C51单片机IO端口及应用最终_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

14.1P0口4.2P1口4.3P2口4.4P3口4.5I/O口简单输入输出设计4.6单片机I/O口控制电磁继电器4.7单片机I/O口控制光耦4.8单片机I/O口控制双向可控硅4.8.1晶闸管工作原理4.8.2单片机I/O口控制双向可控硅接口设计4.9单片机I/O口控制固态继电器2第4章80C51单片机I/O端口及应用80C51单片机共有4个8位双向I/O端口,即P0~P3口,它们都被定义为SFR,可以按字节寻址输入或输出,每一位还能按位寻址,便于实现位控功能。P0口为三态双向口,负载能力为8个LS型TTL门电路,作为一般的I/O口使用时,P0口是一个准双向口。P1、P2、P3口也为准双向口(用作输入线时,口锁存器必须先写入“1”,故称为准双向口),负载能力为4个LS型TTL电路。34.1P0口P0口是具有双功能的8位并行I/O口,字节寻址地址为80H,位地址为80H~87H。1.P0口的位电路结构P0口的8位都具有如图4-1所示的位电路结构,由1个锁存器、1个转换开关、2个场效应管构成的输出驱动电路、2个输入缓冲器、1个反相器及1个与门构成。图4-1P0口的位电路结构42.P0口工作原理(1)P0口作为地址/数据总线分时复用口当80C51单片机外部扩展存储器或者I/O接口芯片,需要P0口作为地址/数据总线分时使用时,“控制”信号输出高电平;转换开关MUX将T2与反相器输出端接通,同时“与门”开锁,“地址或数据”信号通过与门驱动T1管,并通过反相器驱动T2管,使得P0.x引脚的输出状态随“地址/数据”状态的变化而变化。具体输出过程如下。①当“地址/数据”内容为1时,“与门”输出1,T1场效应管导通,而T2场效应管截止,P0.x输出为1;②当“地址/数据”内容为0时,“与门”输出0,T1场效应管截止,而T2场效应管导通,P0.x输出为0。可见上方场效应管起到内部上拉电阻作用。5(2)P0口作为通用I/O口当80C51单片机不作地址/数据总线使用时,可作为第一功能,即通用I/O口使用,此时“控制”信号输出为低电平;MUX将T2与锁存器的Q反端接通。同时,“与门”输出为低电平,使得场效应管T1处于截止状态,此时输出级是漏极开路的开漏电路。P0口用作一般I/O口的具体过程如下。①P0口作为I/O口输出时,来自CPU的“写”脉冲加在锁存器时钟端CP上,由内部总线输出的数据从D端进入,经反相后出现在Q反端,再经T2管反相,于是在P0.x位引脚上的数据正好与内部总线上输出数据一致。

注意,当P0口作输出口使用时,输出级属开漏电路,在P0.x引脚应外接上拉电阻。6②P0口作为I/O口输入时,端口中的两个三态缓冲器用于读操作。有2种读操作:读锁存器和读引脚。“读引脚”:当执行一般的端口输入指令时,引脚上的外部信号既加在三态缓冲器BUF2的输入端,又加在场效应管T2漏极上,若此时T2导通,则引脚上的电位被钳在0电平上。为使读引脚能正确地读入,在输入数据时,要先向锁存器置“1”,使其Q反端为0,使输出级T1和T2两个管子均被截止,引脚处于悬浮状态;作高阻抗输入。“读引脚”脉冲把三态缓冲器打开,于是引脚上的数据经缓冲器到内部总线;“读锁存器”:这种读操作是为了“读-修改-写”指令的需要。即先读端口,对读入的数据修改,然后再写入锁存器。例如,逻辑与、或非等指令。73.P0口使用总结综上所述,P0口在使用时有如下说明:(1)当P0口用作地址/数据总线使用时(第2功能),是一个真正的双向口,直接与外部扩展的存储器或I/O连接,输出/输入8位数据作为数据,同时通过与地址译码器连接,输出低8位地址。(2)当P0口作通用I/O口使用时(第1功能),需要在片外接上拉电阻,此时端口不存在高阻抗的悬浮状态,因此是一个准双向口。(3)P0口读引脚(端口)时,输出锁存器需要先置“1”再读。若没有置“1”,将读出锁存器内容。【例4-1】读P0.3引脚,若为高电平,将变量aa加1。读引脚前,先将P0口置1。unsignedintaa=0x00,sbitP0_3=P0^3;P0=0xff;while(P0_3==1){aa=aa+1;}84.2P1口P1口是一个内部自带上拉电阻的8位准双向I/O口。80C51单片机P1口只作通用I/O口,字节寻址地址为90H,位地址为90H~97H。1.P1口的位电路结构P1口的8位都具有如图4-2所示的位电路结构,由1个锁存器、1个场效应管输出驱动电路、2个输入缓冲器、1个上拉电阻构成。图4-2P1口的位电路结构92.P1口的工作原理(1)当P1口作输出口时,若内部总线将“1”写入锁存器,使输出场效应驱动管T截止,输出线由内部上拉电阻拉成高电平;若内部总线将0写入锁存器时,T导通,输出0。(2)当P1口作输入口时,分读引脚和读锁存器状态两种情况:读引脚时,打开下面三态门BUF2,可读入引脚上信息;读锁存器状态时,将打开上面三态门BUF1,此时Pl口进行“读-修改-写”操作。①P1口读引脚输入信息时,必须先置“1”锁存器,使T截止;此时,输入端的电平随输入信号而变,经缓冲器BUF2进入内部总线。②P1口读锁存器:锁存器内容经打开的BUF1,进入内部总线。103.P1口使用总结综上所述,P1口在使用时有如下说明:(1)P1口内部具有上拉电阻,可以直接被集电极开路或漏极开路的电路驱动,不必外接上拉电阻。(2)P1口内部自带上拉电阻,没有高阻抗输入状态,是8位准双向口。(3)P1口读引脚(端口)输入时,必须先向锁存器置“1”,再读锁存器。114.3P2口P2口是一个具有双功能的8位准双向I/O口。字节寻址地址A0H,位地址A0H~A7H。1.P2口位电路结构P2口的8位都具有如图4-3所示的位电路结构,由1个锁存器、1个切换开关、1个场效应管输出驱动电路、2个输入缓冲器及1个反相器构成。图4-3P2口的位电路结构122.P2口的工作原理P2口既可以作高8位地址总线使用,也可以作为I/O口使用。(1)P2作为高8位地址总线输出:受内部“控制”信号作用,多路开关MUX向上与“地址”输出信号接通,经反相器和场效应管反相后,“地址”信号输出在端口引脚线上。(2)P2口作为通用I/O口使用:受内部“控制”信号作用,多路开关MUX向下与锁存器输出端Q接通。①CPU输出数据“1或0”时,数据经内部总线进入锁存器,由锁存器Q输出经反相器和场效应管反相后,输出在端口引脚线上,P2.x输出数据与CPU输出数据一致。②当P2口作输入口时,有读引脚和读锁存器状态两种情况。读引脚时,必须先置“1”锁存器,使T截止;P2.x引脚上的电平经下面三态门BUF2进入内部总线。读锁存器状态时,上面三态门BUF1打开,此时P2.x锁存器内容经Q端通过BUF1进入内部总线,属于“读-修改-写”操作。133.P2口使用说明(1)P2作高8位地址总线时,与P0口输出的(经地址锁存器输出的)低8位地址总线共同构成16位地址总线,寻址64KB存储器或者I/O接口地址空间。(2)P2作为通用I/O口使用时,是一个准双向口,当读引脚(端口)输入时,须先向锁存器置“1”,再读锁存器。144.4P3口P3口是具有双功能的8位准双向I/O口。字节寻址地址为B0H,位地址为B0H~B7H。1.P3口的位电路结构P3口的8位都具有如图4-4所示的位电路结构,由1个锁存器、1个与非门、1个场效应管驱动电路、2个输入缓冲器、1个上拉电阻构成。由图可见,P3端口的各端口线有第二输入功能、第二输出功能、通用I/O口功能选择。图4-4P3口的位电路结构152.P3口的工作原理(1)第二输入功能及第二输出功能①当P3口作为第二输入功能时,锁存器须先置“1”,“第二输出功能”端此时也为1,“与非门”输出为0,保证场效应管T截止,P3.x引脚的信号经过输入缓冲器得到。②当P3口作为第二输出功能时,锁存器也必须先置“1”,打开“与非门”,则“第二输出功能”线输出的“0或1”信号经过“与非门”和场效应管T的2次反向,使得P3.x内容与第二输出功能线输出的内容一致。16(2)当P3口作为第一功能,即I/O口功能时,也分2种情况。①P3作为I/O输出时,“第二输出功能”输出高电平,“与非门”开启。CPU输出的“1或0”信号,由内部总线经锁存器输出,经过“与非门”和场效应管2次反向,使得P3.x引脚输出与CPU输出一致。②P3口作I/O输入时,若要“读引脚”,输出锁存器同样需要置“1”,“第二输出功能”端也置1,使得场效应管T截止,P3.x引脚信息经下端2个输入三态门到内部总线。如果锁存器不置1就读,则锁存器锁存内容经Q端输出,通过读锁存器控制的三态门到内部总线,实现读锁存器操作。173.P3口使用说明(1)P3口内部具有上拉电阻,没有高阻态,为准双向口,不必外接上拉电阻。(2)P3口优先考虑第二功能,某一位只有不作为第二功能使用时,才可考虑I/O口的功能。(3)P3口读引脚(端口)输入和第二功能输入时,必须先向锁存器置“1”,再读锁存器。184.5I/O口简单输入输出设计【例4-2】开关控制8只LED计数与显示电路如图4-5所示,P3.1连接开关SW1,将P1.0~P1.7连接8个发光二极管LED0~LED7;编写程序实现SW1每上下拨动一次,8个发光二极管按16进制方式加一点亮。1920参考程序如下:#include<reg51.h>sbitP3_1=P3^1;voiddelay(unsignedinti)//延时{unsignedintj,k;for(k=0;k<i;k++)for(j=0;j<125;j++);}21voidmain(void){unsignedintx=0x00,temp=0x00;P1=0xff;while(1){while(P3_1==1);//P3.1为高电平delay(10);//调用延时程序while(P3_1==0);//P3.1为低电平delay(10);//调用延时程序x=x+1;temp=x;x=~x;//二极管低电平点亮P1=x;//送P1口x=temp;

}}22【例4-3】利用单片机的P1口接8个发光二极管,P2口接8个开关,要求实现:当开关动作时,对应的发光二极管亮或灭,电路如图4-6所示。只须把P2口的内容读出后,通过P1口输出即可。2324参考程序:#include<reg51.h>voidmain(void){unsignedchari;P2=0xff;for(;;){i=P2;P1=i;}}254.6单片机I/O口控制电磁继电器在控制系统中,常常存在电子电路与电气电路的互相连接问题,需要电子电路控制电气电路的执行元件,例如电动机、电磁铁、电灯等,同时实现电子线路与电气电路的电隔离,以保护电子电路和人身的安全,继电器在其中起了重要的桥梁作用。继电器有固态继电器SSR和电磁继电器,常用的继电器大部分属于电磁式继电器,电磁继电器是自动控制电路中常用的一种元件,是用较小电流控制较大电流的一种自动开关。电磁继电器是由铁芯、线圈、衔铁、触点以及底座等构成,触点有动触点和静触点之分。固态继电器是一种由集成电路和分立元件组合而成的一体化无触点电子开关器件,其功能与电磁继电器基本相似。261.电磁继电器的电路符号和触点形式电磁继电器的线圈只有一个,但其带触点的簧片则常设置多组。在电路中,表示继电器时可画出线圈与控制电路的有关触点。线圈用长方框表示,标有继电器的文字符号K或KR。触点有两种表示方法:一种是把它们直接画在长方框的一侧,此表示法比较直观;另一种是把各个触点分别画到各自的控制电路中,常在同一继电器的触点与线圈旁分别标注相同的文字符号,并将触点组编号,以示区别。继电器的触点有三种形式。(1)动合型(H型)线圈不通电时,两触点是断开的,通电后,两个触点闭合(以合字的拼音字头“H”表示)。(2)动断型(D型)线圈不通电时,两触点是闭合的,通电后,两个触点断开(用断字的拼音字头“D”表示)。27(3)转换型(Z型)这是触点组型。这种触点组共有3个触点,中间是动触点,上下各一个静触点。线圈不通电时,动触点和一个静触点接触(一个断开,另一个闭合),线圈通电后,动触点就移动,使原来断开的闭合,原来闭合的断开,达到转换的目的。触点组称为转换触点,用“转”字的拼音字头“Z”表示。电磁继电器的常用符号如图4-7所示。在电路中,触点的画法应按线圈不通电时的原始状态画出。28292.电磁继电器的工作原理电磁继电器是一种功率开关器件,输入开关信号,只要让继电器的吸合线圈通过一定的电流,线圈产生的磁力就会带动衔铁移动,从而带动开关点的接通和断开,由此控制电路的通或断。电磁继电器主要用于低压控高压或小电流控大电流的场合,由于继电器的强电触点与吸合线圈之间是隔离的,所以继电器控制输出电路不需要专门设计隔离电路。303.电磁继电器接口电路【例4-4】利用单片机I/O口控制继电器的开合,实现对外部装置的控制。电路如图4-8,由于单片机引脚的驱动能力有限,控制端P2.5引脚连接一个NPN三极管,当P2.5输出低电平时,继电器不工作,当P2.5输出高电平时,继电器工作,常开触点吸合,LED将随继电器的开关连接到电源端而点亮。图中,继电器电路中,在继电器的线圈两头加一个二极管D1以吸收继电器线圈断电时产生的反电势,从而保护晶体管,防止干扰。31#include<reg51.h>sbitP2_5=P2^5;voiddelay(unsignedinti){unsignedintj,k;for(k=0;k<i;k++)for(j=0;j<125;j++);}voidmain(void){while(1){P2_5=0;delay(1000);P2_5=1;delay(1000);}}324.7单片机I/O口控制光耦在单片机控制系统中,单片机总要对被控对象实现控制操作。后向通道是计算机实现控制运算处理后,对被控对象的输出通道接口。后向通道的特点是弱电控制强电,即小信号输出实现大功率控制。常见的被控对象有电机、电磁开关等。后向通道往往所处环境恶劣,控制对象多为大功率伺服驱动机构,电磁干扰较为严重。为防止干扰窜入和保证系统的安全,通常采用光电耦合器实现信号的传输,同时又可将系统与现场隔离开。光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强,无触点且输入与输出在电气上完全隔离等特点,因而在各种电子设备上得到广泛的应用。光电耦合器可用于隔离电路、负载接口及各种家用电器等电路中。331.光电耦合器的封装及组合光电耦合器有金属封装和塑料封装两种形式。金属封装采用金属外壳,且用玻璃绝缘,芯片采用环焊以保证发光管与接收管对准。塑料封装采用双列直插式结构,管芯先装于管脚上,中间用透明树脂固定,具有聚光作用,故灵敏度较高,较为常用。常用的光电耦合器组合形式有4种,如图4-9所示。其中,图4-9(a)是普通型光电耦合器,用于100kHz以下频率的装置中;图4-9(b)是高速型光电耦合器,响应速度高;图4-9(c)是达林顿输出型光电耦合器,具有达林顿输出的一切特性,可直接用于驱动较低频率的负载;图4-9(d)是晶闸管输出型,其输出部分为光控晶闸管,常用于大功率的隔离驱动场合。在实际应用中,可根据实际需要选用结构简单的器件,以降低成本。34352.光电耦合器的工作原理

光电耦合器是通过光电元件来实现功能的。光电元器件是一种光电转换装置,它的输出特性与二极管或三极管基本相同,不同的是光电元器件接收的是光能量。以光电三极管为例,其导通与截止,是由发光二极管所加正向电压控制的。当发光二极管加上正向电压时,发光二极管有电流通过发光,使光电三极管内阻减小而导通;反之,当发光二极管不加正向电压或所加正向电压很小时,发光二极管中无电流或通过电流很小,发光强度减弱,光电三极管的内阻增大而截止。由于发光二极管与光电三极管之间是通过光来传递信息的,没有电气上的联系,从而实现了电气上的隔离。因此,光电耦合器广泛地应用于信号隔离、开关电路、数模转换、逻辑电路、长线传输、过载保护、高压控制和电路变换。363.光电耦合器的接口电路光电耦合技术广泛用于测量控制系统,典型的光电耦合器TLP521-4的应用电路如图4-10所示,其中,D为发光二极管,VCC为工作电源,R1为限流电阻,R2为三极管负载电阻,当P1.0~P1.3输出高电平时,发光二极管无电流流过,因此不发光,光电三极管T没有接收到光能量,处于截止状态,输出电压Vo=VCC。当P1.0~P1.3输出低电平时,有电流流过4个发光二极管D1~D4,产生红外光线,T1~T4接收到光能量,从工作区进入饱和区,光电三极管导通,VO1~VO4均为0V,输出低电平。37

光电耦合器可以作为测控系统输入接口或者输出接口,光电耦合器作为单片机输入设备隔离器的例子参考第5章【例5-5】。38【例4-5】用单片机I/O口控制光电耦合器,电路如图4-11所示,当P2.7引脚输出低电平时,光耦工作,使灯泡点亮。39参考程序如下:#include<reg51.h>sbitP2_7=P2^7;voiddelay(unsignedinti){unsignedintj,k;for(k=0;k<i;k++)for(j=0;j<125;j++);}voidmain(void){while(1){P2_7=0;delay(1000);P2_7=1;delay(1000);}}404.8单片机I/O口控制双向可控硅4.8.1晶闸管工作原理晶闸管又称为可控硅(SCR),是一种大功率半导体器件,它既可作为控制开关,又具有单向导电的整流功能。通常晶闸管作为用较小的功率控制较大的功率的接口。在交、直流电动机调速系统、调功系统、随动系统和无触点开关等方面均获得广泛的应用。晶闸管分单向可控硅和双向可控硅2类。411.单向可控硅单向可控硅电路如图4-12所示,具有三个电极:阳极A、阴极C、控制极(门极)G。当控制极G不加电压时,其AC两端加上正向电压,正向电流很小,晶闸管并不导通,处于正向阻断状态;当AC加上正向电压,且控制极上G也加上正向电压时,晶闸管便进入导通状态。此时,管压降仅1V左右,当控制电压消失,晶闸管仍保持导通状态。控制电压通常采用脉冲形式,以降低触发功耗。晶闸管不具有自关断能力,要切断负载电流,只有使阳极电流减小到维持电流以下,或加反向电压来关断。在交流回路中应用,当电流过零和进入负半周时,自动关断,需再次导通,必须重加控制信号。图4-12单向可控硅电路422.双向晶闸管交流电路中常采用双向晶闸管,如图4-13所示,把两只反并联的晶闸管制作在同一片硅片上,控制极共用一个,以保证电流能沿正反两个方向流通。其原理说明如下。(1)控制极G不加电压时,A、C间呈高阻抗,管子截止。(2)当AC间电压>1.5V时,不论极性如何,均可使G触发电流控制其导通。(3)交流工作时,当每一半周交替时,纯阻负载一般能恢复截止;但在感性负载情况下,电流相位滞后于电压,电流过零,可能反向电压超过转折电压,使管子反向导通。所以,要求管子能承受反向电压,一般要加RC吸收回路。(4)A、C可调换使用,触发极性可正可负。43

双向可控硅经常用作交流调压、调温、调功和无触点开关,以往用硬件产生触发脉冲的测控方式不够灵活,在单片机测控系统中可利用软件产生触发脉冲。图4-13双向晶闸管结构444.8.2单片机I/O口控制双向可控硅接口设计光耦合双向可控硅驱动器常作为单片机输出与双向可控硅之间较理想的接口器件,典型的产品有MOTOROLA公司的MOC3000系列的光耦合双向可控硅驱动器,一般为六引脚双列直插式封装,由发光二极管和双向可控硅两部分组成,发光二极管常由砷化镓发光二极管构成,在正向电流(5~15mA)作用下能发出红外光,触发硅光敏双向可控硅双向导通。单片机I/O口控制双向可控硅接口典型电路如图4-14所示,通常利用软件控制单片机I/O口,使得光耦合双向可控硅驱动器发光,光敏双向可控硅双向导通,进一步触发外部的双向晶闸管导通。当P2.0输出高电平时,MOC3052输出端的双向晶闸管关断,外部双向晶闸管也关断。电阻R1的作用是限制流过MOC3052输出端的电流。45图4-14光耦合双向可控硅驱动器接口电路46【例4-6】用单片机I/O口控制双向可控硅,电路如图4-15所示,当按下K1开关并释放时,单片机P2.0取反。当P2.0为0时,光耦导通并触发可控硅,灯泡L1点亮,反之则熄灭。图4-15单片机I/O口控制双向可控硅47参考程序如下:#include<reg51.h>sbitP2_0=P2^0;sbitK1=P1^0;voiddelay(unsignedinti){unsignedintj,k;for(

温馨提示

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

最新文档

评论

0/150

提交评论