计算机通信接口技术第5章_第1页
计算机通信接口技术第5章_第2页
计算机通信接口技术第5章_第3页
计算机通信接口技术第5章_第4页
计算机通信接口技术第5章_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章时间接口2023最新整理收集do

something5.1概述5.1.1定时与计数1.定时

定义:提供的时间基准。

分类:内部定时、外部定时。2.计数

定时与计数本质上是一致的。

计数的信号随机,定时的信号具有周期性。3.应用5.1.2定时方法1.软件定时

通过软件指令周期方法定时,如执行循环程序。

增加CPU负担,通用性差,一般用于短延时。2.不可编程硬件定时

采用中小规模IC构成。

不增加CPU负担,成本低,定时值不可改变。3.可编程硬件定时

采用可编程计数器完成,软件可改变计数值。

可编程定时/计数器:实质上定时和计数本质上都是脉冲计数器,定时计的是内部基准时钟源产生的脉冲,计数是计外部脉冲。5.1.3定时/计数器基本原理1.内部逻辑CPU接口:

译码、操作外设接口:

时钟信号、控制、输出内部逻辑:

REG2.工作过程

设初值、控制、输出5.2Intel82548253→82545.2.18254基本功能3个独立的16位定时/计数器(T/C);

每个T/C功能:可按二、十进制(BCD)计数;有6种不同的工作方式;最高频率10MHz;(82801BA为14.31818MHz)

有读回状态功能。(8253没有)5.2.28254结构与引脚1.内部逻辑

总线缓冲器[8位R/W]:写工作方式、计数初值、当前计数值2.计数器内部逻辑16位当前计数值锁存器OL16位减1计数器CE16位计数初值寄存器CROUT(减1至0时)MSBLSB锁存后读出当前值MSBLSB装入/读出初值&CLKGATECR:16位写入[两次]、清零CE:16位写入、计数、输出OL:16位先锁存再读出状态REG:8位先锁存再读出

注意:GATE信号的作用与应用,重写CR的效果。

计数初值:N=fCLKi/fOUTi,在不同工作方式及定时/计数时的应用不同。3.外部引脚

(1)译码:CS与A1A0:

(2)读/写:RD、WR;4.CPU操作功能及命令I/O端口地址:8254提供四个端口(使用A1A0);命令:初始化—设置工作方式、设置计数器初值; 操作—重写计数器初值、取状态命令。状态:当前计数值、工作方式及当前状态。

I/O端口操作冲突时解决方法:

写工作方式与写读取状态命令采用特征位方法;

读取当前计数值或读取状态采取时序方法。

8254命令关系表:操作特征位时序D7D601000计数初值写入0#计数器**无01001计数初值写入1#计数器**无01010计数初值写入2#计数器**无01011向控制字REG写控制字00~10无写“读计数值/状态”命令11无00100读0#计数器当前计数值无前一命令A1A0=11时,D7D6为11且D5为0或D7D6为非11且D5D4为00时,读取的是当前计数值;D7D6为11且D4为0读取的是状态。读0#计数器状态无00101读1#计数器当前计数值无读1#计数器状态无00110读2#计数器当前计数值无读2#计数器状态无00111无操作1****禁止访问011**无操作CSRDWRA1A05.2.38254命令及编程1.工作方式控制字(A1A0=11)

特征位:D7D6=00~10、D5D4=01~11;

D7D6选择计数器:00-T/C0;01-T/C1;10-T/C2

D5D4选择读/写方式:01-只写低字节;10-只写高字节;11-先写低字节再写高字节(16位)

D3D2D1选择工作方式:000~101六种工作方式。

D0选择计数进制:0-二进制方式;1-BCD码方式。例:MOV AL,01110100B;T/C1,先低后高字节

OUT

43H,AL;方式2,二进制方式2.计数初值(1)不同通道的计数初值写到不同地址中;

A1A0定时/计数器

00T/C001T/C110T/C2(2)每次写入一个字节;

(3)根据控制字定义,决定高、低字节写入方法。

(4)初始值的范围是:二进制为65536(0000H)、65535(FFFFH)~1(0001H)。十进制为10000(0000H)、9999(9999H)~1(0001H)。3.T/C初始化(1)写工作方式控制字

(2)设置计数初值例: MOVAL,01110101B;

T/C1,先低后高字节,方式2,BCD

OUT

43H,AL

MOV

AX,2000H;

计数初值为2000

OUT

41H,AL;

