《单片机原理与应用》课件(4).ppt

上传人:s****8 文档编号:67229014 上传时间:2022-12-24 格式:PPT 页数:45 大小:686KB
返回 下载 相关 举报
《单片机原理与应用》课件(4).ppt_第1页
第1页 / 共45页
《单片机原理与应用》课件(4).ppt_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《《单片机原理与应用》课件(4).ppt》由会员分享,可在线阅读,更多相关《《单片机原理与应用》课件(4).ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、输入输入/输出口的应用输出口的应用 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口为准双向口。准双向是指用作

2、输入口时,口锁存器必须先写入“1”信号。P1P3口的负载能力为4个TTL门电路。单片机原理与应用单片机原理与应用单片机原理与应用单片机原理与应用P1口的内部结构口的内部结构 单片机的四个I/O口P0P3,其内部电路各不相同,但是逻辑功能基本上是一样的,为了便于理解,这里只对P1口的内部电路进行分析。在单片机控制系统中,P0口是数据总线,也是地址总线的低8位。P2口是地址总线的高8位。P3口是特殊功能的I/O口。实际上,只有P1口才是专供用户使用的。单片机原理与应用单片机原理与应用单片机原理与应用单片机原理与应用 P1口是一个准双向的I/O口,P1口的每一位都有一个上拉电阻。每一位口线能独立用作

3、输入线或输出线,也就是说,既能作为输入口,也能作为输出口。对于P1口的操作有三种情况,即:输出输出数据数据、输入数据输入数据和读取读取P1口的位状态口的位状态。图5-2 P1口位结构 单片机原理与应用单片机原理与应用输出数据输出数据 当单片机的内部总线某一位输出“1”时,锁存器D端的信号为“1”,同时“写”信号来一个低电平脉冲,根据D触发器的原理,Q端为“1”,端为“0”,场效应管的控制端得到低电平,场效应管不导通,P1口输出高电平“1”。当单片机的内部总线某一位输出“0”时,端为“1”,场效应管导通,P1口输出低电平“0”。单片机原理与应用单片机原理与应用输入数据输入数据 单片机原理与应用单

4、片机原理与应用 P1口作为输入口时,信号来自于单片机的外部,如果外部信号为低电平“0”,读引脚来脉冲时,三态输入缓冲器2导通,低电平“0”信号到达内部总线的D端,内部总线与CPU相连。单片机原理与应用单片机原理与应用 为什么说P1口是一个准双向的输入口呢?由图5-3可以看出,当场效应管T导通时,无论开关K是否闭合,P1口均为低电平。为了解决这个问题,在执行输入指令前,先用一条输出指令,向P1口送去高电平“1”,关闭场效应管T;再用输入指令,采集开关K的工作状态。这时如果开关K断开时,输入信号为高电平“1”。开关K闭合时,输入信号为低电平“0”。图5-3 P1口作为输入口 单片机原理与应用单片机

5、原理与应用读取读取P1口的位状态口的位状态 单片机原理与应用单片机原理与应用 有时不知道P1口的输出状态是高电平“1”,还是低电平“0”。可以用一条指令读取锁存器中的数据。这时“读锁存器信号”端来一个脉冲,三态输入缓冲器1导通。Q端的数据通过三态输入缓冲器1到达内部总线的D端,再到达CPU。单片机原理与应用单片机原理与应用 由P1口的内部电路可知,P1口有一个上拉电阻,当P1口输出高电平时,形成了拉电流,电流从单片机中流出,电阻会发热,所以电流不能太大。当P1口输出低电平时,形成了灌电流,电流流入单片机,场效应管只有0.3v的电压,散耗功率很小,所以电流可以大一些。也就是说,一般情况下,最好用

6、灌电流的形式输出信号,而尽量避免使用拉电流输出信号。用用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

7、个LED发光二极管,当P1口输出高电平时,LED发光二极管两端的电压相等,均为5V,二极管中无电流,LED不亮;当P1口输出低电平时,LED发光二极管中有电流,LED亮。P1口高电平要想让P1口高电平,可以用以下的语句:P1=0 xff;0 x表示十六进制数。ff表示二进制数1111 1111B。使用这条语句时,P10P17均输出高电平。单片机原理与应用单片机原理与应用P1口低电平要想让P1口低电平,可以用以下的语句:P1=0 x00;0 x表示十六进制数。00表示二进制数0000 0000B。使用这条语句时,P10P17均输出低电平。单片机原理与应用单片机原理与应用单片机原理与应用单片机原理

8、与应用例5-2:用P1口控制8个发光二极管LED亮一秒钟再灭一秒钟,周而复始,不停闪烁。如果想让P1口控制LED亮一秒,再灭一秒。根据图5-3可以使用下列程序。#include main()unsigned int i;while(1)P1=0 x00;for(i=0;i50000;i+);P1=0 xff;for(i=0;i50000;i+);单片机原理与应用单片机原理与应用用位操作控制用位操作控制P1口的输出口的输出 单片机原理与应用单片机原理与应用P1口不仅可以实现字节操作,也可以实现“位”操作,但需要声明一个“位”变量,这里用P10作为输出信号。如果要让P1.0输出高电平,可以用语句

9、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

