《单片机输入和输出 优秀课件.ppt》由会员分享,可在线阅读,更多相关《单片机输入和输出 优秀课件.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机输入和输出 第1页,本讲稿共30页7.1.2 I/O接口的构成 一个典型的I/O接口如图所示。其中有数据端口、状态端口和控制端口。CPU通过这些端口与外部设备之间进行信息的传送。通常将信息按各自的作用分成以下三种。第2页,本讲稿共30页1.数据信息数据信息是最基本的一种信息,按其数据的表示形式又可以分为以下几种。(1)数字量用8位二进制数或是以ASCII码表示的数据或字符。开关量是表示两个状态的量,实际上它可表示为一位或多位二进制数字量。脉冲量也是一种数字量,计数脉冲、定时脉冲等在计算机控制系统中也很常见。(2)模拟量 当微型机用于控制、检测或数据采集时大量的现场信息是连续变化的物理量(
2、如温度、压力、流量位移等)这些物理量经过传感器变换成电量,并经放大得到模拟电压或电流这些模拟量必须再经过AD转换后把它们变成数字量才能输入计算机。计算机的输出也必须先经过DA转换,把数字量变成模拟量后再控制执行机构。第3页,本讲稿共30页2.状态信息输入设备的“准备就绪”,输出设备的“忙”信号等。CPU根据外设的状态,决定是否输入或输出数据。3控制信息控制信息是在传选过程中CPU发送给外设的命令用于控制外设的工作。例如,控制设备的起停第4页,本讲稿共30页7.1.3I/O端口的地址分配首先清楚首先清楚I/O接口接口(Interface)和)和I/O端口端口(Port)的概念。)的概念。一个一个
3、I/O接口芯片可以有多个接口芯片可以有多个I/O端口,端口,(1)数据口数据口(2)控制口控制口(3)状态口状态口I/O端口编址两种方式端口编址两种方式:独立编址独立编址与与统一编址统一编址。1独立编址方式独立编址方式I/O寄存器地址空间和存储器地址空间寄存器地址空间和存储器地址空间分开编址分开编址,但需专门读写但需专门读写I/O的指令和控制信号。的指令和控制信号。2统一编址方式统一编址方式I/O寄存器与数据存储器单元同等对待寄存器与数据存储器单元同等对待,统一编址。,统一编址。不需要专门的不需要专门的I/O指令,直接使用访问数据存储器的指指令,直接使用访问数据存储器的指令进行令进行I/O操作
4、,简单、方便且功能强。操作,简单、方便且功能强。MCS-51使用统一编址的方式使用统一编址的方式每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。单元。第5页,本讲稿共30页扩展扩展I/O口与外部口与外部RAM统一编址统一编址使用同样的指令使用同样的指令MOVX访问访问注意控制总线注意控制总线RD/WR的接法的接法第6页,本讲稿共30页7.2 微型机与外设之间的数据传送方式微型机与外设之间的数据传送方式微型机与外设之间的数据传送方式可归纳为三种:程序传送、中断传送和微型机与外设之间的数据传送方式可归纳为三种:程序传送、中
5、断传送和DMA传送。传送。7.2.1 程序传送程序传送 不是传送程序不是传送程序程序传送,是指程序传送,是指CPU与外设之间的与外设之间的数据传送在程序控制下进行数据传送在程序控制下进行的一种方式,的一种方式,它又分为无条件传送和条件传送两种。它又分为无条件传送和条件传送两种。1.同步传送方式同步传送方式(无条件传送)(无条件传送)当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。步传送就是单片机和外部数据存储器之间的数据传送。适用于对适用于对简单的简单的I/O设备设备
6、(如开关、(如开关、LED显示器、继电器等)的操作,或者显示器、继电器等)的操作,或者I/O设备的定时固定或已知的场合。设备的定时固定或已知的场合。2.查询传送方式查询传送方式(条件传送,异步式传送)(条件传送,异步式传送)查询外设查询外设“准备好准备好”后,再进行数据传送。后,再进行数据传送。优点:优点:通用性好,硬件连线和查询程序十分简单,通用性好,硬件连线和查询程序十分简单,缺点:缺点:效率不高。效率不高。为提高效率,通常采用中断传送方式。为提高效率,通常采用中断传送方式。第7页,本讲稿共30页7.2.2 中断传送中断传送外设准备好后,发中断请求,单片机进入与外设数外设准备好后,发中断请
7、求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。完成后又返回主程序继续执行。工作效率高。7.2.3 直接存储器存取传送(直接存储器存取传送(DMADirect Memory Access)是一种由专门的硬件是一种由专门的硬件DMA控制器(控制器(DMAC)来控制的传送方式。)来控制的传送方式。在在DMAC的控制下,的控制下,外设接口可直接与内存进行高速的数据传送,而外设接口可直接与内存进行高速的数据传送,而不必经过不必经过CPU,于是进行传送时就不必作保护现场,恢复现场之类的于是进行传送时
8、就不必作保护现场,恢复现场之类的额外操作。额外操作。DMA方式主要是通过硬件来实现的,因而传送速率很高,方式主要是通过硬件来实现的,因而传送速率很高,数据传送的速度基本上取决于外设和存储器的速度。数据传送的速度基本上取决于外设和存储器的速度。DMA方式特别适方式特别适用于大批量数据的高速传送。用于大批量数据的高速传送。第8页,本讲稿共30页7.3 MCS51的并行I/O口单片机总共有P0、P1、P2、P3四个8位双向输入输出端口,每个端口都有锁存器、输出驱动器和输入缓冲器。4个I/O端口都能作输入输出口用,其中P0和P2通常用于对外部存储器的访问,P3口具有双功能真正用作真正用作I/O口线的口
9、线的只有只有P1口的口的8位位I/O线和线和P3口的某些位线口的某些位线。P0是真正的双向是真正的双向I/O口口P1、P2、P3是准双向是准双向I/O口口第9页,本讲稿共30页7.4 MCS51并行口的扩展并行口的扩展真正用作真正用作I/O口线的口线的只有只有P1口的口的8位位I/O线和线和P3口的某些位线口的某些位线。在多数应用系统中,在多数应用系统中,MCS-51单片机都需要外扩单片机都需要外扩I/O接口电路。接口电路。7.4.1 用用TTL芯片扩展芯片扩展并行并行I/O口口7.4.1.1总线扩展法总线扩展法TTL芯片常用的芯片常用的有:有:373,273,244,245等,等,一般扩展一
10、般扩展P0口口第10页,本讲稿共30页因为因为74LS273和和74LS244都是在都是在P2.0为为0时被选通时被选通,所以二者地址都可以为所以二者地址都可以为FEFFHFEFFH。两个芯片的地址虽然相同两个芯片的地址虽然相同,但可以通过读写操作来区别但可以通过读写操作来区别编程应用如下:编程应用如下:微型机与外设之间的数据传送方式为程序传送的同步传送方式同步传送方式(无条件传送)(无条件传送)MOV DPTR,#0FEFFH ;指向口地址;指向口地址MOVX A,DPTR ;指向指向74LS244读入数据,检测按键读入数据,检测按键MOVX DPTR,A ;指向;指向74LS273输出数据
11、,驱动输出数据,驱动LEDSJMP$当当P2.0=0,WR*=0(RD*=)选中写选中写74LS273,8031通过通过P0口输出数据到口输出数据到74LS273,当当P2.0=0,RD*=0(WR*=1)时选中读时选中读74LS244,某开某开关按下时则对应位输入为关按下时则对应位输入为“0”。第11页,本讲稿共30页7.4.1.2 串行口扩展法串行口扩展法7.4.1.2 串行口扩展法串行口扩展法利用利用74LS164扩展二个扩展二个8位并行输出口位并行输出口的接口电路。的接口电路。第12页,本讲稿共30页例例 编写将内部编写将内部RAM单元单元30H、31H的内容经串行口的内容经串行口 由
12、由74LS164并行输出的子程序。并行输出的子程序。START:MOV R7,#02H;设置要发送的字节个数;设置要发送的字节个数 MOV R0,#30H;设置地址指针;设置地址指针 MOV SCON,#00H ;设置串行口为方式;设置串行口为方式0SEND:MOV A,R0 MOV SBUF,A ;启动串行口发送过程;启动串行口发送过程WAIT:JNB TI,WAIT;1帧数据未发完,循环等待帧数据未发完,循环等待 CLR TI INC R0;取下一个数;取下一个数 DJNZ R7,SEND;未完,发完从子程序返回;未完,发完从子程序返回 RET第13页,本讲稿共30页7.4.2 用用825
13、5A可编程器件扩展并行接口可编程器件扩展并行接口7.4.2.1 8255A芯片内部结构芯片内部结构8255A是是Intel公司公司生产的生产的可编程可编程并行并行I/O接口芯片,具接口芯片,具有有3个个8位的并行位的并行I/O口,口,3种工作方种工作方式式,可通过编程改,可通过编程改变其功能,因而变其功能,因而使使用灵活方便,通用用灵活方便,通用性强性强。第14页,本讲稿共30页7.4.2.2 8255A引脚说明引脚说明40只引脚,双列直插式封装,引脚功能如下:只引脚,双列直插式封装,引脚功能如下:1.数据线数据线D7D0:三态双向数据线,与单片机数据总线连接三态双向数据线,与单片机数据总线连
14、接PA7PA0:A口输入口输入/输出线。输出线。PB7PB0:B口输入口输入/输出线。输出线。PC7PC0:C口输入口输入/输出线。输出线。2.寻址线寻址线CS*:片选信号线,低电平有效,表示本芯片被选中片选信号线,低电平有效,表示本芯片被选中A1、A0:地址线,用来选择地址线,用来选择8255A内部的内部的4个端口。个端口。当当CS*=0,A1和和A0的的4种组合种组合 00,01,10,11分别选择分别选择A、B、C口和控制寄存器口和控制寄存器3.控制线控制线RD*:读出信号线,控制读出信号线,控制8255A中数据的读出高中数据的读出高WR*:写入信号线,控制向写入信号线,控制向8255A
15、数据的写入。数据的写入。第15页,本讲稿共30页A1A1A0A0RDRD*WRWR*CSCS*工作状态工作状态0 00 00 01 10 0读端口读端口A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线 读端口读端口C C:C C口数据口数据数据总线数据总线0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0写端口写端口A A:总线数据:总线数据A A口口写端口写端口B B:总线数据:总线数据B B口口写端口写端口C C:总线数据:总线数据C C口口写控制字:总线数据写控制字:总线数据控制字控制字寄存器寄存器0
16、 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1数据总线为三态数据总线为三态1 11 10 01 10 0非法状态非法状态1 11 10 0数据总线为三态数据总线为三态第16页,本讲稿共30页7.4.2.3 8255A的工作方式的工作方式8255A有三种工作方式:有三种工作方式:(1)方式方式0:基本输入输出;基本输入输出;(2)方式方式1:选通输入输出;选通输入输出;(3)方式方式2:双向传送(仅双向传送(仅A口有)。口有)。1.工作方式选择控制字工作方式选择控制字三种工作方式由方式控制字来决定。三种工作方式由方式控制字来决定。控制字格式如下。控
17、制字格式如下。例例 8255A端口地址为端口地址为FFF0HFFF3HMOVDPTR,#0FFF3HMOVA,#10010000B ;置;置A口方式口方式0输入,输入,B口方式口方式0输出。输出。MOVXDPTR,A第17页,本讲稿共30页例例7.4.1 8255A的接口电路如图示,的接口电路如图示,A口味输入端口,接有口味输入端口,接有4个开关,个开关,B口输出端口输出端口,通过缓冲器接有一个七段口,通过缓冲器接有一个七段LED。要求显示器显示开关接通的数字。要求显示器显示开关接通的数字。第18页,本讲稿共30页LJMP1000HORG1000HMOVDPTR,#0FFF3HMOVA,#10
18、000010BMOVXDPTR,Astar:MOVDPTR,#0FF1HMOVXA,DPTRCPLAANLA,#0FHMOVDPTR,#SEGTABMOVCA,A+DPTRMOVDPTR,#0FF0HMOVXDPTR,ASJMPstarSEGTAB:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H DB 88H,83H,0C6H,0A1H,86H DB 8EHEND第19页,本讲稿共30页7.4.3 用用 8155可编程可编程I/O扩展芯片扩展芯片1.8155的内部结构的内部结构第20页,本讲稿共30页2.8155H的引脚功能的引脚功能(1)
19、AD7AD0(8条)条)(2)I/O总线总线(22条)条)(3)控制总线()控制总线(8条)条)RESET:复位输入线复位输入线 CE*和和IO/M*RD*和和WR*ALE:地址锁存允许地址锁存允许 TIMERIN和和TIMEROUT*:(4)电源线()电源线(2条)条)Vcc:+5V电源电源 Vss:地地第21页,本讲稿共30页8155各端口地址分配各端口地址分配CECE*IO/MIO/M*A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0所选的端口所选的端口0 01 10 00 00 0命令命令/状态寄存器状态寄存器0 01 10 00 01 1A A口口0 01 10 01
20、 10 0B B口口0 01 10 01 11 1C C口口0 01 11 10 00 0计数器低计数器低8 8位位0 01 11 10 01 1计数器高计数器高6 6位位0 00 0RAMRAM单元单元第22页,本讲稿共30页7.4.3.2 8155的工作方式的工作方式1.存储器方式存储器方式对片内对片内RAM单元进行读写,若单元进行读写,若IO/M*=0和和CE*=0,则,则通过通过AD7AD0上的地址对上的地址对RAM存储器任一单元读写。存储器任一单元读写。2.I/O方式方式8155的的I/O方式分为方式分为基本基本I/O和和选通选通I/O两种工作两种工作方式。可对片内任一寄存器读写,方
21、式。可对片内任一寄存器读写,端口地址由端口地址由A2、A1、A0三位决定(见表)三位决定(见表)第23页,本讲稿共30页(1)基本)基本I/O方式方式(2)选通)选通I/O方式方式 (见右图)见右图)第24页,本讲稿共30页3.内部定时器内部定时器/计数器及使用计数器及使用14位的减位的减1定时器定时器/计数器计数器,计数长度计数长度和和计数方式计数方式由写入计数寄存器的控制字来确定。由写入计数寄存器的控制字来确定。计数器的两个寄存器的格式如图计数器的两个寄存器的格式如图第25页,本讲稿共30页T13T0:计数器长度计数器长度M2、M1:设置定时器的设置定时器的4种工作方式种工作方式4种工作方
22、式及相应输出波形种工作方式及相应输出波形第26页,本讲稿共30页7.4.3.3 MCS-51与与8155接口及软件编程接口及软件编程1.MCS-51与与8155H的硬件接口电路的硬件接口电路第27页,本讲稿共30页2.8155H的编程举例的编程举例(1)初始化程序设计初始化程序设计例例 若若A口定义为基本输入方式,口定义为基本输入方式,B口定义为基本输出方口定义为基本输出方 式,对输入时钟脉冲进行式,对输入时钟脉冲进行24分频,初始化程序如下:分频,初始化程序如下:START:MOV DPTR,7F04H;指针指向定时器低;指针指向定时器低8位位MOV A,18H ;计数初值;计数初值24送送A,MOVX DPTR,A ;计数初值低;计数初值低8位装入定时器位装入定时器INC DPTR ;指针指向定时器高;指针指向定时器高8位位MOV A,40H ;设定时器连续方波输出;设定时器连续方波输出MOVX DPTR,A ;计数初值高;计数初值高6位装入定时器位装入定时器MOV DPTR,7F00H ;指向命令;指向命令/状态口状态口MOV A,#0C2H ;设定命令控制字;设定命令控制字MOVX DPTR,A ;A口输入,口输入,B口输出口输出,开定时器开定时器第28页,本讲稿共30页8155的命令字的命令字第29页,本讲稿共30页第30页,本讲稿共30页