欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    微机原理与控制技术卢晓红897io接口及过程通道应用final.ppt

    • 资源ID:6327191       资源大小:8.78MB        全文页数:97页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理与控制技术卢晓红897io接口及过程通道应用final.ppt

    1,第八章:I/O接口及输入输出通道应用,2,第八章:I/O接口及输入输出通道应用,8.0可编程并行接口芯片8255A8.1 8255与简单开关量输入输出控制8.2 8255与步进电机控制8.3可编程中断控制器8259A应用8.4可编程串行接口芯片8251A 应用8.5 8253与电子发声控制8.6 A/D与D/A转换器,3,8.0 可编程并行接口芯片8255A,8.0 可编程并行接口芯片8255A,4,CPU,外设,8.0 可编程并行接口芯片8255A,5,8255A的工作方式与控制字8255A的工作方式8255A在使用前要先写入一个工作方式控制字,以指定A、B、C三个端口各自的工作方式。8255A共有三种工作方式:方式0基本输入输出方式,即无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。方式1选通输入输出方式,此时8255A的A口和B口与外设之间进行输入或输出操作时,需要C口的部分I/O线提供联络信号。方式2双向输入输出方式,即同一端口的I/O线既可以输入也可以输出,只有A口可工作于方式2。,端口A可处于三种工作方式(方式0,方式1,方式2),端口B可处于两种工作方式(方式0,方式1),端口C常常被分成高4位和低4位两部分,可分别用来传送数据或控制信息。,8.0 可编程并行接口芯片8255A,6,8255A的控制字(定义工作方式控制字和C口置位/复位控制字)(1)工作方式选择控制字8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制端口实现。可以分别选择端口A、端口B和端口C上下两部分的工作方式。注意8255A工作方式选择控 制字的最高位D7(特征位)应为1。,8.0 可编程并行接口芯片8255A,7,(2)C口置位/复位控制字,8255A的C口按位置位/复位控制字的最高位D7(特征位)应为0。,无关位,D3,D1,D5,D0位操作,D2PC口位选择,D7特征位,D6,D4,D7=0标明是C口位操作控制字,例如:使端口C的PC4置位的控制字为00001001B(09H)使PC4复位的控制字为00001000B(08H),当端口A定义为方式1或方式2或将端口B定义为方式1时,要求使用端口C的某些位作控制用,这时需要一个置位/复位控制字对控制端口C的各位进行置位/复位操作。,8,各种工作方式的功能方式0基本输入输出方式方式0无须联络就可以直接进行8255A与外设之间的数据输入或输出操作。它适用于无须应答(握手)信号的简单的无条件输入/输出数据的场合,即输入/输出设备始终处于准备好状态。在此方式下,A口、B口、C口的高4位和低4位可以分别设置为输入或输出,即8255A的这四个部分都可以工作于方式0。输入或输出的定义是相对于8255A芯片而言的。当数据从外设送往8255A时为输入,反之,数据从8255A送往外设则为输出。,8.0 可编程并行接口芯片8255A,9,各种工作方式的功能方式0基本输入输出方式,如果三个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合。此时,CPU与三个端口之间交换数据可以直接由CPU执行IN或OUT指令来完成。,8.0 可编程并行接口芯片8255A,方式0也可以用于查询方式的输入或输出接口电路,此时端口A和B分别作为一个数据端口,而用端口C的某些位作为这两个数据端口的控制和状态信息。例如右图就是一个A口和B口工作在方式0时利用C口某些位作为联络信号的接口电路。在此例中将8255A设置为:A口输出,B口输入,C口高4位输入(现仅用PC7、PC6两位输入外设的状态),C口低4位输出(现仅用PC1、PC0两位输出选通及清除信号)。此时8255A的工作方式控制字为10001010B(8AH)。,选通准备好准备好清除,A口PC1PC78255APC6PC0B口,输出设备输入设备,D7,D6,D5,D4,D3,D2,D1,PC74方向,B方式,B方向,D0,特征,A方式,A方向,PC30方向,10,1,0,1,0,1,0,0,0,8.0 可编程并行接口芯片8255A,11,8.0 可编程并行接口芯片8255A,12,方式1选通输入输出方式:这种工作方式下,数据输入输出操作要在选通信号控制下完成与方式0相比,它的主要特点是当A口、B口工作于方式1时,C口的某些I/O线被定义为A口和B口在方式1下工作时所需的联络信号线,这些线已经定义,不能由用户改变。,1)-STB:选通信号。由外设送给8255A,低电平有效-STB有效时,将外部输入的8位数据锁存到所选端口的输入锁存器。对于A组来说,指定端口C的PC4用来接收向端口A输入的STB信号;对于B组来说,指定端口C的PC2位用来接收向端口B输入的-STB信号。2)IBF:输入缓冲器满信号,向外部输出,高电平有效IBF有效时,表示由输入设备输入的数据已占用该端口的输入锁存器,它实际是对-STB信号的回答信号,待CPU执行IN指令时,-RD有效,将输入数据读入CPU,其后沿将IBF置0,表示输入缓冲器已空,外设可继续输入后续数据。对A组来说,指定端口C的PC5作为从端口A输出的IBF信号;对B组来说,指定端口C的PC1作为从端口B输出的IBF信号。3)INTR:中断请求信号,向CPU输出,高电平有效A组和B组向CPU发中断请求信号。A组的INTRA通过PC3送出;B组的INTRB通过PC0送出。,(1)采用工作方式1进行输入操作时,需要使用的控制信号如下:,8.0 可编程并行接口芯片8255A,13,方式1选通输入输出方式:,PC4 STB,方式1输入,PC5 IBF,PC3 INTR,A组,PC1 IBF,PC0 INTR,B组,PC2 STB,8255A中的端口A和端口B均可工作于工作方式1完成输入操作功能。(1)当端口A和B同时被定义为方式1完成输入操作时,端口C的PC0PC5被用作控制信号,只有PC7和PC6位可用来完成数据输入或输出操作,因此实际上构成两种组合状态:,1)端口A、B输入,PC7和PC6输入;2)端口A、B输入,PC7和PC6输出。,中断允许或屏蔽(C口置位或复位操作):1)A端口(PC4)=1处于中断允许;=0,处于中断屏蔽状态;2)B端口(PC2)=1处于中断允许;=0,处于中断屏蔽状态;,8.0 可编程并行接口芯片8255A,14,方式1选通输入输出方式,1)-OBF:输出缓冲器满信号。向外部输出,低电平有效-OBF有效时,表示CPU已将数据写入该端口正等待输出。当CPU执行OUT指令,-WR有效时,表示将数据锁存到数据输出缓冲器,由-WR的上升沿将-OBF置为有效。对于A组来说,指定端口C的PC7用来作为从端口A输出的-OBF信号;对于B组,指定端口C的PC1位用作从端口B输出的-OBF信号。2)-ACK:外部应答信号。由外部输入,低电平有效-ACK有效时,表示外部设备已经收到由8255A输出的8位数据,它实际是对-OBF信号的回答信号。对A组来说,指定端口C的PC6用来接收向端口A输入的-ACK信号;对B组来说,指定端口C的PC2用来接收向端口B输入的-ACK信号。3)INTR:中断请求信号,向CPU输出,高电平有效A组和B组向CPU发中断请求信号。A组的INTRA通过PC3送出;B组的INTRB通过PC0送出。,(2)采用工作方式1进行输出操作时,需要使用的控制信号如下:,8.0 可编程并行接口芯片8255A,15,方式1选通输入输出方式:,8255A中的端口A和端口B均可工作于工作方式1完成输出操作功能。(2)当端口A和B同时被定义为方式1完成输出操作时,端口C的PC6,PC7和PC3PC0被用作控制信号,只有PC4和PC5位可用来完成数据输入或输出操作,因此实际上构成两种组合状态:,1)端口A、B输出,PC4和PC5输入;2)端口A、B输出,PC4和PC5输出。,中断允许或屏蔽(C口置位或复位操作):1)A端口(PC6)=1处于中断允许;=0,处于中断屏蔽状态;2)B端口(PC2)=1处于中断允许;=0,处于中断屏蔽状态;,8.0 可编程并行接口芯片8255A,16,方式1选通输入输出方式,(3)端口A输入,端口B输出当被定义为方式1端口A输入,端口B输出时,端口C的PC5PC0被用作控制信号,只有PC6和PC7位可用来完成数据输入或输出操作,这又构成两种组合状态:,1)端口A输入,端口B输出,PC6和PC7输入;2)端口A输入,端口B输出,PC6和PC7输出。,8.0 可编程并行接口芯片8255A,17,方式1选通输入输出方式,(4)端口A输出,端口B输入当被定义为方式1端口A输出,端口B输入时,端口C的PC6和PC7,PC3PC0被用作控制信号,只有PC4和PC5位可用作数据输入/输出用,这又构成两种组合状态:,1)端口A输出,端口B输入,PC4和PC5输入;2)端口A输出,端口B输入,PC4和PC5输出。,8.0 可编程并行接口芯片8255A,8255A中的端口A和B工作在方式1时,可构成8种不同的状态,端口C的低四位总是作控制用,而高四位中总是保持有两位仍然可作数据输入/输出用,因此控制字中的D0位可为任意值,由D1,D3,D4位的不同取值构成八种不同的状态组合方式。(也允许A/B口为方式0,与另一端口的方式1配合工作),8.0 可编程并行接口芯片8255A,19,8.0 可编程并行接口芯片8255A,例:编一初始化程序,使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲程序又怎样的?控制口地址为83H。,D3,D1,D5,D0位操作,D2PC口位选择,D7特征位,D6,D4,1 0 1,8.0 可编程并行接口芯片8255A,21,8.0 可编程并行接口芯片8255A,22,00:A口;01:B口;10:C口;11:控制口,8.0 可编程并行接口芯片8255A,8.1 8255与简单开关量输入输出控制,23,利用8255A对按键进行查询输入设图中8255A的A口和控制寄存器的地址分别为80H和83H,试编写8255A的初始化程序。,24,8.1 8255与简单开关量输入输出控制,实验硬件连接,8.1 8255与简单开关量输入输出控制,26,8255编程例1情形1code segmentstart:mov al,80Hout 83H,almov al,83Hout 82H,alhltcode endsend start,1000,0011;对应的C口的第1,2和8个发光二极管亮,8.1 8255与简单开关量输入输出控制,27,code segmentstart:mov al,81Hout 83H,almov al,83Hout 82H,alhltcode endsend start,1,AM1,AM0,AIO,CHIO,BM,BIO,CLIO,情形2,1000,0011;对应的C口的第8个发光二极管亮,8.1 8255与简单开关量输入输出控制,28,1,AM1,AM0,AIO,CHIO,BM,BIO,CLIO,8255编程例2,code segmentstart:mov al,80Hout 83H,almov al,01Hlp:out 82H,alcall delayror al,1jmp lp,delay procpush cxmov cx,0010Hdly:loop dlypop cxretdelay endpcode endsend start,二极管:PC0-PC7-PC6-PC5-依次循环顺序点亮,8.1 8255与简单开关量输入输出控制,29,1,AM1,AM0,AIO,CHIO,BM,BIO,CLIO,code segmentstart:mov al,90Hout 83H,alin al,80Hout 82H,aljmp startcode endsend start,8255编程例3,读A口的开关状态,将A口开关状态输出到C口去,8.1 8255与简单开关量输入输出控制,30,1,AM1,AM0,AIO,CHIO,BM,BIO,CLIO,code segmentstart:mov al,90Hout 83H,alin al,80Hnot alout 82H,aljmp startcode endsend start,读A口的开关状态,将A口开关状态取反输出到C口去,8.1 8255与简单开关量输入输出控制,31,8.1.5 8255编程例4数码显示,8.1 8255与简单开关量输入输出控制,将十进制数字(09)翻译成七段显示码的译码表,如下:,a,十六进制,8.1 8255与简单开关量输入输出控制,33,datadigitdata,segmentdb 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fHends,code segmentstart:mov ax,datamov ds,axmov al,90Hout 83H,almov si,offset digitlp1:mov bx,0lp2:mov al,bx+siout 81H,alcall delayinc bxcmp bx,10,jc lp2jmp lp1delay procpush cxmov cx,0050Hdly:loop dlypop cxretdelay endpcode endsend start,;数字09,;A口方式0入,B、;C口方式0出,;B口出,B口输出对应的数码管依次循环显示09,8.1 8255与简单开关量输入输出控制,34,TD-PITE 8255基本I/O实验实验内容1使8255 端口A 工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。,8.1 8255与简单开关量输入输出控制,35,CODE SEGMENTASSUME CS:CODE,SS:SSTACK,START:MOV DX,0646HMOV AL,90HOUT DX,ALAA1:MOV DX,0640HIN AL,DXCALL DELAYMOV DX,0642HOUT DX,ALJMP AA1,DELAY:PUSH CXMOV CX,0F00HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START,SSTACKSSTACK,SEGMENT STACKDW 32 DUP(?)ENDS,实验源程序,A口:0640H;B口:0642H;控制口:0646H;,8.1 8255与简单开关量输入输出控制,36,TD-PITE 8255流水灯实验实验内容2使8255 的A 口和B 口均为输出,数据灯D7D0 由左向右,每次仅亮一个灯,循环显示,D15D8 与D7D0 正相反,由右向左,每次仅点亮一个灯,循环显示。,8.1 8255与简单开关量输入输出控制,37,SSTACK,SEGMENT STACK,SSTACK,DW 32 DUP(?)ENDS,CODE SEGMENT,ASSUME CS:CODE,SS:SSTACKSTART:MOV DX,0646HMOV AL,80HOUT DX,ALMOV BX,8001H,AA1:,MOV DX,0640HMOV AL,BHOUT DX,ALROR BH,1MOV DX,0642HMOV AL,BLOUT DX,ALROL BL,1,CALL DELAYCALL DELAYJMP AA1DELAY:PUSH CX,MOV CX,0F000HAA2:PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START,实验源程序,8.1 8255与简单开关量输入输出控制,A口:0640H;B口:0642H;控制口:0646H;,38,更多的8255简单I/O编程练习练习1,每次亮相邻两盏灯,按照C口PC0,PC1-PC1,PC2-PC2,PC3循环顺序点亮,8.1 8255与简单开关量输入输出控制,39,练习2,每次亮相邻两盏灯,按照C口PC0,PC1-PC2,PC3-PC4,PC4-循环顺序点亮,8.1 8255与简单开关量输入输出控制,40,练习3,交替点亮,8.1 8255与简单开关量输入输出控制,41,8.1 8255与简单开关量输入输出控制,练习4,1,3,5,7,8,6,4,2顺序循环依次点亮,42,8.2 8255与步进电机控制,使用开环控制方式能对步进电机的转动方向、速度和角度进行调节。所谓步进,就是指每给步进电机一个递进脉冲,步进电机各绕组的通电顺序就改变一次,即电机转动一次。根据步进电机控制绕组的多少可以将电机分为三相、四相和五相。本实验系统所采用的步进电机为四相电机。,单四拍ABCDA,双四拍:ABBCCDDAAB,四相八拍:AABBBCCCDDDA A,8255A:A口方式0输入;B口方式0输出。用PB0PB3来驱动控制四相步进电机;控制字为:数据输出1时通电,0断电,四相八拍的控制方式输出字表如下,01H,03H,02H,06H,04H,0CH,08H,09H,四相八拍方式输出字表,90H,四相八拍:AABBBCCCDDDA A,实验1:采用四相八拍方式控制步进电机正转,;四相八拍方式输出字表,;8255A初始化,送控制字到控制口,A口:0600H;B口:0602H;控制口:0606H;,实验2:采用四相八拍控制方法,由拨动开关(K7)控制步进电机正转和反转。,需要判断通过8255A的A口读入的PA7是否等于1,等于1反转,A口:0600H;B口:0602H;控制口:0606H;,实验3:采用双四拍控制方法,由拨动开关(K7)控制步进电机正转和反转。,A口:0600H;B口:0602H;控制口:0606H;,03H,06H,0CH,09H,输出字表,用PB0PB3来驱动控制步进电机,OUT的八位只用低四位,双四拍:ABBCCDDAAB,48,24,8.5 8253与电子发声控制,CEH,CEL,(1)3个独立的16位计数器,每个计数器具有相同的内部结构,都包括一个8位的控制寄存器、一个16位的计数初值寄存器CR、一个16位的减1计数器CE和一个16位的输出锁存寄存器OL。16位的计数初值寄存器CR和16位的输出锁存寄存器OL共同占用一个I/O端口地址,CPU用输出指令预置计数初值,用输入指令读回OL中的数值,这两个寄存器都没有计数功能,只起锁存作用。16位的减1计数器CE执行计数操作,其操作方式受控制寄存器控制,最基本的操作是:接受计数初值寄存器的初值,对CLK信号进行减1计数,把计数结果送输出锁存寄存器中锁存。,输出锁存寄存器(OL),OLH,计数器0控制寄存器计数初值寄存器(CR)CRH CRL减1计数器(CE),OLL,49,8.5 8253与电子发声控制,由于8253计数器是先减一再计数所以它的最大值是0,最小值是1;1)二进制计数方式,计数值范围为无符号二进制数0000FFFFH,其中0000为最大值,代表65536。它是计数器没有标志寄存器 所以就没CF,0FFFFh+1=65536 2)BCD计数方式,写入初值范围为BCD码数0000H9999H,而0000H是最大值,代表10000。,8253的最大计数初值为多少?,8.5 8253与电子发声控制,51,8253共占用4个I/O地址。当A1A0=00时,为计数器0中的CR(计数初值寄存器)和OL(输出锁存寄存器)寄存器的共用地址,至于是将计数初值写入CR,还是从OL中读出当前计数值,则由控制信号-WR和-RD决定,这两个信号同时只能有一个有效。当A1A0=01和10时,分别为计数器1和计数器2的CR和OL的共用地址。当A1A0=11时,是3个计数器内的3个控制寄存器的共用地址,至于CPU是给哪个计数器送控制字,则由控制字中的最高两位的编码决定。控制寄存器只能写入,不能读出。8253计数器在工作之前,用户必须对其进行初始化编程:首先CPU用输出指令向控制寄存器送控制字,然后再用输出指令向计数初值寄存器CR预置计数/定时的初值。启动工作后,CR中的初值就送入减1计数器CE对CLK输入的计数/定时脉冲信号进行减1计数。当CE中的内容减为0,表示计数/定时到,则OUT端输出信号。输出信号的波形形式由工作方式决定。,8.5 8253与电子发声控制,52,8253的读写操作状态操作,8.5 8253与电子发声控制,8.5.2 8253的编程8253在工作之前,用户首先要为某一计数器(计数器02)写入控制字以确定其工作方式;写入定时/计数初值;在定时/计数工作过程中,有时还需要读取某计数器当前的计数值。8253的控制字格式:定义各通道的工作方式,53,8.5 8253与电子发声控制,54,D7D6位是控制字的计数器编号。8253有3个独立的控制寄存器,它们共用一个端口地址(A1A0=11),由控制字中最高两位标明将控制字写入哪个计数器的控制寄存器中。D5D4位用来设定计数器的数据读/写方式。在给计数器写入计数初值时,可以赋16位的初值,也可以只赋8位(另8位被自动置0),8位初值可以是高字节,也可以是低字节。当D5D4=00时,计数器的当前计数值被锁存在OL中,此时计数器照常计数,但OL中的值不变,待CPU将OL中的两字节数据读走后,OL中的内容又随减1计数器CE变化。当D5D4=01,只读/写低8位,高8位自动置0(写计数初值时);D5D4=10时,只读/写高8位,低8位自动置0(写计数初值时);D5D4=11时,先读/写低8位,再读/写高8位。D3D2D1位决定了计数器的工作方式。8253共有六种工作方式(方式0方式5)。D0位决定计数器的数制。D0=0,选择二进制计数;D0=1,选择十进制计数。,8.5 8253与电子发声控制,55,8253的读/写操作(1)写操作写操作是指CPU对8253写入控制字或写入计数初值。8253在开始工作之前,CPU要对其进行初始化编程(写入控制字和计数初值):对每个计数器,必须先写控制字,后写计数初值。因为后者的格式是由前者决定的。写入的计数初值必须符合控制字(D5D4两位)决定的格式。16位数据应先写低8位,再写高8位。当给8253中的多个计数器进行初始化编程时,其顺序可以任意,但对每个计数器进行初始化时必须遵循规定原则。,8.5 8253与电子发声控制,56,(2)读操作读操作是指读出某计数器的当前计数值到CPU中。有两种读取当前计数值的方法:先使计数器停止计数(在GATE端加低电平或关闭CLK脉冲):根据送入的控制字中的D5D4位的状态,用一条或两条输入指令读减1计数器CE的内容。在计数的过程中不影响CE的计数而读取计数值:为达此目的,应先对8253写入一个具有锁存功能的控制字,即D5D4位应为00,这样就可以将当前的CE内容锁存入OL中,然后再用输入指令将OL的内容读到CPU中。,8.5 8253与电子发声控制,57,计数器0的初始化程序,8.5 8253与电子发声控制,58,写入一个具有锁存功能的控制字,即D5D4位应为00,这样就可以将当前的CE内容锁存入OL中,然后再用输入指令将OL的内容读到CPU中,计数器1工作在方式2,计数初值为18H,二进制计数。,8.5 8253与电子发声控制,59,8.5.3 8253的工作方式8253有六种不同的工作方式。在不同的工作方式下,计数过程的启动方式不同,OUT端的输出波形不同,自动重复功能、GATE的控制作用以及更新计数初值对计数过程的影响也不完全相同。同一芯片中的三个计数器,可以分别编程选择不同的工作方式。(1)方式0计数结束中断方式这是一种软件启动、不能自动重复的计数方式。写入方式0的控制字(CW)后,其输出端变低。再写入计数初值N,在写信号-WR以后经过CLK的一个上升沿和一个下降沿,初值进入减1计数器CE。计数器减到0后,OUT成为高电平。此信号通常接至8259A的IR端作为中断请求信号。,8.5 8253与电子发声控制,60,写入方式0的控制字CW后,输出端变低。,INTR,INTR,GATE=0,禁止减1操作继续,待GATE重新有效后,减1操作继续进行,61,在计数过程中,随时可以写入新的计数值初值,计数器使用新的初值重新开始计数(若新初值是16位,则在送完第一字节后中止现行计数,送完第二个字节后才重新开始计数),计数值为0时,OUT输出从低到高的跳变,可用它向CPU发中断请求INTR。计数初值一次有效。门控信号GATE=1,允许减1操作;GATE=0,禁止减1操作继续,待GATE重新有效后,减1操作继续进行。方式0主要用于单次计数,计数到时,利用OUT信号作为查询信号或中断请求信号。由于8253内部没有中断控制管理电路,故用OUT作为中断请求信号时,需要通过中断优先级控制电路(如8259)向CPU申请中断。方式0既可完成计数功能,也可完成定时功能。,8.5 8253与电子发声控制,62,(3)方式2分频工作方式/速率波发生器写入控制字后,OUT信号变为高电平,若计数初值为N,启动计数后,以CLK信号的频率进行减1计数,OUT输出高电平保持不变;待计数值减到“1”和“0”之间时,OUT输出宽度为一个CLK周期的负脉冲。当减到1时,OUT输出一个宽度为一个CLK时钟周期的负脉冲,OUT恢复成高电平后,计数器又重新开始计数。可以看出,OUT输出信号的频率为CLK信号频率的1/N,即N次分频,故称这种工作方式为分频工作方式。,8.5 8253与电子发声控制,1,0,3,3,4,1,OUT,WRCLKGATE,CW,N4,TOUTN*TCLK,(4)方式3方波发生器工作于方式3时,在计数过程中其输出前一半时间为高电平,后一半时间为低电平。其输出是可以自动重复的周期性方波,输出的方波周期为N*TCLK。在写入方式3控制字后,计数器OUT端立即变高。若GATE信号为高,在写完计数初值N后,开始对CLK信号进行计数。计数到N/2时,OUT端变低,计完余下的N/2,OUT又变高,如此自动重复,OUT端产生周期为N*TCLK的方波。,63,2,4,2,8.5 8253与电子发声控制,64,若计数初值为偶数,则计数的前半周期为N/2,计数的后半周期为N/2,输出重复周期为N,占空比为1:1的方波形。若计数初值为奇数,则计数的前半周期为(N+1)/2,计数的后半周期为(N1)/2,近似方波。在写入计数初值时,如果GATE信号为低电平,计数器并不开始计数。待GATE变为高电平时,才启动计数过程。在计数过程中,应始终使GATE=1。若GATE=0,中止计数,待恢复GATE=1时,计数器重新从初值N开始计数。在计数过程中写入新的计数初值时不影响当前的半个周期的计数。在当前的半个周期结束(OUT电位发生变化)时,将启用新的计数初值开始新的计数过程。,8.5 8253与电子发声控制,某8086系统中包含一片8253芯片,要求完成如下功能:1)利用通道0完成对外部事件计数功能,计满50次向CPU发中断请求;2)利用通道1产生频率为1KHz的方波,其中CLKi端输入2.5MHz的时钟脉冲。请写出8253的初始化程序。通道0通道2和控制字的端口号分别为1FF0H1FF3H,分析:通道0应定义为工作方式0,完成计数功能,计数初值为3CH(50);通道1应定义为工作方式3,1KHz方波,周期为1ms,2.5MHz,其重复周期为0.4us,所以,计数初值为2500=09C4H;,8.5 8253与电子发声控制,4 8253应用举例1,MOV DX,1FF3H;8253控制端口地址MOV AL,11H;通道0方式0,OUT DX,ALMOV DX,1FF0H;通道0端口地址MOV AL,50;50次,计数初值OUT DX,AL,MOV DX,1FF3H;8253控制端口地址MOV AL,76H;通道1方式3,OUT DX,ALMOV DX,1FF1H;通道1端口地址MOV AX,09C4H;计数初值,OUT DX,AL;先送低字节MOV AL,AH;再送高字节OUT DX,AL,00,01,000,1,01,11,011,0,通道0,工作方式0,计数初值为3CH(50),通道1,工作方式3,计数初值为2500=09C4H;,D/A和A/D转换技术,8.6 A/D与D/A转换器,68,8.6 A/D与D/A转换器,1、A/D转换器:将模拟量转换成数字量的器件。,ADC是把模拟量(通常是模拟电压)转换成n位二进制数字量信号的电路。转换分四步:采样-保持-量化-编码,ADC0809:8位逐次逼近式A/D转换器。具有8个通道的模拟量输入线,可在程序控制下对任意通道进行A/D转换,得到8位二进制数字量。分辨率为 8位;模拟输入电压范围为05V,对应A/D 转换值为00HFFH;内部带 8 路模拟开关,可以输入8 路模拟信号;时钟频率640kHz。AD574A:分辨率为 12位,A/D转换实现方法计数比较法、双斜率积分法、逐次逼近法,69,A/D转换器技术指标分辨率:A/D转换器的分辨能力,通常用转换后数字量的位数表示,如8位、10位、12位、16位等。分辨率越高,转换时对输入模拟信号的反应就越灵敏;量程:所能转换的电压范围,如05V、-5V+5V等;转换精度:A/D转换结果相对于实际值的准确度;绝对精度:常用数字量的位数表示,如(1/2)LSB相对精度:用相对于满量程的百分比表示,例如满量程为10V的8位A/D转换器,其绝对精度为1/210/2819.5mV,相对精度为1/281000.39。转换时间:完成一次A/D转换所需的时间;,8.6 A/D与D/A转换器,70,ADC0809逻辑结构,在START上收到一个启动转换命令后开始转换。转换时间100s左右。转换结束后,EOC由低变高,通知CPU读数据。,由8路模拟开关、地址锁存与译码器、8位逐次逼近式A/D转换器、输出缓冲器组成。通道选择信号ADDA、ADDB、ADDC用于在8个输入通道中选择一个。A/D转换器将输入的模拟信号转换为8位二进制数。,8.6 A/D与D/A转换器,71,A/D转换器到微机的接口ADC0809与系统总线的连接,模拟量输入,接基准电压,8位数字量输出结果,接DB,IN0,IN1,IN7,VREF(+),VREF(-),GND,CLOCK,ALE,START,OUTPUTENABLE,EOC,ADDA,ADDB,ADDC,D0D7,分频,CLOCK,&,&,WR,M/IO,RD,译码器,通道地址线ADDA、ADDB、ADDC分别接到数据总线低三位上。ADC0809的时钟频率为640KHz,微机的时钟频率为5MHz或更高,需要分频。,地址总线,地址线通过译码器输出端作为片选信号。以M/-IO、-WR以及地址译码输出信号作为启动信号START和地址锁存信号ALE。以M/-IO、-RD以及地址译码输出信号作为OUTPUT ENABLE信号,接8259A,8.6 A/D与D/A转换器,A/D转换器到微机的接口例如:假设ADC0809的端口地址为PORTCT,要把3通道的模拟量转换成数字量送到AL寄存器,程序如下:,START:MOV AL,03H OUT PORTCT,AL;送通道地址 CALL DELAY;调用延时子程序,转换时间为100s左右 IN AL,PROTCT;读取转换的数字量,8.6 A/D与D/A转换器,73,ADC0809通过8255连接到8086,ADC0809转换结果送入8255A的端口A;通道地址线ADDA、ADDB、ADDC分别接到PC0,PC1,PC2;PC3作为启动信号START和地址锁存信号ALE;PC7作为转换结束EOC信号和OUTPUT ENABLE信号,8.6 A/D与D/A转换器,ADC 0809的接口设计,例题1:ADC0809应用例题,通道选择由系统地址信号A2A0连至ADD_C、ADD_B、ADD_A实现。ALE信号由A12A3经译码后形成的-CS和-IOW或非获得。设A12A3=220H时,-CS有效,以下指令可以执行通道选择:MOV DX,220H+n;n=07OUT DX,AL;AL的值无关,模数转换,ADC 0809的接口设计,START信号与ALE信号相连,通道选择的同时,启动转换。转换结束信号EOC接8255的PB0,应使用8255PB工作在方式0输入。CPU查询PB0即可获知转换是否完成。数据输出允许信号Enable由-IOR和-CS或非后驱动以下指令可以读取转换后的数字:MOV DX,220H;ADC0809的-CS有效IN AL,DX,例题1:ADC0809应用例题,读入ADC0809第5通道的转换结果,已知ADC0809 地址为220H;8255A的地址为210H213H。请写出相应程序,;8255初始化,PB方式0输入 MOV AL,1xxxx01xBMOV DX,213HOUT DX,AL;转换通道IN5的程序MOV DX,220H+5OUT DX,AL;通道选择并启动转换NEXT:MOV DX,211H;8255的PBIN AL,DXAND AL,01HJZ NEXT;PB0=0,未完成,PB0接EOC,转换结束为1MOV DX,220HIN AL,DX;AL=转换结果,例题1:ADC0809应用例题,77,2、D/A转换器D/A转换器是将数字量转换成模拟量的装置,是模拟量输出通道的重要组成部分;D/A转换器根据输出模拟量的形式分为电压型和电流型两种;技术指标:分辨率、转换精度、建立时间、线性误差等分辨率:用D/A转换器输入二进制数的位数来表示,如8位、10位、12位等。,8.6 A/D与D/A转换器,D/A转换器/DAC=Digital to Analog Converter,78,分辨率为8位;单一电源供电(515V);基准电压VREF工作范围-10+10V;有单缓冲、双缓冲或直通三种工作方式。,DAC0832:美国数据公司的8位双缓冲D/A转换器,8.6 A/D与D/A转换器,*D0D7:8位数据输入线,TTL电平;*ILE:数据锁存允许控制信号输入线,高电平有效;*-CS:片选信号输入线(选通数据锁存器),低电平有效;*-WR1:数据输入寄存器器写选通输入线,负脉冲有效。由ILE、-CS、-WR1的逻辑组合产生LE1,当LE1为高电平时的负跳变时将输入数据锁存;*-XFER:数据传输控制信号输入线,低电平有效,;*-WR2:DAC寄存器选通输入线,负脉冲有效。由-WR2、-XFER的逻辑组合产生LE2,当LE2为高电平的负跳变时将数据输入寄存器的内容打入DAC寄存器并开始D/A转换。*IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;*IOUT2:电流输出端2,其值与IOUT1值之和为一常数;*Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;*Vcc:电源输入端,Vcc的范围为+5V+15V;*VREF:基准电压输入线,VREF的范围为-10V+10V;*AGND:模拟信号地;*DGND:数字信号地,8.6 A/D与D/A转换器,80,DAC0832美国数据公司的8位双缓冲D/A转换器,DAC0832的逻辑图,-LE1正脉冲的负跳变将数据线上的信息存入输入寄存器,-LE2正脉冲的负跳变将输入寄存器内容存入DAC寄存器,8.6 A/D与D/A转换器,Iout1 和Iout2与输入数字量D之间的关系如下,当输入的8位数据为全“1”时,IOUT1电流最大,IOUT2电流最小;当输入为“0”时,IOUT1电流为零,IOUT2电流最大。,8.6 A/D与D/A转换器,Rfb:外接电阻值,D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过在两个电流输出端接上一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过Rfb端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。根据对DAC0832的数据输入寄存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式

    注意事项

    本文(微机原理与控制技术卢晓红897io接口及过程通道应用final.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开