《单片机原理与应用》课件(4).ppt
《《单片机原理与应用》课件(4).ppt》由会员分享,可在线阅读,更多相关《《单片机原理与应用》课件(4).ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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输出高电平,可以用语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理与应用 单片机 原理 应用 课件
限制150内