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

微型计算机原理与接口技术:第7章 常用数字接口电路11.ppt

183页
  • 卖家[上传人]:窝***
  • 文档编号:202090675
  • 上传时间:2021-10-14
  • 文档格式:PPT
  • 文档大小:3.56MB
  • / 183 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第7章 常用数字接口电路,主要内容:,掌握二种可编程接口芯片的应用(8253、8255) 了解串行通信的一般概念 (8250),7.1 接口电路概述,定义: CPU与外设之间信息交换的通道作用: 信息缓冲、信息变换、电平转换、联络控制分类:8086系统中最常用的数字接口电路芯片:定时/计数器8253(8254)、并行接口8255(8155/8755)、串行接口8250(8251),7.2 可编程定时/计数器8253,掌握:引线功能及计数启动方法6种工作方式及其输出波形8253的使用:芯片与系统的连接芯片的初始化编程,定时/计数器的用途,可以实现定时与计数两个功能,可用于系统时钟DRAM刷新定时定时采样实时控制脉冲的计数 . . . . . .,定时,计数,如何实现定时?,软件方法:用一段程序实现延时利用程序循环延迟指定的时间缺点:CPU占用率?延时精度?兼容?硬件方法:定时/计数器电路利用脉冲计数在设定的时间输出定时信号, 8253是一种硬件定时/计数器芯片,编写一个软件定时程序,要求定时20ms. 假设:8086的时钟=8MHz, 一个时钟周期 T=1/8MHz=0.125us延时20ms,执行PUSHF,POPF指令: 需要循环次数: N=20000/(12+14+17)*0.125 =3720 参考程序: MOV CX, 3720L: PUSHF ;时钟数:14T POPF ;时钟数:12T LOOP L ;时钟数:17/5T,软件定时的例子,误差修正:(15+12+19)*0.125=5.75us,写成子程序:DELAY: PUSH CX MOV CX, 3720 L: PUSHF POPF LOOP L POP CX RET,PUSH CX ;时钟数 15TPOP CX ;时钟数 12TRET ;时钟数:19T,9.1:软件定时的例子,主要程序片段 LP: CALL DELAY MOV DL,30H ;字符0的ASCII码 MOV AH,02H ;DOS调用,显示一个字符 INT 21H INC DL LOOP LP MOV AH,4CH ;带返回码结束 INT 21H DELAY PROC NEAR ;软件延时子程序 PUSH AX MOV CX,0FFFFH L: PUSHF POPF LOOP L DO: POP AX RETDELAY ENDP,10,东南大学,定时:标准频率CLK/计数 累加或递减(计算频率:周期内计数)。

      例 减法CNTER:先计数值预置计数值寄存器减法计数器,计数脉冲经CLK输入端时使计数器进行减法计数计数器的当前内容-计数器输出寄存器CPU不会干扰计数过程(缓冲)计数值=零的状态OUT引脚和状态寄存器的某一位(查询式I/O或中断式IO来检测零值状态)有到零停计/不停两种 可硬件( GATE输入端)或软件控制定时计数器的动作定时计数器基本工作原理,对输入CLK信号(脉冲)加法或减法计数,典型T/C框图,定时/计数脉冲,门控信号,输出信号,写,写,读,读,1,2个地址,一、外部引线及内部结构,8253概貌3个16位的定时/计数器(通道)24引脚双列直插式最高计数频率2MHzTTL电平兼容单电源+5V供电,外部引线及内部结构,DB,D7-D0,8253,A1,A0,WR,RD,CS,通道2,通道1,通道0,CLK0GATE0OUT0,CLK1GATE1OUT1,CLK2GATE2OUT2,A1A0,IOWIOR片选信号,外部引线及内部结构,连接微机系统端的主要引线:D7D0CSRDWRA1,A0 用于选择四个编址部件之一,A1 A0 选 择0 0 计数通道00 1 计数通道11 0 计数通道21 1 控制寄存器,外部引线及内部结构,计数通道的主要引线(每通道均相同):CLKn 时钟脉冲输入,计数器的计时基准。

      GATEn 门控信号输入,控制计数器的启停OUTn 计数器输出信号,不同工作方式下 产生不同波形n = 02),8253的内部结构,16位减1,16位减1,16位减1,8位,定时与计数有何区别?,编程结构程序员的观点,计数器(3个)包括控制寄存器(1个) 存放控制命令字(8位)(只写)占用4个地址 3个计数器,1个控制寄存器,16位初值寄存器(只写)16位计数寄存器 (减1计数器),16位锁存寄存器(只读) (当前计数初值),定时/计数的工作过程,1. 设置8253的工作方式(6种) 2. 设置计数初值到初值寄存器 3. 设置GATE门控信号,把门打开,使CLK可通过之送入计数寄存器计数 4. 第一个CLK信号使初值寄存器的内容置入计数寄存器 5. 以后每来一个CLK信号,计数寄存器减1 6. 减到0时,OUT端输出一特殊波形的信号,注:不同的工作方式,GATE门控信号的开关门的信号可能不同二、计数启动方式,软件启动过程硬件启动过程,GATE端保持为高电平写入计数初值后的第2个 CLK脉冲的下降沿开始计数,GATE端有一个上升沿对应CLK脉冲的下降沿开始计数,程序指令启动软件启动外部电路信号启动硬件启动,三、工作方式,方式0计数结束中断方式1可重复触发的单稳态触发器方式2频率发生器方式3方波发生器方式4软件触发选通方式5硬件触发选通,OUT输出,Gate门控,CLK输入,Counter,控制字 CW计数初值 n,方式0,软件启动,不自动重复计数。

      装入初值后OUT端变低电平,计数结束OUT输出高电平计数结束中断),方式1,(单稳态触发器),硬件启动,不自动重复计数装入初值后OUT端变高电平,计数开始OUT端变为低电平,计数结束后又变高电平方式2,软、硬件启动,自动重复计数装入初值后OUT端变高电平,计数到最后一个CLK时OUT输出负脉冲,并连续重复此过程频率发生器),(软启动),8253工作模式2举例(硬启动、重置初值),重触发,重置初值,方式3,软、硬件启动,自动重复计数装入初值后OUT端变高电平,然后OUT连续输出方波,(方波发生器),前 N/2或(N+1)/2 个CLK,OUT为高,后N/2或(N-1)/2 个CLK, OUT为低8253工作模式3举例(置奇数初值、硬启动),初值=奇数,(n+1)/2高电平(n-1)/2低电平,Gate=0暂停,例: 使0号定时器,工作在方式3,计数初值N=1000,二进制计数.试写出8253初始化程序段. 8253端口地址:40H,41H,42H,43HMOV AL,10000110B ;2号定时器,方式3OUT 43H,ALMOV AX,1000 OUT 40H,AL ; 0号数据口 MOV AL,AHOUT 40H,AL,方式4,软件启动,不自动重复计数。

      装入初值后输出端变高电平,计数结束输出一个CLK宽度的负脉冲,(软件触发选通),方式5,(硬件触发选通),硬件启动,不自动重复计数OUT端波形与方式4相同,各种工作方式特点,方式0(计数结束中断)计数过程中,GATE端应保持高电平每写入一次初值计数一个周期,然后停止计数OUT端输出是一个约(N+1)TCLK宽度的负脉冲计数过程中可随时修改初值重新开始计数方式1(单稳态触发器)门控信号GATE端的跳变触发计数,可重复触发若下一次GATE上升沿提前到达,则OUT端负脉冲拉宽为两次计数过程之和计数过程中写入新初值不影响本次计数各种工作方式特点,方式2(频率发生器)GATE为计数的控制信号:GATE变低计数停止,再变高时的下一个CLK下降沿,从初值开始重新计数每个计数周期结束时(减到1时),OUT端输出一个TCLK宽度的负脉冲计数过程自动重复进行计数过程中修改初值不影响本轮计数过程方式3(方波发生器)OUT输出方波,前半周期为高,后半周期为低计数过程中修改初值不影响本半轮计数过程其余的与方式2 类似各种工作方式特点,方式4(软件触发选通)计数过程中,GATE端应保持高电平每写入一次初值,计数一个周期,然后停止计数。

      每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲计数过程中修改初值不影响本轮计数过程方式5(硬件触发选通)写入初值时,GATE端应保持低电平GATE每出现一次正脉冲,计数一个周期,然后停止计数每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲计数过程中修改初值不影响本轮计数过程8253编程:6种工作模式,Mode0 软件触发,到0不自动重复(计数输出) Mode4 软件触发, 选通信号(负脉冲)Mode1 硬(GATE)触发单稳,不自动重复启动Mode5 硬件触发, 选通信号(负脉冲)Mode2、3 软硬触发,自动重装(分频/方波),Gate控制,CLK输入,控制字 CW计数初值,Counter,OUT输出,工作模式0,继续计数,控制字CW,(1)计数回零时,OUT才变为高电平并保持,直至写入新的控制字或初值但计数器在到零后仍继续计数;GATE=1计数/=0暂停)2)计数过程中可改变计数值:8位计数:写入新的计数值后,计数器按新值开始计数;16位计数,在写入第一个字节后,计数器停止计数,写入第二个字节后,按新的初值计数计数器0 低8位方式,计数结束时输出信号(可申请中断),8253工作模式0举例,减计数未完写入新的初值,Gate控制,可编程单脉冲(可重复触发的单稳态触发器)-硬件上升边沿启动,不自动重复。

      可软触发,负脉冲输出,工作模式1,下一脉冲下降沿,延时了3个脉冲时间,8253工作模式1举例,重复触发脉冲,重置初值(Gate有效),频率发生器(n分频器)-可软件设置, 软硬触发,负脉冲输出,工作模式2,负脉冲输出,3T,3T,8253工作模式2举例,重触发,重置初值,方波发生器 (软硬触发)n/2:类似于方式2,唯一不同的是,当计数到初值的一半时,输出变为低,至计数到零,输出又变高,并重新开始计数自动重装,工作模式3,每个脉冲计数-2,到0自动重装,8253工作模式3举例,初值=奇数,(n+1)/2高电平(n-1)/2低电平,Gate=0暂停,软件触发的选通信号发生器当写入控制字后,输出为高写入计数值后立即开始计数(相当于软件启动),当计数到零后,输出变低,经过一个时钟脉冲后,又变为高电平(负脉冲),计数器停止计数只计数一次)GATE=1时,允许计数;计数过程中改变计数初值,则按新计数值重新开始计数,工作模式4,8253工作模式4举例,重置初值,Gate控制,硬件触发的选通信号发生器 写入控制字后,输出为高写入计数初值后并不立即开始计数,而是由GATE信号的脉冲上升沿触发启动当计数到零后时,输出一个CLK脉冲宽度的负脉冲,输出变高,停止计数。

      直至下次GATE脉冲的触发才能计数工作模式5,8253工作模式5举例,Gate控制,重置初值,触发,需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低变高,再由高变低)才将预置寄存器的初值送到减1计数器从第二个CLK信号的下降沿,计数器才真正开始减1计数8254是8253的改进型,它们的引脚定义与排列、硬件组成等基本上是相同的因此8254的编程方式与8253是兼容的,凡是使用8253的地方均可用8254代替 允许最高计数脉冲(CLK)的频率不同8253的最高频率为2MHz,而8254允许的最高计数脉冲频率可达10MHz(8254为8MHz,8254-2为10 MHz) 8254每个计数器内部都有一个状态寄存器和状态锁存器,而8253没有 8254有一个读回命令字,用于读出当前减1计数器CE的内容和状态寄存器的内容,而8253没有此读回命令字8254与8253的区别,四、控制字,用于确定各计数器的工作方式8253必须先初始化才能正常工作每个计数器都必须初始化一次CPU通过OUT指令把控制字写入控制寄存器,SC1 SC0 RW1 RW0 M2 M1 M0 BCD,1-计数值为BCD码格式0-计数值为。

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