10、口输出为低电平“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;jk;j+)for(i=0;i5000;i+);单片机原理与应用单片机原理与应用程序分析程序分析 sbit P10=P10;这是一个说明语句,用来说明P1.0是一个位。for(;)这条语句的作用是形成一个死循环,灯塔上的照明灯一闪一闪的。delay50ms(20);调用50ms的延时函数。括号中的20是要传

11、送给被调函数的参数,这个参数决定了延时时间的长度。单片机原理与应用单片机原理与应用程序分析 void delay50ms(char k)这是一个延时函数,没有返回值,要接收一个char型的数据参数。当K值为1时,延时50ms。for(j=0;jk;j+)这是一条循环语句,计数初值j=0,终值取决于K值。单片机原理与应用单片机原理与应用用开关控制用开关控制P1口的输出状态口的输出状态 单片机原理与应用单片机原理与应用例5-4:图5-6是一个走廊照明灯的控制系统,有人进入走廊时用手按一下开关K,P30变成低电平,由于手按动开关K的时间很短,P30得到的是一个下降沿脉冲,作为输入信号。单片机采集到输

12、入信号后,从P10输出高电平,继电器J线圈带电,继电器的常开触头J闭合,照明灯DX亮,然后延时1分钟后,自动熄灭。图5-7 P10口控制走廊照明灯 单片机原理与应用单片机原理与应用#include sbit P10=P10sbit P30=P30main()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口的最低位进行操作,

13、P30表示对P3口的最低位进行操作。程序分析程序分析 if(P30=0)有两个作用,一是将P30的开关状态输入单片机,二是判断开关K是否闭合。P10=1;如果开关K闭合,P1口的最低位输出高电平,点亮走廊灯。单片机原理与应用单片机原理与应用例例5-5:用单片机设计一个循环彩灯的控制系统。图5-8循环彩灯的控制系统原理图。单片机原理与应用单片机原理与应用单片机原理与应用单片机原理与应用交通信号灯的控制系统交通信号灯的控制系统 单片机原理与应用单片机原理与应用 如果用两个开关控制P1口的输出状态,又该什么样设计硬件和软件呢?下面以交通信号灯为例说明这个问题。例5-6:设计一个交通信号灯的控制系统。

14、图5-9 交通信号灯的示意图 单片机原理与应用单片机原理与应用根据现场的实际情况要求如下根据现场的实际情况要求如下 南北方向红灯亮,东西方向绿灯亮。延时60秒。南北方向和东西方向均为黄灯亮。延时3秒。南北方向绿灯亮,东西方向红灯亮。延时60秒。南北方向和东西方向均为黄灯亮。延时3秒。周而复始,循环不止。单片机原理与应用单片机原理与应用说明说明当开关K1断开时,南北方向绿灯亮,东西方向红灯亮。当开关K2断开时,南北方向红灯亮,东西方向绿灯亮。根据上述要求,可以画出控制流程图。单片机原理与应用单片机原理与应用图5-10 交通信号灯的控制流程图 单片机原理与应用单片机原理与应用输出控制字南北方向红灯

15、亮,东西方向绿灯亮。输出控制字:0010 0001B=21H。南北方向绿灯亮,东西方向红灯亮。输出控制字:0000 1100B=0CH。南北方向和东西方向均为黄灯亮。输出控制字:0001 0010B=12H。单片机原理与应用单片机原理与应用图5-10 交通信号灯的控制原理图 单片机原理与应用单片机原理与应用#include main()unsigned int i;char a,j,k;while(1)P1=0 xff;a=P1;k=a&0 xC0;switch(k)case 0 x40:P1=0 x21;break;case 0 x80:P1=0 x0C;break;default:P1=0

16、 x21;for(j=0;j120;j+)P1=0 x21;for(j=0;j120;j+)for(i=0;i50000;i+);P1=0 x12;for(j=0;j6;j+)for(i=0;i50000;i+);P1=0 x0C;for(j=0;j120;j+)for(i=0;i50000;i+);P1=0 x12;for(j=0;j6;j+)for(i=0;i50000;i+);break;单片机原理与应用单片机原理与应用程序分析程序分析 单片机原理与应用单片机原理与应用 由图5-8交通信号灯的控制原理图可以看出,在南北方向,P10控制红灯,P11控制黄灯,P12控制绿灯。在东西方向,P1

17、3控制红灯,P14控制黄灯,P15控制绿灯。当某一位输出高电平时,相应的灯亮;为低电平时,相应的灯灭。程序分析程序分析单片机原理与应用单片机原理与应用 在主程序中采用字节输出的方式,一共有三种状态,采用三个控制字,即:21H、0CH和12H,完成对系统的控制。程序分析程序分析当执行语句P1=0 x21;时,南北方向停止通行,东西方向通行。当执行语句P1=0 x12;时,南北方向和东西方向都是黄灯亮。当执行语句P1=0 x0C;时,南北方向通行,东西方向停止通行。单片机原理与应用单片机原理与应用程序分析单片机原理与应用单片机原理与应用 由于P1口是一个准双向的输入口,在程序的开始先向P1口输出高电平,由语句P1=0 xff 来完成。再把P1口的工作状态通过语句a=P1送给变量a,“与”运算k=a&0 xC0;是把低6位屏蔽掉。这样就可以根据变量K的值确定系统的控制方案了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