MOVAL,AH

OUT

41H,AL;

MOVAL,00010110B;

T/C0,只低字节,方式3,二进制

OUT

43H,AL

OUT40H,50H;

计数初值为50H(80)

注意:(1)每个使用的T/C均要初始化;

(2)计数初值的设置与T/C的CLK密切相关;

(3)计数初值的设置方法由控制字决定。4.T/C数据读取(1)读取当前计数值方法1

工作方式控制字(A1A0=11)D7D6=00~01,D5D4=00(a)锁存当前计数值或禁止计数

(b)读取当前计数值

例:MOV AL,01000101B;T/C1,锁存 ;先低后高字节,方式2,BCD OUT 43H,AL IN AL,41H MOV AH,AL IN AL,41H XCHG AH,AL;AX为T/C1当前计数值(2)读取当前计数值方法2—使用读回命令(A1A0=11)

特征位:D7D6=11。(A1A0=11)

功能选择:锁存状态-D5D4=10; 锁存计数值-D5D4=01; 锁存状态与计数值-D5D4=00。(先读状态再读计数值)

计数器选择:D1=1—T/C0,D2=1—T/C1,D3=1—T/C2

特点:控制字同时只能锁存单个通道,读回命令可同时锁存多个通道。例: MOV AL,11010100B ;T/C1,锁存计数值

OUT 43H,AL IN AL,41H;

MOVAH,AL IN AL,41H XCHGAH,AL ;AX为当前计数值

MOVAL,11011010B ;T/C0、T/C2锁存计数值

OUT 43H,AL IN AL,40H;

MOV AH,AL IN AL,40H XCHGAH,AL ;AX为T/C0当前计数值

IN AL,42H;

MOV AH,AL IN AL,42H XCHGAH,AL ;AX为T/C2当前计数值(3)读取计数器当前状态—使用读回命令

例:MOV AL,11100100B ;T/C1,锁存状态值

OUT 43H,AL IN AL,41H ;若AL=00110101,表示T/C1

;

为方式2,BCD码,先低后高

;读/写,当前OUT为低电平

MOVAL,11100010B ;T/C0,锁存状态值

OUT 43H,AL IN AL,40H ;若AL=00010110,表示T/C0 ;为方式3,二进制码,只有低 ;字节,当前OUT为低电平

读出的状态字格式:5.2.48254工作方式1.方式0—计数结束时中断

特点:一次计数;

GATE高允许、下降暂停、低禁止、上升继续计数;

WR#写[重写]后下一脉冲下降沿重新计数;

OUT在控制字或计数初值写完时变低、计数值为0时变高(N+1个时钟的低)。2.方式1—硬件可重触发单稳

特点:一次计数;

GATE上升重新、高与下降和低不影响计数;

WR#写[重写]在下次GATE从0到1的跳变时有效;

OUT在写入控制字后变高,开始计数时变低、计数值为0时变高(N个时钟周期的低)。3.方式2—频率发生器

特点:多次计数;

GATE上升重新、高允许、下降停止、低禁止计数;

WR#写[重写]在下次计数时有效;

OUT在计数值为1时输出宽度为1个CLK的负脉冲(周期为N个时钟周期,频率为1/N的时钟频率,实际上是对CLK的N分频)。4.方式3—方波发生器

特点:多次计数;

GATE上升重新、高允许、下降停止、低禁止计数;

WR#写[重写]在下次计数时有效;

OUT在写入控制字后变高,计数开始后,采用每脉冲计数减2:

当计数初值为偶数N时,计数到0时反向。脉冲宽度T×N/2,方波周期为T×N。

当计数初值为奇数N时,OUT变高的第一CLK减1后装入CE,其余每个脉冲计数减2。OUT正脉冲时,计数到0的下一个CLK时OUT反向OUT正脉冲宽度为T×(N+1)/2;OUT负脉冲时在计数到0时反向。负脉冲宽度为T×(N-1)/2,方波周期仍然是T×N。

特点:一次计数;

GATE上升重新、高允许、下降停止、低禁止计数;

WR#写[重写]会立即重新计数(软件触发);

OUT在写入控制字及计数当中为高电平,计数值为0时输出1个CLK的负脉冲。5.方式4—软件触发选通6.方式5—硬件触发选通

特点:一次计数;

GATE上升重新、高与下降和低不影响计数;

WR#写[重写]在下次GATE从0到1的跳变时有效;

