好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第8章可编程接口芯片概要.ppt

99页
  • 卖家[上传人]:今***
  • 文档编号:107468400
  • 上传时间:2019-10-19
  • 文档格式:PPT
  • 文档大小:6.78MB
  • / 99 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第8章 可编程接口芯片,,本章主要内容,,8.1 可编程接口芯片概述,可编程接口芯片,通过软件编程来增加芯片的工作方式,使一个芯片具有灵活的多种工作方式,从而提高每个芯片的功能 本章主要介绍几种常用可编程接口芯片: 可编程并行接口芯片8255A 可编程定时器/计数器8253 可编程串行通信接口芯片8251A,8.2 可编程并行接口芯片8255A,8255A是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口,共24位,其各端口工作方式由软件编程设定 8255A是应用最广泛的可编程并行接口芯片,使用方便,通用性强8.2.1 8255A的内部结构及引脚功能,1.8255A的内部结构 8255A由数据总线缓冲器,数据端口A、端口B和端口C,A组和B组控制电路和读/写控制逻辑四部分组成8.2.1 8255A的内部结构及引脚功能,2.8255A的引脚功能 8255A是40个引脚双列直播插式芯片 有三个可存取数据的端口,分别是A口、B口、C口,可以通过编程来设置其工作方式; 有一个控制端口,可以通控制端口设置8255A 数据端口的工作方式8.2.2 8255A的工作方式,A口可工作于方式0、方式1、方式2 B口可工作于方式0、方式1 C口只能工作于方式0,8.2.2 8255A的工作方式(续),1.方式0—基本输入输出 在方式0下,每一个端口都作为基本的输入或输出口,端口C口的高4位和低4位以及端口A口、端口B都可独立地设置为输入口或输出口。

      CPU可采用无条件传输方式与8255A交换数据8.2.2 8255A的工作方式(续),2.方式1—单向选通输入输出 三个数据端口分为A、B两组,分别称为A组控制和B组控制端口A和端口B仍作为数据的输入或输出口,端口C作为联络控制信号,被分成两部分,一部分作为端口A和端口B的联络信号,另一部分仍可作为基本的输入输出口8.2.2 8255A的工作方式(续),1)方式1输入,,方式1输入时序,8.2.2 8255A的工作方式(续),2)方式1输出,方式1输出时序,8.2.2 8255A的工作方式(续),3.方式2—双向选通输入输出 端口A的方式2可使8255A与外设进行双向通信,既能发送数据,又能接收数据可采用查询方式和中断方式进行传输8.2.2 8255A的工作方式(续),当端A口方式2和端口B方式1时,端口C各位的功能如图所示,PC7~PC3作为端口A的联络信号,PC2~PC0作为端口B的联络信号 当端口A工作于方式2,端口B工作于方式0时,PC7~PC3作为端口A的联络信号,PC2~PC0可工作于方式08.2.3 8255A的编程,1.8255A的控制字 1)方式选择控制字,1.8255A的控制字(续),2)端口C置位/复位控制字,,【例8-1】在8086系统中,设8255A的A口输出,B口输入,PC1置位,PC2复位。

      已知:8255端口地址为60H~63H,试编程对8255A进行初始化 解:根据题意,8255工作方式控制字为: 8255A初始化程序如下: MOV AL,82H ;方式控制字10000010B=82H OUT 63H,AL ;将控制字送入8255A控制端口 MOV AL,03H ;C口置位控制字00000011B=03H,设置PC1=1 OUT 63H,AL ;将控制字送入8255A控制端口 MOV AL,04H ;C口置位控制字00000100B=04H,设置PC2=0 OUT 63H,AL ;将控制字送入8255A控制端口,,8.2.4 8255A 的应用举例,【例8-2】利用8255A的A口作为输入端口,接8个开关;B口为输出端口,接有8个发光二极管系统硬件电路如图所示 试编写程序,不断扫描开关Ki当开关K0闭合时,点亮LED0、LED2、LED4、LED6,其它LED暗;当开关K1闭合时,点亮LED1、LED3、LED5、LED7,其它LED暗;当开关K0和K1同时闭合时退出 设8255A端口地址为:200H~203H开关K0闭合时,点亮LED0、LED2、LED4、LED6,其它LED暗; 当开关K1闭合时,点亮LED1、LED3、LED5、LED7,其它LED暗; 当开关K0和K1同时闭合时退出。

      A口为输入端口,B口输出端口,均工作在方式0下,端口C没使用,8255A端口地址为:200H~203H,,8255A控制端口地址为:203H,,解: START: MOV AL,90H ; 8255初始化 MOV DX,203H AGAIN:MOV DX,200H IN AL,DX TEST AL,03H ; 检测K0 K1 JZ EXIT TEST AL,01H ;检测K0 JZ DISP_0,,TEST AL,02H ;检测K1 JZ DISP_1 JMP AGAIN DIAP_0: MOV AL,55H ;偶位上LED亮,奇位上LED暗 MOV DX,201H OUT DX,AL JMP AGAIN DIAP_1: MOV AL,0AAH ;奇位上LED亮,偶位上LED暗 MOV DX,201H OUT DX,AL JMP AGAIN EXIT: RET,,,数码管动态显示,LED数码管由7~8个发光二极管组成 如图所示的是八段数码管,该八段发光管按顺时针分别称为a、b、c、d、e、f、g和小数点h有的数码管不带小数点,这种数码管称为七段数码管。

      LED数码管有共阴极和共阳极两种结构通过发光管的不同组合,可显示数字0~9、部分英文字母及某些特殊字符数码管动态显示,本例采用的八段LED数码管是共阴极的结构,显示某个字符只要其对应段上的发光二极管发亮,如显示字符“1”,只需使b和c两个段亮,其他段暗共阴极LED八段数码管显示的字符0~F的段码见下表数码管动态显示,数码管显示有静态和动态两种方法 所谓静态显示,就是当数码管显示某一个字符时,相应的发光二极管恒定地导通或截止采用这种显示方式时,每一个数码管都需要有一个8位输出口控制 因此当系统中数码管较多时,用静态显示所需的I/O口太多所谓动态显示就是一位一位地轮流扫描各个数码管 对于每一位数码管来说,每隔一段时间点亮一次数码管的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关 这种显示方法需有两类控制端口,即位控制端口和段控制端口 位控制端口控制哪个数码管显示,段控制端口决定显示值 段控制端口所有数码管公用当CPU输出一个显示值时,各数码管都能收到此值但是,只有位控制码中选中的数码管才能导通并显示解:本例利用一片8255A控制4个数码管因为段码只有8位,所以可用8255A的一个端口作为段控制端口。

      8255A的另外两个端口共16位,可以作为位控制端口所以,采用动态显示技术时,一片8255A最多可以控制16个数码管 A_PORT EQU 200H B_PORT EQU 202H C_PORT EQU 204H CRTL_PORT EQU 206H DATA SEGMENT OUTBUFF DB 2,0,1,5 ;显示值 LEDTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码表 DATA ENDS,,CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,80H ;8255A初始化 MOV DX,CRTL_PORT OUT DX,AL LOP1: CALL DISP JMP LOP1,,DISP PROC NEAR ;数码管动态显示子程序 AGAIN: MOV CL,0F7H LEA SI,OUTBUFF LEDDISP:MOV AL,CL ;输出位码 MOV DX,C_PORT OUT DX,AL LEA BX,LEDTAB MOV AL,[SI] XLAT MOV DX,A_PORT ;输出段码 OUT DX,AL CALL DELAY_1S MOV AL,0H MOV DX,A_PORT ;清屏 OUT DX,AL CMP CL,0FEH JZ NEXT INC SI ROR CL,1 JMP LEDDISP NEXT: RET DISP ENDP,,CODE DELAY_1S PROC ;延时子程序 PUSH CX PUSH BX MOV BX,01H D1: MOV CX,0FH D2: LOOP D2 DEC BX JNZ D1 POP BX POP CX RET DELAY_1S ENDP CODE ENDS END START,8.3 可编程定时器/计数器8253/8254,8253/8254是Intel公司生产的通用可编程定时/计数器,定时时间与计数次数由用户事先设定。

      8253的读/写操作对系统时钟没有特殊的要求,可应用于由任何一种微处理器组成的系统中,可作为可编程的方波频率发生器、分频器、实时时钟、事件计数器和单脉冲发生器等8.3.1 8253的内部结构及引脚功能,1.8253的内部结构 每片8253有3个独立的16位计数通道,每个计数通道最高计数速率可达2.6MHZ每个计数器可编程设定6种工作方式,使用时可以根据需要选择其中的一种工作方式每个计数通道可按二进制或十进制来计数 定时和计数在工作原理上是相同的,都是对一个输入脉冲进行计数2. 8253的引脚功能 8253采用双列直插式封装,有24个引脚8.3.2 8253的工作方式,8253的每个计数器都有6种工作方式:方式0~方式5 这6种工作方式的不同点是: 输出波形不同 启动计数器的触发方式不同 计数过程中GATE信号对计数过程的影响不同,,1.方式0—低电平输出 8253完成计数功能,且计数器只计一遍控制字写入后,输出端OUT变为低电平计数初值写入后,下一个CLK脉冲的下降沿,计数初值寄存器内容装入减1计数寄存器,开始计数,输出端OUT维持低电平 当计数值减到0时,OUT输出端变为高电平,此信号可作为中断请求信号,并可保持到重新写入新的控制字或新的计数值为止。

      计数过程中,若GATE信号变为低电平,暂停计数,减1计数寄存器值保持不变;若GATE信号重新变高,则计数器从暂停值开始继续计数;若重新写入新的计数初值,则在下一个CLK脉冲的下降沿,减1计数寄存器以新的计数初值重新开始计数8253方式0的时序波形图,,,2.方式1—低电平输出 方式1是硬件触发单稳态方式,输出单个负脉冲信号,脉冲的宽度可通过编程来设定 写入控制字后,输出端OUT变为高电平,并保持写入计数初值后,在GATE信号的上升沿之后的下一个CLK脉冲的下降沿,计数初值装入减1计数寄存器,同时OUT端变为低电平,开始计数 当计数值减到0时,输出端OUT变为高电平 计数过程中,如果CPU又送来新的计数初值,不影响当前计数过程等到计数器计数到0,OUT端输出高电平且出现新的一次GATE信号的触发时,才会将新的计数初值装入,并计数 如果在输出端OUT输出低电平期间,又来一个门控信号上升沿触发,则在下一个CLK脉冲的下降沿,将计数初值寄存器内容重新装入减1计数寄存器,并计数8253方式1的时序波形图,,3.方式2—周期性负脉冲输出 方式2可产生连续的负脉冲信号,可用作频率发生器负脉冲的宽度为一个时钟周期。

      写入控制字后,输出端OUT变为高电平若GATE为高电平,那么写入计数初值后,在下一个CLK的下降沿计数初值寄存器内容装入减1计数寄存器,开始减1计数当减1计数寄存器的值为1时,OUT端输出低电平,经过一个CLK时钟周期,OUT端输出高电平,并自动开始一个新的计数过程 在计数过程中,如果减1计数寄。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.