《单片机原理与应用》 ppt课件

上传人:vosvybf****vycfil... 文档编号:243138722 上传时间:2024-09-16 格式:PPT 页数:45 大小:686KB
返回 下载 相关 举报
《单片机原理与应用》 ppt课件_第1页
第1页 / 共45页
《单片机原理与应用》 ppt课件_第2页
第2页 / 共45页
《单片机原理与应用》 ppt课件_第3页
第3页 / 共45页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,输入,/,输出口的应用,MCS-51,单片机有四个,8,位的,I/O,输入,/,输出端口,即:,P0,、,P1,、,P2,和,P3,。每个端口都是,8,位的准双向输入,/,输出口。单片机共有,40,条引线,其中有,32,条是,I/O,口。每一条又都能独立地完成输入,/,输出的功能。每个端口还有一个锁存器,它们是四个特殊功能的寄存器,P0P3,,输出时这四特殊功能的寄存器可以作为驱动器,输入时它们又可以作为缓冲器。,单片机原理与应用,单片机的,I/O(,输入,/,输出,),接口,MCS-51,单片机中的,4,个,8,位的,I/O,端口,P0P3,,其中,P0,口为三状态双向口,负载能力为,8,个,TTL,门电路,,P1P3,口为准双向口。准双向是指用作输入口时,口锁存器必须先写入“,1”,信号。,P1P3,口的负载能力为,4,个,TTL,门电路。,单片机原理与应用,单片机原理与应用,P1,口的内部结构,单片机的四个,I/O,口,P0P3,,其内部电路各不相同,但是逻辑功能基本上是一样的,为了便于理解,这里只对,P1,口的内部电路进行分析。,在单片机控制系统中,,P0,口是数据总线,也是地址总线的低,8,位。,P2,口是地址总线的高,8,位。,P3,口是特殊功能的,I/O,口。实际上,只有,P1,口才是专供用户使用的。,单片机原理与应用,单片机原理与应用,P1,口是一个准双向的,I/O,口,,P1,口的每一位都有一个上拉电阻。每一位口线能独立用作输入线或输出线,也就是说,既能作为输入口,也能作为输出口。,对于,P1,口的操作有三种情况,即:,输出数据,、,输入数据,和,读取,P1,口的位状态,。,图,5-2 P1,口位结构,单片机原理与应用,输出数据,当单片机的内部总线某一位输出“,1”,时,锁存器,D,端的信号为“,1”,,同时“写”信号来一个低电平脉冲,根据,D,触发器的原理,,Q,端为“,1”,,端为“,0”,,场效应管的控制端得到低电平,场效应管不导通,,P1,口输出高电平“,1”,。,当单片机的内部总线某一位输出“,0”,时,端为“,1”,,场效应管导通,,P1,口输出低电平“,0”,。,单片机原理与应用,输入数据,单片机原理与应用,P1,口作为输入口时,信号来自于单片机的外部,如果外部信号为低电平“,0”,,读引脚来脉冲时,三态输入缓冲器,2,导通,低电平“,0”,信号到达内部总线的,D,端,内部总线与,CPU,相连。,单片机原理与应用,为什么说,P1,口是一个准双向的输入口呢?由图,5-3,可以看出,当场效应管,T,导通时,无论开关,K,是否闭合,,P1,口均为低电平。为了解决这个问题,在执行输入指令前,先用一条输出指令,向,P1,口送去高电平“,1”,,关闭场效应管,T,;再用输入指令,采集开关,K,的工作状态。这时如果开关,K,断开时,输入信号为高电平“,1”,。开关,K,闭合时,输入信号为低电平“,0”,。,图,5-3 P1,口作为输入口,单片机原理与应用,读取,P1,口的位状态,单片机原理与应用,有时不知道,P1,口的输出状态是高电平“,1”,,还是低电平“,0”,。可以用一条指令读取锁存器中的数据。这时“读锁存器信号”端来一个脉冲,三态输入缓冲器,1,导通。,Q,端的数据通过三态输入缓冲器,1,到达内部总线的,D,端,再到达,CPU,。,单片机原理与应用,由,P1,口的内部电路可知,,P1,口有一个上拉电阻,当,P1,口输出高电平时,形成了拉电流,电流从单片机中流出,电阻会发热,所以电流不能太大。,当,P1,口输出低电平时,形成了灌电流,电流流入单片机,场效应管只有,0.3v,的电压,散耗功率很小,所以电流可以大一些。也就是说,一般情况下,最好用灌电流的形式输出信号,而尽量避免使用拉电流输出信号。,用,C,语言控制,P1,口输出信号,单片机原理与应用,操作,P1,口时,需要对,P1,口的寄存器声明,在,C,语言的编译器中,这项声明包含在,reg51.h,中,在编写程序时,要把这个头文件包含在进去,声明语句如下:,#include ,也可以对,P1,口的特殊寄存器声明,其语句如下:,sfr,P1=0X90;,单片机原理与应用,例,5-1,:图,5-4 P1,口的控制电路, 它的主要功能是通过,P1,口的输出状态,控制相应的发光二极管的亮与灭。,图,5-4 P1,口控制,LED,指示灯,单片机原理与应用,P1,口控制,LED,指示灯,P1,口外接,8,个,LED,发光二极管,当,P1,口输出高电平时,,LED,发光二极管两端的电压相等,均为,5V,,二极管中无电流,,LED,不亮;当,P1,口输出低电平时,,LED,发光二极管中有电流,,LED,亮。,P1,口高电平,要想让,P1,口高电平,可以用以下的语句:,P1=0xff;,0x,表示十六进制数。,ff,表示二进制数,1111 1111B,。,使用这条语句时,,P10P17,均输出高电平。,单片机原理与应用,P1,口低电平,要想让,P1,口低电平,可以用以下的语句:,P1=0x00;,0x,表示十六进制数。,00,表示二进制数,0000 0000B,。,使用这条语句时,,P10P17,均输出低电平。,单片机原理与应用,单片机原理与应用,例,5-2,:用,P1,口控制,8,个发光二极管,LED,亮一秒钟再灭一秒钟,周而复始,不停闪烁。,如果想让,P1,口控制,LED,亮一秒,再灭一秒。根据图,5-3,可以使用下列程序。,#include ,main( ),unsigned,int,i;,while(1),P1=0x00;,for (i=0; i50000; i+);,P1=0xff;,for (i=0; i50000; i+);,单片机原理与应用,用位操作控制,P1,口的输出,单片机原理与应用,P1,口不仅可以实现字节操作,也可以实现“位”操作,但需要声明一个“位”变量,这里用,P10,作为输出信号。,如果要让,P1.0,输出高电平,可以用语句,P10=1;,注意:这里的,P,必须是大写。,要让,P1.0,输出低电平,可以用语句,P10=0;,例,5-3,:下面是一个灯塔信号灯的控制系统,其工作原理如图,5-5,所示。,图,5-5 P10,口控制灯塔信号灯,单片机原理与应用,说明,单片机原理与应用,图,5-5,是灯塔信号灯的电气原理图,图中用单片机,8951,构成了一个单片机的最小系统,,C1,和,R1,是单片机的复位电路,,P1,口在复位后输出高电平。晶振的两端分别接在单片机的,XTAL1,和,XTAL2,之间。当,P1,口输出高电平时,三极管,T1,和,T2,导通。光电耦合器中的发光二极管点亮,光敏三极管导通,双向二极管,V,导通,双向可控硅,VT,导通,照明灯,ZD,点亮。,P1,口输出为低电平“,0”,时,照明灯,ZD,熄灭。,#include ,sbit,P10=P10;,void main(), for( ; ;), P10=0;,delay50ms(20);,P10=1;,delay50ms(20);,void delay50ms(char k), unsigned,int,i,j,;,for (j=0;j,k;j,+),for (i=0;i5000;i+);,单片机原理与应用,程序分析,sbit,P10=P10;,这是一个说明语句,用来说明,P1.0,是一个位。,for( ; ;),这条语句的作用是形成一个死循环,灯塔上的照明灯一闪一闪的。,delay50ms(20);,调用,50ms,的延时函数。括号中的,20,是要传送给被调函数的参数,这个参数决定了延时时间的长度。,单片机原理与应用,程序分析,void delay50ms(char k),这是一个延时函数,没有返回值,要接收一个,char,型的数据参数。当,K,值为,1,时,延时,50ms,。,for (j=0;j,k;j,+),这是一条循环语句,计数初值,j=0,,终值取决于,K,值。,单片机原理与应用,用开关控制,P1,口的输出状态,单片机原理与应用,例,5-4,:图,5-6,是一个走廊照明灯的控制系统,有人进入走廊时用手按一下开关,K,,,P30,变成低电平,由于手按动开关,K,的时间很短,,P30,得到的是一个下降沿脉冲,作为输入信号。单片机采集到输入信号后,从,P10,输出高电平,继电器,J,线圈带电,继电器的常开触头,J,闭合,照明灯,DX,亮,然后延时,1,分钟后,自动熄灭。,图,5-7 P10,口控制走廊照明灯,单片机原理与应用,#include ,sbit,P10=P10,sbit,P30=P30,main(), unsigned,i,j,;,while(1), if (P30= =0), P10=1;,for (i=1;i50000;i+),for (j=1;j50000;j+);,else,P10=0;,单片机原理与应用,程序分析,单片机原理与应用,sbit,P10=P10 ;,sbit,P30=P30;,说明,P10,表示对,P1,口的最低位进行操作,,P30,表示对,P3,口的最低位进行操作。,程序分析,if (P30= =0),有两个作用,一是将,P30,的开关状态输入单片机,二是判断开关,K,是否闭合。,P10=1;,如果开关,K,闭合,,P1,口的最低位输出高电平,点亮走廊灯。,单片机原理与应用,例,5-5,:,用单片机设计一个循环彩灯的控制系统。,图,5-8,循环彩灯的控制系统原理图。,单片机原理与应用,单片机原理与应用,交通信号灯的控制系统,单片机原理与应用,如果用两个开关控制,P1,口的输出状态,又该什么样设计硬件和软件呢?下面以交通信号灯为例说明这个问题。,例,5-6,:设计一个交通信号灯的控制系统。,图,5-9,交通信号灯的示意图,单片机原理与应用,根据现场的实际情况要求如下,南北方向红灯亮,东西方向绿灯亮。延时,60,秒。,南北方向和东西方向均为黄灯亮。延时,3,秒。,南北方向绿灯亮,东西方向红灯亮。延时,60,秒。,南北方向和东西方向均为黄灯亮。延时,3,秒。,周而复始,循环不止。,单片机原理与应用,说明,当开关,K1,断开时,,南北方向绿灯亮,东西方向红灯亮。,当开关,K2,断开时,,南北方向红灯亮,东西方向绿灯亮。,根据上述要求,可以画出控制流程图。,单片机原理与应用,图,5-10,交通信号灯的控制流程图,单片机原理与应用,输出控制字,南北方向红灯亮,东西方向绿灯亮。,输出控制字:,0010 0001B=21H,。,南北方向绿灯亮,东西方向红灯亮。,输出控制字:,0000 1100B=0CH,。,南北方向和东西方向均为黄灯亮。,输出控制字:,0001 0010B=12H,。,单片机原理与应用,图,5-10,交通信号灯的控制原理图,单片机原理与应用,#include ,main(),unsigned,int,i; char,a,j,k,;,while(1), P1=0xff;,a=P1;,k=a,switch (k), case 0x40: P1=0x21; break;,case 0x80: P1=0x0C; break;,default:,P1=0x21;,for(j,=0;j120;j+),P1=0x21;,for(j,=0;j120;j+),for(i,=0;i50000;i+);,P1=0x12;,for(j,=0;j6;j+),for(i,=0;i50000;i+);,P1=0x0C;,for(j,=0;j120;j+),for(i,=0;i50000;i+);,P1=0x12;,for(j,=0;j6;j+),for(i,=0;i50000;i+);,break;,单片机原理与应用,程序分析,单片机原理与应用,由图,5-8,交通信号灯的控制原理图可以看出,在南北方向,,P10,控制红灯,,P11,控制黄灯,,P12,控制绿灯。在东西方向,,P13,控制红灯,,P14,控制黄灯,,P15,控制绿灯。,当某一位输出高电平时,相应的灯亮;为低电平时,相应的灯灭。,程序分析,单片机原理与应用,在主程序中采用字节输出的方式,一共有三种状态,采用三个控制字,即:,21H,、,0CH,和,12H,,完成对系统的控制。,程序分析,当执行语句,P1=0x21;,时,,南北方向停止通行,东西方向通行。,当执行语句,P1=0x12;,时,,南北方向和东西方向都是黄灯亮。,当执行语句,P1=0x0C;,时,,南北方向通行,东西方向停止通行。,单片机原理与应用,程序分析,单片机原理与应用,由于,P1,口是一个准双向的输入口,在程序的开始先向,P1,口输出高电平,由语句,P1=0xff,来完成。再把,P1,口的工作状态通过语句,a=P1,送给变量,a,, “与”运算,k=a,是把低,6,位屏蔽掉。这样就可以根据变量,K,的值确定系统的控制方案了。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!