OUT在计数值为0时输出1个CLK的负脉冲。

方式0方式1方式2方式3方式4方式5OUT输出状态写入控制字后变0,计数结束变1,并维持至重写控制字或计数初值写入控制字后变1,GATE上升沿触发变0,开始计数,计数结束变1写入控制字后变1,计数到1变0,维持一个Tclk变1写入控制字后变1,装入初值且GATE=1则OUT变1,计数到变0,重装初值继续计数,计数到则反向写入控制字后变1,计数结束变0,维持一个Tclk变1写入控制字后变1,GATE上升沿触发开始计数,计数结束输出一个CLK的负脉冲初值自动重装无无计数到0重装根据初值奇偶分别重装;无无计数过程中改变初值立即有效GATE触发后有效计数到1或GATE触发后有效计数结束或GATE触发后有效立即有效GATE触发后有效GATE0禁止计数无影响禁止计数禁止计数禁止计数无影响下降沿暂停计数无影响停止计数停止计数停止计数无影响上升沿继续计数从初值开始重新计数从初值开始重新计数从初值开始重新计数从初值开始重新计数从初值开始重新计数1允许计数无影响允许计数允许计数允许计数无影响5.2.58254应用举例1.分频器设计用8254(地址40H~43H)将5MHz的脉冲变为1Hz的脉冲。初值=fCLK/fOUT=5×106>65536,怎么办?CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D0~D7A1A0RDWRCS5MHz1HzMOVAL,00110111B;T/C0OUT43H,ALMOVAX,5000HOUT40H,ALMOVAL,AHOUT40H,ALMOVAL,01110101B;T/C1MOVAX,1000HOUT41H,ALMOVAL,AHOUT41H,AL需要2个T/C级联,T/C0采用方式3产生连续分频方波,做T/C1的CLK,T/C1采用方式2产生1Hz脉冲。两个T/C的GATE统一控制。2.占空比4:9的方波发生器8254的CLK0的时钟频率是8KHz,问1)T/C0最大定时时间是多少?2)要求8254端口地址为90H、92H、94H和96H,请使用74LS138译码器加简单门电路完成地址连线。3)现在要求使用该8254产生周期为9秒,占空比为4:9的方波,请在上面的电路图中完成电路,并编写初始化程序。答:1)TCLK0=1/fCLK0=1/8000=0.125ms最大定时时间=65536×0.25ms=8.192秒或:fCLK0/fOUT=65536=>Tmax=1/fOUT=65536/fclk0=65536/8000=8.192秒2)D7~D0IOWIORY2A1A2A7A5A4A3≥1≥1A8A9A6A0CLK1GATE1D7~D0WRRDA0A18254CSCBA74LS138G1G2AG2BCLK0GATE0OUT0CLK0GATE0OUT0OUT18KHz1Hz5V占空比4:9,周期9秒的方波3)MOVAL,00110111B;T/C0OUT96H,ALMOVAX,8000HOUT90H,ALMOVAL,AHOUT90H,ALMOVAL,01110111B;T/C1MOVAX,9HOUT

92H,ALMOVAL,AHOUT92H,AL5.38254在微机中应用PC系列机定时系统结构框图来自主板上74LS138的Y2,地址范围是40H~5FH,加上A1A0两根地址线,组成8254的端口地址是40H、41H、42H、43H。5.3.1计数器0—系统定时器

工作方式:3方式,计数初值:65536。1.系统定时器OUT0连接到8259A的IRQ0(中断类型号为8)上。

fOUT0=1.1931816MHz/65536=18.2Hz,即:每秒产生18.2次中断用于日时钟计时。

应用:系统BIOS的INT8H用作日时钟计时;

INT8H调用INT1CH作为用户定时中断接口。2.软盘驱动器马达自动延迟控制6.3.2计数器1—动态存储器定时刷新控制

工作方式:2方式,计数初值:18。

连接到8237的DREQ0上,定时产生负脉冲。脉冲宽度=1/1.1931816MHz=838ns,脉冲周期=18/1.1931816MHz=15.08μs,即:每隔15.08μs产生一个脉冲用于刷新。6.3.3计数器2—扬声器音频发生器

工作方式:3方式,计数初值:由调用程序控制。

与8255的PB口D1信号“与”后连接到扬声器上,控制扬声器发声频率及时长。8255控制发声:8254的OUT2=1,CPU控制8255的PB口的D1位的电平实现;8254控制发声:8255的PB口的D1位

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论