MCS51单片机的输入输出通道接口与中断PPT.ppt
《MCS51单片机的输入输出通道接口与中断PPT.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机的输入输出通道接口与中断PPT.ppt(134页珍藏版)》请在三一办公上搜索。
1、第5章 MCS-51单片机的输入/输出与中断,计算机基本输入/输出接口概述,计算机在实际应用中,程序、数据或从现场采集到的各种信号要通过输入设备送到计算机中去处理。计算机处理后的结果或各种控制信号要输出到输出装置或执行机构,以便显示、打印或实现各种控制动作。常用的输入装置有键盘和各种现场采集装置;输出装置有打印机、显示器和现场执行机构。,输入通道(前向通道):被测对象与单片机联系的信号通道。包括传感器或敏感元件、通道结构、信号调节、A/D转换、电源的配置、抗干扰等。输出通道(后向通道):单片机与被控对象联系的信号通道。包括功率驱动、干扰的抑制、D/A转换等。,输入/输出通道简介,计算机与外围设
2、备间传送三种信息:数据信息、状态信息和控制信息。如计算机与打印机接口时,首先计算机将待打印的字符代码(数据信息)送入电路锁存,同时通过I/O电路送出控制信息启动打印机接收字符代码并打印一行字符。打印完后,打印机要通过I/O电路向计算机发出打印机“空闲”的状态信息,要求计算机再次输出数据。,5,定义 I/O接口是位于系统与外设之间、用来协助完成数据传送和控制任务的逻辑电路。即:把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。PC机系统板的可编程接口芯片、I/O总线槽的电路板(适配器)都是接口电路,不同I/O设备对应I/O接口不同。,I/O接口受CPU控制,I/O设备受I/O
3、接口控制。,为增加通用性,I/O接口电路通常均具有可编程功能。,微机系统的应用与外设接口的设计、选用和连接。,I/O设备种类:有电子式、机械式及其它各种形式。速度差异:有秒级、毫秒级、微秒级信号类型:有数字量、模拟量、开关量。数据的格式有串行、并行等。因此,外围设备一般不能与计算机直接相连,必须通过专门的中介电路接口,才能与CPU进行信息交换。,I/O接口要解决的问题速度匹配(Buffer)信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门),数据缓冲功能 缓解接口与CPU工作速度的差异,通过接口中数据缓
4、冲寄存器和锁存器实现.联络功能 通过接口中状态寄存器,了解外设的工作状态.寻址功能(I/O地址译码与设备选择)把选中的与总线相接,未选中的与总线隔离(高阻态)数据转换功能(信号电平与类型的转换)形式、格式、电平、功率、码制等转换.中断管理功能 通过接口中设置的中断控制器,实现中断I/O方式下数据传送。,I/O接口的功能,I/O接口电路的分类,按通用性分:专用接口、通用接口。专用接口:CRT显示控制器、键盘、软盘、DMA控制器等。通用接口:ISA、PCI接口,串口、并口、USB接口等。按可编程分:可编程接口、不可编程接口可编程接口:在不改动硬件的情况下,用户只要修改初始化程序就可以改变接口工作方
5、式。接口灵活性、可扩充性好。可编程接口电路要用可编程接口芯片设计。常用可编程接口有并口8255、8253,串口8250、8251,中断8259等。按与外设数据传送方式分:并行I/O接口、串行I/O接口。,I/O接口:用于连接CPU与I/O设备的所有接口统称为I/O接口。,某些通用集成电路芯片可以用作I/O接口,如74LS373、74LS165等。更大量的I/O接口芯片是专门为计算机设计的,如ADC0809、MAX232、8279等。,I/O接口电路应有以下功能:1)数据缓冲:2)信号变换:3)电平转换:4)传送控制命令和状态信息:,12,I/O接口的主要功能:同解决的问题速度匹配(Buffer
6、)信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门),14,I/O接口与I/O设备,15,简单的输入接口举例,接口电路图如下:,83FCH83FFH,译码器,16,锁存器:由D触发器构成通常一个器件包含8个D触发器常用芯片:(教材图5.5、图5.6)74LS27374LS374(具有三态输出的锁存器,内部结构见图5.8)应用例子:发光二极管接口,简单的输出接口举例,译码器,=1,=1,.,.,.,+5V,R,D0D7,CP,Q0,Q7,.,D0D7,A0A15,IOW#,74LS273,R,输入/输出的
7、编址方式,1I/O接口与存储器统一编址2I/O接口单独编址,18,数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为:无条件传送、查询传送、中断传送直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送I/O处理机CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理,19,通常分类的I/O传送方式,主机与外设之间数据传送的控制方式有以下四种:无条件传送查询式传送中断方式传送直接存储器存取(DMA,Direct Memory Access),输入/输出的工作方
8、式,1、无条件传送方式2、查询传送方式3中断传送方式4.直接数据信道传送(DMA)方式,21,无条件传送方式,适用于外设总是处于准备好状态以下外设可采用无条件传送方式:开关发光器件(如发光二极管、7段数码管、灯泡等)继电器步进电机优点:软件及硬件接口简单缺点:仅适用于简单外设,适应范围较窄,22,例:无条件输入,MOV DX,288HINAL,DX,0288H,23,例:无条件输入,MOV DX,288HINAL,DX,74LS244,+5V,10K x 8,G1 G2,CS,RD,:,D7,D0,K0,K7,24,例:无条件输出,MOV DX,288HMOV AL,BXOUT DX,AL,0
9、288H,25,例:无条件输出,MOV DX,288HMOV AL,BXOUT DX,AL,+5V,74LS373,300 x 8,LE OE,CS,WR,:,D7,D0,图5-3 查询方式输入接口电路,图54如何编程读取输入装置数据,MOV R0,#0FEH;指向状态端口TEST:MOVX A,R0;读取状态信息 JNB ACC.0,TEST;输入装置准备好吗?;D0=0继续等待 DEC R0;数据准备好,指向数据端口MOVX A,R0;读入数据,MCS-51系列单片机输入/输出端口控制,MCS-51系列单片机输入/输出概述 MCS-51系列单片机有4个8位双向并行输入/输出(I/O)端口:
10、P0、P1、P2和P3,共32位,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平)。此四个端口都可以做为单独的输入或输出使用,即每一支I/O脚位都可以做输入用,也可以做为输出使用。当做为输出时,则每一只管脚可位编程输出高电平“1”或低电平“0”驱动外部电路。,实际应用中,P0口用于输出外部存储器的低8位地址,并分时复用作为与外部存储器连接的数据总线口;P2口用于输出高8位地址;P3口常用于特殊功能寄存器。只有P1口是留给用户使用的基本I/O口,供用户使用。,MCS-51单片机输入输出(I/O)端口编程,P1口既可以做输入端口又可以做输出端口
11、。在我们所用的实验板中,P1口通过反向驱动电路ULN2003控制数码管工作。试根据实验板I/O控制端口原理图,设计通过89S51单片机的P1口控制二极管发光(要求用软件延时使其产生动态效果)。根据硬件原理,通过P1口可控制发光二极管及蜂鸣器工作。I/O口控制原理图如图5-5所示。,硬件电路分析:,图中反向驱动放大器ULN2003接发光二极管阴极,发光二极管阳极通过限流电阻接+5V电源(限流电阻的计算应以发光二极管亮度满足要求即可。电流小,亮度不够;电流大,耗电、影响二极管寿命,一般二极管电流为15mA左右)。J2为3列8行排针,排针的1、4、7、10、13、16、19接ULN2003的输入,3
12、、6、9、12、15、18、21、24为排针的中间引脚,2、5、8、11、14、17、20、23接89S51的P1口。,要由编程控制发光二极管发光,ULN2003必须输出低电平,而ULN2003的输入必须接89S51的P1口,才能通过软件编程控制二极管发光,所以应借助短路环将J2中的(1、2)、(4、5)、(7、8)、(10、11)、(19、20)短接。将J15中的(1、2)、(4、5)用短路环短接。硬件电路检测。线路接好后,用万用表电阻档检测89S51的P10、P11、P12、P13、P14、P15、P16是否与ULN2003的输入1、2、3、4、5、6、7接通。若接通,硬件电路连接正常,若
13、不通,应检查线路硬件故障,直至接通为止(注意:不能测P10、P11、P12、P13与ULN2003的输出端),软件编程分析:1)通过置位指令或字节传送指令使P10P16输出为“1”时,通过ULN2003输出为“0”,则LED亮、蜂鸣器叫;当P1口输出为“0”时,LED熄灭、蜂鸣器停。2)要让二极管发光,必使P1端口为高电平 SETB P1.0 SETB P1.1 SETB P1.2 SETB P1.3 SETB P1.4SETB P1.5SETB P1.6,或 MOV P1,#7FH,软件延时子程序:入口参数R7、R6,出口:参数 无,DELAY:MOVR7,#0FH;2usDELA0:MOV
14、R6,#20H;2usDELA1:NOP;1usDJNZ R6,DELA1;2usDJNZ R7,DELA0;2usRET;2us软件延时子程序的执行时间计算:晶振选12MHZ 2+2+(1+2)*32+2*15+2=1504 us若需要其它的延时时间可在上述程序中再加循环层或减少循环层。,37,接口电路的内部结构,1、接口硬件,数据线,控制线,状态线,DB,CB,AB,数据输入寄存器(or 三态门),数据输出寄存器(锁存器),状态寄存器(or 三态门),命令寄存器,译码电路,控制逻辑,接外设,接主机,38,接口功能,CPU与外设主要有数据、状态和控制信息需要相互交换,从应用角度看内部:数据寄
15、存器(端口地址)保存外设给CPU和CPU发往外设的数据 状态寄存器(端口地址)保存外设或接口电路的状态 控制寄存器(端口地址)保存CPU给外设或接口电路的命令(4)接口电路可含有多个端口地址,39,CPU侧引脚信号:,外设侧引脚信号:,内部控制逻辑:,根据控制寄存器、状态寄存器、总线控制信号及外设状态信号控制I/O接口的工作。,40,常见接口插槽,PS2鼠标,PS2键盘,千兆网,10/100M网卡,USB,并行口,MIDI/游戏接口,显示器接口,1394,1394a,麦克风/音箱/线入接口,串行口,41,2、接口软件(设备驱动程序),42,3、接口电路芯片的分类,接口电路通常采用中大规模、超大
16、规模集成电路接口芯片:通用接口芯片支持通用的数据I/O和控制的接口芯片如:并行接口芯片、串行接口芯片等。面向外设的专用接口芯片针对某种外设设计接口如:显示接口电路、磁盘驱动接口电路等。面向微机系统的专用接口芯片与CPU和系统配套使用,以增强其总体功能如:8259A、8237、8253、8251、8255等。,43,4、可编程接口,许多接口电路具有多种功能和工作方式,可以通过编程的方式设定。接口电路需要与系统物理连接,及编写接口软件。接口软件:1、初始化程序段:设定芯片工作方式等2、数据交换程序段:管理、控制、驱动外设,负责外设和系统间信息交换。,44,I/O端口的编址,接口电路占用的I/O端口
17、的编址可分为两种方式I/O端口单独编址I/O地址空间独立于存储地址空间如INTER系列80X86I/O端口与存储器统一编址它们共享一个地址空间如MCS-51系列单片机,45,I/O端口单独编址,优点:I/O端口的地址空间独立控制和地址译码电路相对简单专门的I/O指令使程序清晰易读缺点:I/O指令没有存储器指令丰富,内存空间,I/O空间,FFFFF,0,FFFF,注:80 x86采用I/O端口独立编址,:,:,:,46,I/O端口与存储器统一编址,优点:不需要设计专门的I/O指令I/O数据存取与存储器数据存取同样缺点:I/O端口占用存储器地址空间程序易读性差(不易分清访内存、访问外设),内存部分
18、,I/O部分,存储器空间,00000,FFFFF,47,I/O地址的译码,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点:部分译码时,通常是中间地址线不连接部分译码也有最低地址线不连接的情况每个接口电路通常只占用几个I/O地址,这时可以利用基本逻辑门电路进行地址译码除采用译码器、门电路进行译码外,I/O地址译码还经常采用可编程逻辑器件PLD为了给系统一定的选择余地,有些接口电路利用比较器、开关或跨接器等进行多组I/O地址的译码,给几个译码实例,48,逻辑门电路进行I/O地址译码,A9A8A7A6A5A2A4A3AENA1A0,74LS03,3E7H,49,I/O接口综合应用例子,
19、根据开关状态在7段数码管上显示数字或符号共阳极7段数码管结构见教材图5.10用74LS273作为输出接口,把数据送到7段数码管74LS273的地址假设为F0H用74LS244作为输入口,读入开关K0K3的状态74LS244的地址假设为F1H当开关的状态分别为00001111时,在7段数码管上对应显示0F(7段码表见下页),50,51,O1 I1O2 I2O3 I3O4 I4#E1,K0K3,+5V,GG2AG2BCBA,1,74LS244,D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7,abcdefgDP,7406,8个反相器,74LS273,Rx8,1,74LS138,D0D7
20、,IOW#,IOR#,Y0,Y1,F0H=0000 0000 1111 0000F1H=0000 0000 1111 0001,&,1,A7A4,A15A8,A3,A2,A1,A0,D0,D1,D2,D3,译码电路,52,查询传送方式,适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。CPU在与外设交换数据前必须询问外设状态:“准备好没有?”对外设的要求:应提供设备状态信息对接口的要求:需要提供状态端口优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢,53,查询方式的流程图,超时?,READY?,与外设进行数据交换,超时错,读入并测试外设状态,Y,N,Y,N,
21、传送完?,防止死循环,复位计时器,N,Y,注:多个外设时,查询流程见教材图5.15,PK,54,DMA传送方式,无条件传送、查询传送、中断传送这几种方式都是通过CPU执行程序实现的,占用了CPU资源,传送速度慢(实际上是软件传送方式,最大速度约为几十KB/秒)。为了实现高速外设与内存之间的数据交换,可采用直接存储器存取方式(DMA)。,DMA传送方式通常用来高速传送大批量的数据块。如:,硬盘和软盘I/O;,多处理机和多程序数据块传送;在图像处理中,对CRT屏幕送数据;,快速数据采集;DRAM的刷新操作。,快速通信通道I/O;,55,DMA传送:外设 内存外设直接与存储器进行数据交换,CPU不再
22、担当数据传送的任务,而由DMA控制器控制总线(DMAC)进行数据传送。(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。,优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒),56,几个基本概念,总线控制权、mater、slaveDMAC编程周期:slaveDMAC控制总线进行数据传输周期:masterDMA的数据传输形式:基本的:MEMI/O扩充的:MEMMEM I/O I/O,57,DMAC控制数据传送,外设发出DMA请求 DMAC向CPU申请总线 CPU完成当前总线周期后响应,并释放总线控制权 DMAC得到总线
23、控制权,并发出DMA响应信号 由DMAC发出各种控制信号,控制外设与存储器之 间的数据传送 数据传送完后,DMAC撤销HOLD信号 CPU释放HLDA信号,并重新控制总线,58,DMAC的工作过程1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出“DMA传送请求”信号(DRQ);2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示希望占用总线;3)CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个动作:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA
24、)。4)DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK;,59,5)DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;例如,向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号,即可从外设向内存传送一个字节。6)DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。,DMA通道 工作过程,60,DMA的三种传送方式:连续传送(块传
25、送)DMAC申请到总线后,将一块数据传送完后才释放总线,而不管中间DREQ是否有效。单次传送(每次传送一个字节)每个DMA周期只传送一个字节就立即释放总线。按需传送(猝发传送)只要I/O接口的数据缓冲可用,就进行传送。(注:I/O接口需要有一定大小的FIFO缓冲),61,数据块传送,62,每次传送一个字节,63,按需传送,64,可编程DMA控制器8237A,8237A是Intel86系列微处理器的配套芯片,可用来接管CPU对总线的控制权,在存储器与高速外设之间建立直接进行数据块传送的高速通路。8237A必须与一个8位锁存器(8212或其他代用芯片)配套使用,才可形成完整的4通道DMA控制器。各
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 输入输出 通道 接口 中断 PPT
链接地址:https://www.31ppt.com/p-6512387.html