《单片机输入输出接口精.ppt》由会员分享,可在线阅读,更多相关《单片机输入输出接口精.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机输入输出接口第1页,本讲稿共42页 输入输出接口的作用输入输出接口的作用数据缓冲功能信号转换功能接受和执行CPU命令的功能51单片机具有的输入输出接口单片机具有的输入输出接口:P0、P1、P2、P34个个8位双向位双向I/O口口5.1 P0P3端口功能与内部结构端口功能与内部结构第2页,本讲稿共42页P0.0P0.7P0驱动器P2驱动器P2.0P2.7P0锁存器P2锁存器暂存1RAMRAM地址寄存器EPROMROMACC暂存2寄存器BALUSP中断、串行口及定时器模块PSW定时及控制指令寄存器程序地址寄存器DPTRPCPC加1缓冲器P1锁存器P3锁存器P1驱动器P3驱动器P1.0P1.7
2、P3.0P3.7振荡器VccVssPSENALEEARSTXTAL1 XTAL2图11 MCS51总体结构框图第3页,本讲稿共42页8051单片机的引脚单片机的引脚12345678910111213141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0/RxDP3.1/TxDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GNDVccP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7
3、EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0图图1-128031,8051,8751芯片管脚图芯片管脚图第4页,本讲稿共42页MCS-51系列单片机有四组系列单片机有四组8位并行位并行I/O口,口,记作记作P0、P1、P2和和P3。每组每组I/O口内部都有口内部都有8位数据输入缓冲器、位数据输入缓冲器、8位数据输出锁存器及位数据输出锁存器及数据输出驱动等电路。数据输出驱动等电路。四组并行四组并行I/O端口即可以按字节操作,又可以端口即可以按字节操作,又可以按位操作。当系统没有扩展外部器件时,按位操作。当系统没有扩展外部器件时,I/O端口用作双向输入输出口;
4、当系统作外部扩展端口用作双向输入输出口;当系统作外部扩展时,使用时,使用P0、P2口作系统地址和数据总线、口作系统地址和数据总线、P3口有第二功能,与口有第二功能,与MCS-51的内部功能器的内部功能器件配合使用。件配合使用。第5页,本讲稿共42页P0口:地址(低口:地址(低8位)位)/数据时分复用口数据时分复用口普通普通I/O口口P1口:普通口:普通I/O口口P2口:地址(高口:地址(高8位)位)普通普通I/O口口5.1.1 端口功能端口功能第6页,本讲稿共42页P3口是一个双功能口是一个双功能I/O口口1.普通普通I/O口口2.第二功能口第二功能口P3口的每一位都具有第二功能。口的每一位都
5、具有第二功能。P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0RDWRT1T0INT1INT0TxDRxD P3口的第二功能大多与其内部功能部件有关,口的第二功能大多与其内部功能部件有关,RD、WR是外部数据存储器的写、读控制信号。是外部数据存储器的写、读控制信号。第7页,本讲稿共42页8XX51单片机扩展程序存储器单片机扩展程序存储器2732的电路图见图的电路图见图 第8页,本讲稿共42页P0口图图15P0口的位结构口的位结构第9页,本讲稿共42页P0口有两种用途:口有两种用途:1.普通普通I/O端口端口当单片机系统没有扩展外部芯片时,当单片机系统没有扩展外部芯片时,P0口用
6、作双口用作双向输入输出端口。这时图中多路开关的控制信号向输入输出端口。这时图中多路开关的控制信号为低电平,输出与锁存器的反向输出端相连,同为低电平,输出与锁存器的反向输出端相连,同时上面的场效应管由于与门输出为低电平而截止。时上面的场效应管由于与门输出为低电平而截止。作输出时:作输出时:输出输出0时时,将,将0输出到内部总线上,输出到内部总线上,在写锁存器信号控制下写入锁存器,锁存器的反向在写锁存器信号控制下写入锁存器,锁存器的反向输出端输出输出端输出1,下面的场效应管导通,输出引脚成,下面的场效应管导通,输出引脚成低电平。低电平。输出输出1时时,下面的场效应管截止,上面的,下面的场效应管截止
7、,上面的场效应管也是截止状态,输出引脚成高阻态,不场效应管也是截止状态,输出引脚成高阻态,不是希望的是希望的1状态,这时,必须状态,这时,必须外加上拉电阻外加上拉电阻第10页,本讲稿共42页作输入时:作输入时:P0端口引脚信号通过一个输入端口引脚信号通过一个输入三态缓冲器接入内部总线,再读引脚信号控制三态缓冲器接入内部总线,再读引脚信号控制下,引脚电平出现在内部总线上。为了能读到下,引脚电平出现在内部总线上。为了能读到真实的引脚信号,下面的场效应管必须截止,真实的引脚信号,下面的场效应管必须截止,即锁存器的内容必须是即锁存器的内容必须是1。为了能正确读取引。为了能正确读取引脚信号,脚信号,锁存
8、器必须先写锁存器必须先写1,因而,因而P0口是一个口是一个准双向口。准双向口。(读引脚读引脚)在图的左上方有一个三态缓冲器,是为了在图的左上方有一个三态缓冲器,是为了读取锁存器内容而设。如指令读取锁存器内容而设。如指令:P0=P0|0XF0;将将P0口的输出状态与口的输出状态与0XF0按位或后再输出到按位或后再输出到P0口,这里读的数据口,这里读的数据是是P0口锁存器的内容,运算结果又写入到口锁存器的内容,运算结果又写入到P0口锁存器。口锁存器。(读锁存器读锁存器)第11页,本讲稿共42页2.地址地址/数据复用总线数据复用总线 当单片机系统进行存储器、当单片机系统进行存储器、I/O口或其它功能
9、扩展口或其它功能扩展时,时,P0口要用作系统总线。在口要用作系统总线。在P0口上分时输出目标口上分时输出目标地址的低地址的低8位和要交换的字节数据。位和要交换的字节数据。用作地址用作地址/数据复用总线时,多路开关的控制信号为数据复用总线时,多路开关的控制信号为1,输出与上方的地址,输出与上方的地址/数据线反向器的输出相连,数据线反向器的输出相连,由于控制信号为由于控制信号为1,上面的场效应管受地址,上面的场效应管受地址/数据信数据信号控制,与下面的场效应管成为推挽输出形态。外号控制,与下面的场效应管成为推挽输出形态。外部不再需要上拉电阻,部不再需要上拉电阻,P0口为真正的双向口为真正的双向I/
10、O口。口。操作过程:假如要读外部程序存储器中操作过程:假如要读外部程序存储器中0 x1245单单元的指令,首先从元的指令,首先从P0口输出口输出45H,P2口输出口输出12H,控控制器输出制器输出ALE地址锁存信号,再发出指令输出允许信号地址锁存信号,再发出指令输出允许信号PSEN,外部程序存储器外部程序存储器0 x1245单元的内容出现在总单元的内容出现在总线上,由线上,由CPU读入程序指令寄存器,译码执行。读入程序指令寄存器,译码执行。第12页,本讲稿共42页P1口图图18P1口的位结构口的位结构第13页,本讲稿共42页P2口图16 P2口的位结构口的位结构第14页,本讲稿共42页P2口也
11、有两种使用方式口也有两种使用方式1.做普通做普通I/O口口这时,控制信号将驱动场效应管的反向器的输入与这时,控制信号将驱动场效应管的反向器的输入与P2口输出锁存器的口输出锁存器的Q端相连。当作输出时与端相连。当作输出时与P0口类似,但口类似,但P2口内部有上拉电阻,不需外接。当输入使用时,输口内部有上拉电阻,不需外接。当输入使用时,输出锁存器也必须写出锁存器也必须写1。所以,。所以,P2口也是一个准双向口也是一个准双向I/O口。口。2.作地址总线作地址总线当单片机系统进行存储器、当单片机系统进行存储器、I/O口或其它功能扩展口或其它功能扩展时,时,P2口要用作地址总线,输出目标地址的高口要用作
12、地址总线,输出目标地址的高8位。这时位。这时控制信号将驱动场效应管的反向器的输入与地址线相连。控制信号将驱动场效应管的反向器的输入与地址线相连。P2口没有复用要求,所以外部不需地址锁存器。口没有复用要求,所以外部不需地址锁存器。应当注意:当应当注意:当P2P2口的几位作地址线使用时,剩下的口的几位作地址线使用时,剩下的P2P2口线不口线不能作能作I/OI/O口线使用。口线使用。第15页,本讲稿共42页P3口P3.X图17 P3口的位结构口的位结构第16页,本讲稿共42页P3口是一个双功能口是一个双功能I/O口口若不设定自动处于第一功能若不设定自动处于第一功能1.普通普通I/O口口作普通作普通I
13、/O口时,选择输出功能端为高电平,场效应管口时,选择输出功能端为高电平,场效应管受输出锁存器的控制,是一个准双向受输出锁存器的控制,是一个准双向I/O口。口。2.第二功能口第二功能口P3口的每一位都具有第二功能。口的每一位都具有第二功能。P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0RDWRT1T0INT1INT0TxDRxD第17页,本讲稿共42页归纳四个并行口使用的注意事项如下:归纳四个并行口使用的注意事项如下:1 1。如果单片机内部有程序存贮器,不需要扩展外如果单片机内部有程序存贮器,不需要扩展外部存贮器和部存贮器和I/OI/O接口,单片机的四个口均可作接口,单片机的四
14、个口均可作I/OI/O口使用。口使用。2 2。四个口在作输入口使用时,均应先对其写四个口在作输入口使用时,均应先对其写“1 1”,以避免误读。,以避免误读。3 3。P0P0口作口作I/OI/O口使用时应外接口使用时应外接1010K K的上拉电阻,其的上拉电阻,其它口则可不必。它口则可不必。4 4。P2P2可某几根线作地址使用时,剩下的线不能作可某几根线作地址使用时,剩下的线不能作I/OI/O口线使用。口线使用。5 5。P3P3口的某些口线作第二功能时,剩下的口线可口的某些口线作第二功能时,剩下的口线可以单独作以单独作I/OI/O口线使用。口线使用。第18页,本讲稿共42页5.2 编程举例例5.
15、1例5.2include“reg51.h”main()P1=0 xff;while(1)P1=P14;P1P1|0 x0f;第19页,本讲稿共42页LED正偏时才能发亮,按电路接法,正偏时才能发亮,按电路接法,当当P1.0输出输出“1”,LED正偏而发亮,当正偏而发亮,当P1.0输出输出“0”,LED的两端的两端电压为电压为0而熄灭。而熄灭。LEDLED+5 5V VVccVcc-EAEARSTRST1010uF uF 1 1K KP1.0P1.08989S51S51P1.1P1.11 1K K3030P P3030P PXTAL1XTAL1XTAL2XTAL2GNDGND8989C51C51
16、+5 5V VVccVcc-EAEARSTRST1010uF uF 1 1K KP1.0P1.08989S51S51+5+5V VP1.1P1.11 1K K3030P P3030P PXTAL1XTAL1XTAL2XTAL2GNDGND8989C51C51K K第20页,本讲稿共42页 例例5-2.5-2.在图在图5.35.3中中P1.4P1.4P1.7P1.7接四个发光二接四个发光二极管极管LED,P1.0LED,P1.0P1.3P1.3接四个开关,编程将开关接四个开关,编程将开关的状态反映到发光二极管上。的状态反映到发光二极管上。8989C51/89S51C51/89S51P1.0P1.
17、0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5+5V V+5+5V V1 1K4K4330330 44EA第21页,本讲稿共42页 例例3.3.用用P1.0P1.0输出输出1 1KHzKHz的音频信号驱动扬声的音频信号驱动扬声器,作报警信号,器,作报警信号,P1.7P1.7接一开关进行控制,当接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停开关合上响报警信号,当开关断开告警信号停止,编出程序。止,编出程序。第22页,本讲稿共42页5.3 I/O口设计LED数码显示器和键盘LED显示器结构与原理显示器结构与原理L
18、ED显显示示器器是是由由发发光光二二极极管管显显示示字字段段的的显显示示器器件件。在在单单片片机机应应用用系系统统中中通通常常使使用用的的是是七七段段LED,这这种种显显示示器器有有共共阴阴极极与与共共阳阳极极两两种。种。第23页,本讲稿共42页。afbegcddp12345109876 gfab edcdp(a)共阴极共阴极(b)共阳极共阳极(c)管脚配置管脚配置图图LED显示器显示器(a)共阴极共阴极LED显示器的发光二极管阴极共地,当某个发光二极显示器的发光二极管阴极共地,当某个发光二极管的阳极为高电平时,该发光二极管则点亮;管的阳极为高电平时,该发光二极管则点亮;(b)共阳极共阳极LE
19、D显示器的发光二极管阳极并接。显示器的发光二极管阳极并接。第24页,本讲稿共42页七段显示器与单片机接口:只要将一个七段显示器与单片机接口:只要将一个8位并行输位并行输出口与显示器的发光二极管引脚相连即可。出口与显示器的发光二极管引脚相连即可。8位并行输位并行输出口输出不同的字节数据即可获得不同的数字或字符,出口输出不同的字节数据即可获得不同的数字或字符,如下表所示。通常将控制发光二极管的如下表所示。通常将控制发光二极管的8位字节数据称位字节数据称为为段选码段选码。显示字符显示字符共阴段选码共阴段选码 共阳段选码共阳段选码显示字符显示字符共阴段选码共阴段选码 共阳段选码共阳段选码03FHC0H
20、87FH80H106HF9H96FH90H25BHA4HA77H88H34FHB0HB7CH83H466H99HC39HC6H56DH92HD5EHA1H67DH82HE79H86H707HF8HF71H8EH第25页,本讲稿共42页LED显示器与显示方式显示器与显示方式N位位LED显显示示器器有有N根根位位选选线线和和8N根根段段选选线线。根根据据显显示示方方式式不不同同,位位选选线线与与段段选选线线的的连连接接方方法法不不同同。段段选选线线控控制制字字符符选选择择,位位选选线线控控制制显显示示位位的亮、灭的亮、灭。IO口段选控制口段选控制abcdefgdpabcdefgdpabcdefgd
21、pabcdefgdpabcdefgdpIO口位选控制口位选控制图图N位位LED显示器显示器第26页,本讲稿共42页LED显示器有静态显示与动态显示两种方式。显示器有静态显示与动态显示两种方式。(1)LED静态显示方式静态显示方式各位各位LED的位选线连在一起接地或接的位选线连在一起接地或接+5V;每位每位LED的段选线(的段选线(adp)各与一个八位并行口相连。各与一个八位并行口相连。在同一时间里每一位显示的字符可以各不相同在同一时间里每一位显示的字符可以各不相同。GND/+5VIO(1)GND/+5VIO(2)GND/+5VIO(3)GND/+5VIO(4)GND/+5V图图四位静态四位静态
22、LED显示器电路显示器电路第27页,本讲稿共42页 (2)LED动态显示方式动态显示方式将将所所有有LED的的段段选选线线并并联联在在一一起起,由由一一个个八八位位IO口口控控制制,而而位位选选线线分分别别由由相相应应的的IO口口线线控控制制。如如:8位位LED动动态态显显示示电电路路只只需需要要两两个个八八位位IO口口。其其中中一一个个控控制制段段选选码码,另另一一个个控控制制位位选选。动动态态显显示示三三部曲部曲I/O(1)I/O(2)D7D6D5D4D3D2D1D0图图八位八位LED动态显示器电路动态显示器电路第28页,本讲稿共42页 由由于于所所有有位位的的段段选选码码皆皆由由一一个个
23、IO控控制制,因因此此,在在每每个个瞬瞬间间,8位位LED只只可可能能显显示示相相同同的的字字符符。要要想想每每位位显显示示不不同同的的字字符符,必必须须采采用用动动态态扫扫描描显显示示方方式式。即即在在每每一一瞬瞬间间只只使使某某一一位位显显示示相相应应字字符符。在在此此瞬瞬间间,位位选选控控制制IO口口在在该该显显示示位位送送入入选选通通电电平平(共共阴阴极极送送低低电电平平、共共阳阳极极送送高高电电平平)以以保保证证该该位位显显示示相相应应字字符符,段段选选控控制制IO口口输输出出相相应应字字符符段段选选码码。如如此此轮轮流流,使使每每位位显显示示该该位位应应显显示示字字符符,并并保保持
24、持延延时时一一段段时时间间,以以造造成成视视觉觉暂暂留留效效果果。不不断断循循环环送送出出相相应应的的段段选选码码、位位选选码码,就就可可以以获获得得视视觉觉稳稳定定的的显显示示状状态态。由由人人眼眼的的视视觉觉特特性性,每每一一位位LED在在一秒钟内点亮不少于一秒钟内点亮不少于30次,其效果和一直点亮相差不多。次,其效果和一直点亮相差不多。第29页,本讲稿共42页LED灯的判别第30页,本讲稿共42页第31页,本讲稿共42页 例如图例如图5.5是接有五个共阴极数码管的动态是接有五个共阴极数码管的动态显示接口电路,用显示接口电路,用74LS373接成直通的方式作接成直通的方式作驱动驱动 电路,
25、阴极用非门电路,阴极用非门74LS04反相门驱动,字反相门驱动,字形选择由形选择由P1口提供,位选择由口提供,位选择由P3口控制。口控制。当当P3.0P3.4轮流输出轮流输出1时,五个数码管时,五个数码管轮流显示。轮流显示。P1.7接开关,当开关打向位置接开关,当开关打向位置“1”时,时,显示显示“12345”字样,当开关打向字样,当开关打向“2”时,显示时,显示“HELLO”字样,程序清单如下:字样,程序清单如下:第32页,本讲稿共42页第33页,本讲稿共42页用用C C语言完成上述功能编程语言完成上述功能编程#include#define uint unsigned int#define
26、uchar unsigned charsbit P17=P17;main()uchar code tab15=0 x86,0 xdb,0 xcf,0 xe6,0 xed;/*“15”的字的字 形码,形码,因因P1.7接的开关,最高位送接的开关,最高位送“1”*/uchar code tab25=0 xf8,0 xf9,0 xb8,0 xb8,0 xbf;/*“HELLO”的段码,的段码,最高位送最高位送“1”*/第34页,本讲稿共42页uchar i;uint j;while(1)P3=0 x01;for(i=0;i5;i+)if(P17=1)P1=tab1i;else P1=tab2i;P3
27、=1;for(j=0;j=25000;j+);课本习题课本习题5.8 *关于液晶显示关于液晶显示第35页,本讲稿共42页键盘输入键盘输入键键盘盘是是单单片片机机系系统统中中通通用用的的输输入入设设备备,用用于于向向系系统统输输入入数数据据或或控控制制信信息息。键键盘盘中中一一般般矩矩阵阵式式(行行列列式式)键键盘盘用用得得较较多多,适适用用于于按按键数量较多的场合。键数量较多的场合。矩矩阵阵式式键键盘盘由由行行线线和和列列线线组组成成,按按键键位位于于行行线线、列列线线的的交交叉叉点点上上。当当键键被被按按下下,则则其其交交点点的的行行线线和和列列线线接接通通。行行和和列列可可分分别用两个别用
28、两个I/O口来控制。口来控制。D7D6D5D4D3D2D1D0I/O接口接口+5V第36页,本讲稿共42页1.判断是否有键按下判断是否有键按下原理:行线通过上拉电阻接原理:行线通过上拉电阻接5V上上(1)平时无按键动作时,行线处于高电平状态;)平时无按键动作时,行线处于高电平状态;(2)若有键按下,行线状态将由与行线相连的列线电平决定。)若有键按下,行线状态将由与行线相连的列线电平决定。步骤:步骤:(1)先使所有列线为低电平(先使所有列线为低电平(IO输出输出0)(2)读行线状态(输入口)读行线状态(输入口)当无键按下时,所有行线为高电平,即读到当无键按下时,所有行线为高电平,即读到“全全1”
29、数据;数据;当有某键按下时,总会有一根行线为低电平,即读到的数当有某键按下时,总会有一根行线为低电平,即读到的数据不全为据不全为“1”。D7D6D5D4D3D2D1D0I/O接口接口+5V第37页,本讲稿共42页2.按键的识别(识别键的行列位置)按键的识别(识别键的行列位置)(1)扫描法)扫描法a.依次给每一根列(行)线送低电平;依次给每一根列(行)线送低电平;b.读所有行线状态读所有行线状态若全为若全为1,则所按下之键不在此低电平列上;,则所按下之键不在此低电平列上;若不全为若不全为1(有一根为(有一根为0),则按键在现有低电平行),则按键在现有低电平行与低电平列的交叉处。与低电平列的交叉处
30、。D7D6D5D4D3D2D1D0I/O接口接口+5V第38页,本讲稿共42页(2)反转法反转法a.将行线接一并口,做输出方式;列线接一并口,做输入方式。将行线接一并口,做输出方式;列线接一并口,做输入方式。使所有行线为低电平(送全使所有行线为低电平(送全“0”),读入列线值,为),读入列线值,为“0”的那列,的那列,即按键所在列;即按键所在列;b.反过来,使行线做输入方式,列线做输出方式。将刚读到的反过来,使行线做输入方式,列线做输出方式。将刚读到的列线值输出,然后读行线值,为列线值输出,然后读行线值,为“0”的那行,即按键所在行。的那行,即按键所在行。(0)D7(0)D6(0)D5(0)D
31、4(1)D3(1)D2(0)D1(1)D0I/O接口接口+5V+5V+5V(1)D7(0)D6(1)D5(1)D4(0)D3(0)D2(0)D1(0)D0I/O接口接口+5V+5V+5V(0)(0)(0)(0)(1)(1)(1)(1)(1)(1)(1)(1)(0)(0)(0)(0)第39页,本讲稿共42页P1=0 x0f;while(P1=0 x0f);/判断有无按键判断有无按键if(P1!=0 x0f)delay();/消抖消抖 P1=0 x0f;m=P1;P1=0 xf0;n=P1;mn=m|n;switch(mn)case 0 xee:break;case 0 xed:break;cas
32、e 0 xeb:。第40页,本讲稿共42页3.按键抖动的消除按键抖动的消除按按键键或或键键盘盘都都是是一一个个机机械械开开关关,键键的的按按下下和和放放开开是是利利用用机机械械触触点点的的闭闭合合和和断断开开来来实实现现的的。由由于于机机械械触触点点的的弹弹性性作作用用,一一个个按按键键开开关关在在闭闭合合及及断断开开瞬瞬间间均均有有一一连连串串的的抖抖动动,抖抖动动的的时时间间长长短短由由按按键键的的机机械械特特性性决决定定,一一般般为为510ms。为为了了确确保保按按键键动动作作只只确确认认一一次次,必必须须消消除除抖抖动动的影响。的影响。消除抖动的措施有硬、软件两种。消除抖动的措施有硬、软件两种。硬件:可用硬件:可用RS触发器或单稳态电路消除抖动。触发器或单稳态电路消除抖动。软软件件:在在判判断断有有键键按按下下后后,延延时时10ms后后,再再确确定定该该键键是是否否保保持持闭闭合合状状态态,若若是是则则确确认认为为被被按按键键,否否则则忽忽略略此此次按键。次按键。第41页,本讲稿共42页P101 图5-9第42页,本讲稿共42页