第 8 章 ich8 中的常规接口

72
1 现现现现现现现现现现现 现现现现现现现现现现现 ( ( 2 2 ) ) http://www.njyangqs.co http://www.njyangqs.co 第8第 ICH8 第第第第第第

Upload: sasha

Post on 19-Mar-2016

86 views

Category:

Documents


5 download

DESCRIPTION

第 8 章 ICH8 中的常规接口. 8.1 定时与计数技术. 基本概念. 1. 定时. 定义: 提供的时间基准。. 分类: 内部定时、外部定时。. 2. 计数. 计数与定时本质上是一致的。. 计数的信号随机,定时的信号具有周期性。. 3. 应用. 分时系统切换任务的时间基准、测速、计数. 定时方法. 1. 软件定时. 通过软件指令周期方法定时,如执行循环程序。. 增加 CPU 负担,通用性差,一般用于短延时。. 2. 不可编程硬件定时. 采用中小规模 IC 构成。. 不增加 CPU 负担,成本低,定时值不可改变。. 3. 可编程硬件定时. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 8 章   ICH8 中的常规接口

1

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

第 8 章 ICH8 中的常规接口

Page 2: 第 8 章   ICH8 中的常规接口

2

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1.1. 定时定时 定义:定义:提供的时间基准。 分类:分类:内部定时、外部定时。2.2. 计数计数计数与定时本质上是一致的。计数与定时本质上是一致的。

计数的信号随机,定时的信号具有周期性。计数的信号随机,定时的信号具有周期性。3.3. 应用应用分时系统切换任务的时间基准、测速、计数分时系统切换任务的时间基准、测速、计数

8.1 定时与计数技术基本概念基本概念

Page 3: 第 8 章   ICH8 中的常规接口

3

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

定时方法定时方法1.1. 软件定时软件定时 通过软件指令周期方法定时,如执行循环程序。 增加 CPU 负担,通用性差,一般用于短延时。2.2. 不可编程硬件定时不可编程硬件定时 采用中小规模 IC 构成。 不增加 CPU 负担,成本低,定时值不可改变。3.3. 可编程硬件定时可编程硬件定时 采用可编程计数器完成,软件可改变计数值。 可编程定时可编程定时 // 计数器:计数器:实质上定时和计数本质上都是脉冲计数器,定时计的是内部基准时钟源产生的脉冲,计数是计外部脉冲。

Page 4: 第 8 章   ICH8 中的常规接口

4

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3 个独立的 16 位定时 / 计数器( T/C ); 每个 T/C 功能:• 可按二、十进制( BCD )计数;• 有 6 种不同的工作方式;• 最高频率 10MHz ; (82801BA 中的为 14.31818MHz)• 有读回状态功能。 (8253 没有 )

8.1.1 8254-28.1.1 8254-2 基本功能基本功能

Page 5: 第 8 章   ICH8 中的常规接口

5

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1.1. 内部逻辑内部逻辑

总线缓冲器总线缓冲器 [8[8 位位 R/W]R/W] ::写工作方式、计数初值、当前计数值

8.1.2 8254-28.1.2 8254-2 结构与引脚结构与引脚

Page 6: 第 8 章   ICH8 中的常规接口

6

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.2. 计数器内部逻辑计数器内部逻辑

16 位当前计数值锁存器 OL

16 位减 1 计数器 CE

16 位计数初值寄存器 CR

OUT(减 1 至 0 时)

MSBLSB锁存后读出当前值

MSBLSB装入 / 读出初值

&CLK

GATE

CRCR :: 16 位 CPU 写入 [ 两次 ] 、清零CECE :: 16 位 通过 CR 写入、计数、输出OLOL :: 16 位 先锁存再读出

状态状态 REGREG :: 8 位 先锁存再读出 注意:注意: GATE 信号的作用与应用,重写 CR 的效果。 计数初值:计数初值: N=fCLKi/fOUTi, 在不同工作方式及定时 / 计数时的应用不同。

Page 7: 第 8 章   ICH8 中的常规接口

7

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3.3. 外部引脚外部引脚

(1)(1) 译码:译码: CS# 与 A1A0 : (2)(2) 读读 // 写:写: RD# 、 WR# ;

Page 8: 第 8 章   ICH8 中的常规接口

8

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

4.CPU4.CPU 操作功能及命令操作功能及命令I/OI/O 端口地址:端口地址: 8254 提供四个端口地址 ( 使用 A1A0);命令:命令:初始化—设置工作方式、设置计数器初值 操 作—重写计数器初值、取状态命令状态:状态:当前计数值、工作方式及当前状态。 I/OI/O 端口操作冲突时解决方法:端口操作冲突时解决方法: 写工作方式与写读取状态命令采用特征位方法; 读取当前计数值或读取状态采取时序方法。 82548254 命令关系表:命令关系表:

Page 9: 第 8 章   ICH8 中的常规接口

9

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

操 作 特征位 时序D7D6

0 1 0 0 0 计数初值写入 0# 计数器 ** 无0 1 0 0 1 计数初值写入 1# 计数器 ** 无0 1 0 1 0 计数初值写入 2# 计数器 ** 无0 1 0 1 1 向控制字寄存器写控制字 00~10 无

写“读计数值 / 状态”命令 11 无0 0 1 0 0 读 0# 计数器当前计数值 无 前一命令 A1A0=11 时, D7D6 为 11 且 D5 为 0时,读取的是当前计数值; D7D6 为 11 且D4 为 0 或 D7D6 为非 1

1 且 D5D4 为 00 时读取的是状态。

读 0# 计数器状态 无0 0 1 0 1 读 1# 计数器当前计数值 无

读 1# 计数器状态 无0 0 1 1 0 读 2# 计数器当前计数值 无

读 2# 计数器状态 无0 0 1 1 1 无操作1 * * * * 禁止访问

0 1 1 * * 无操作

CS#RD#WR#A1 A0

Page 10: 第 8 章   ICH8 中的常规接口

10

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1.1. 工作方式控制字(工作方式控制字( A1A0=11)A1A0=11)

特征位:特征位: D7D6=00~10 、 D5D4=01~11 ; D7D6D7D6 选择计数器选择计数器: 00 - T/C0 ; 01 - T/C1 ; 10 -T/C2

D5D4D5D4 选择读选择读 // 写方式写方式: 01 -只写低字节; 10 -只写高字节; 11 -先写低字节再写高字节( 16 位) D3D2D1D3D2D1 选择工作方式选择工作方式: 000 ~ 101 六种工作方式。 D0D0 选择计数进制选择计数进制: 0 -二进制方式; 1 - BCD 码方式。例:例: MOV AL , 01110100B ; T/C1 ,先低后高字节

OUT 43H43H , AL ;方式 2 ,二进制方式

8.1.3 8254-28.1.3 8254-2 命令及编程命令及编程

Page 11: 第 8 章   ICH8 中的常规接口

11

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.2. 计数初值计数初值 (1) 不同计数器的计数初值写到不同地址中;

A1A0 A1A0 定时定时 // 计数器计数器 0 0 T/C00 0 T/C0 0 1 T/C10 1 T/C1 1 0 T/C21 0 T/C2 (2) 每次写入一个字节; (3) 根据控制字定义,决定高、低字节写入方法。 (4) 初始值的范围是: • 二进制为二进制为 65536(0000H)65536(0000H) 、、 65535(FFFFH)~1(0001H)65535(FFFFH)~1(0001H)。。• 十进制为十进制为 10000(0000H)10000(0000H) 、、 9999(9999H)~1(0001H)9999(9999H)~1(0001H) 。 。

Page 12: 第 8 章   ICH8 中的常规接口

12

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3.T/C3.T/C 初始化初始化 (1) 写工作方式控制字 (2) 设置计数初值例例 :: MOV AL, 01110101B; T/CT/C11,, 先低后高字节先低后高字节 ,, 方式方式 2,BCD2,BCD

OUT 43H43H, ALMOV AX, 2000H ; 计数初值为计数初值为 20002000

OUT 41H41H, AL ;MOV AL, AH

OUT 41H41H , AL ; MOV AL , 00010110B; T/CT/C00,, 只低字节只低字节 ,, 方式方式 3,3, 二进制二进制 OUT 43H43H , AL MOV AL, 50H ; 计数初值为计数初值为 50H50H (( 8080 )) OUT 40H40H , AL 注意:注意: (1) 每个使用的 T/C 均要初始化; (2) 计数初值的设置与 T/C 的 CLK 密切相关; (3) 计数初值的设置方法由控制字决定。

Page 13: 第 8 章   ICH8 中的常规接口

13

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

4.T/C4.T/C 数据读取数据读取(1)(1) 读取当前计数值方法读取当前计数值方法 1-1- 工作方式控制字工作方式控制字 (A1A0=1(A1A0=11) 1) 特征位:特征位: D7D6 = 00 ~ 01 , D5D4=00 功能:功能: (a) 锁存当前计数值或禁止计数

(b) 读取当前计数值 例:例: MOV AL , 0100000101B ; T/C1, 锁存 ;先低后高字节 , 方式 2,BCD OUT 43H43H , AL IN AL , 41H41H MOV AH , AL IN AL , 41H41H XCHG AH , AL ; AX 为 T/C1 当前计数值

Page 14: 第 8 章   ICH8 中的常规接口

14

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

(2)(2) 读取当前计数值方法读取当前计数值方法 2—2— 使用读回命令使用读回命令(( A1A0=11A1A0=11))

特征位:特征位: D7D6=11 。 (A1A0=11)(A1A0=11) 功能选择:功能选择:锁存状态- D5D4=10 ; 锁存计数值- D5D4=01 ; 锁存状态与计数值- D5D4=00 。 ( 先读状态再读计数值) 计数器选择:计数器选择: D1=1—T/C0 , D2=1—T/C1 , D3=1—T/C2 特点:特点:控制字同时只能锁存单个计数器, 读回命令可同时锁存多个计数器。

Page 15: 第 8 章   ICH8 中的常规接口

15

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

例:例: MOV AL , 1111010100B ; T/C1, 锁存计数值 OUT 43H , AL IN AL , 41H ; MOV AH , AL IN AL , 41H XCHG AH , AL ; AX 为当前计数值 MOV AL , 1111011010B ; T/C0 、 T/C2 锁存计数值 OUT 43H , AL IN AL , 40H ; MOV AH , AL IN AL , 40H XCHG AH , AL ; AX 为 T/C0 当前计数值 MOV BX , AX ; BX 为 T/C0 当前计数值 IN AL , 42H ; MOV AH , AL IN AL , 42H XCHG AH , AL ; AX 为 T/C2 当前计数值

Page 16: 第 8 章   ICH8 中的常规接口

16

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

(3)(3) 读取计数器当前状态—使用读回命令读取计数器当前状态—使用读回命令

例:例: MOV AL , 11100100B ; T/C1, 锁存状态值 OUT 43H , AL IN AL , 41H ;若 AL=00110101 ,表示 T/C1

; 为方式 2,BCD 码,先低后高; 读 / 写,当前 OUT 为低电平

MOV AL , 11100010B ;T/C0, 锁存状态值 OUT 43H , AL IN AL , 40H ;若 AL=00010110 ,表示 T/C0

; 为方式 3 ,二进制码,只有低;字节,当前 OUT 为低电平

读出的状态字格式:读出的状态字格式:

Page 17: 第 8 章   ICH8 中的常规接口

17

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1.1. 方式方式 0—0— 计数结束时中断计数结束时中断

特点:特点:一次计数; GATE 高允许、下降暂停暂停、低禁止禁止、上升继续继续计数; WR# 写 [ 重写 ] 后下一脉冲下降沿重新重新计数; OUT 在控制字或计数初值写完时变低、计数值为 0时变高 (N+1 个时钟的低 ) 。

8.1.4 8254-28.1.4 8254-2 工作方式工作方式 演示

Page 18: 第 8 章   ICH8 中的常规接口

18

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.2. 方式方式 1—1— 硬件可重触发单稳硬件可重触发单稳

特点:特点:一次计数; GATE 上升重新重新、高与下降和低不影响不影响计数; WR# 写 [ 重写 ] 在下次 GATE从 0 到 1 的跳变时有效; OUT 在写入控制字后变高,开始计数时变低、计数值为 0 时变高 (N 个时钟周期的低 ) 。

演示

Page 19: 第 8 章   ICH8 中的常规接口

19

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3.3.方式方式 2—2— 频率发生器频率发生器

特点:特点:多次计数; GATE 上升重新重新、高允许、下降停止停止、低禁止禁止计数; WR# 写 [ 重写 ] 在下次计数时有效; OUT 在计数值为 1 时输出宽度为 1 个 CLK 的负脉冲 ( 周期为 N 个时钟周期,频率为 1/N 的时钟频率,实际上是对 CLK 的 N 分频 ) 。

演示

Page 20: 第 8 章   ICH8 中的常规接口

20

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

4.4. 方式方式 3—3— 方波发生器方波发生器

特点:特点:多次计数; GATE 上升重新重新、高允许、下降停止停止、低禁止禁止计数; WR# 写 [ 重写 ] 在下次计数时有效; OUT 在写入控制字后变高,计数开始后,采用每脉冲计数减 2 : 当计数初值为偶数当计数初值为偶数 NN 时时,计数到 0 时反向。脉冲宽度 T×N/2, 方波周期为 T×N 。 当计数初值为奇数当计数初值为奇数 NN 时时, OUT 变高的第一 CLK 减 1 后装入 CE ,其余每个脉冲计数减 2 。 OUT正脉冲时,计数到 0 的下一个CLK 时 OUT反向 OUT正脉冲宽度为 T×(N++1)/2 ; OUT 负脉冲时在计数到 0 时反向。负脉冲宽度为 T×(N--1)/2 ,方波周期仍然是T×N 。

演示

Page 21: 第 8 章   ICH8 中的常规接口

21

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

特点:特点:一次计数; GATE 上升重新重新、高允许、下降停止、低禁止计数; WR# 写 [ 重写 ]会立即重新重新计数(软件触发); OUT 在写入控制字及计数当中为高电平,计数值为0 时输出 1 个 CLK 的负脉冲。

5.5. 方式方式 4—4— 软件触发选通软件触发选通 演示

Page 22: 第 8 章   ICH8 中的常规接口

22

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

6.6. 方式方式 5—5— 硬件触发选通硬件触发选通

特点:特点:一次计数; GATE 上升重新重新、高与下降和低不影响计数; WR# 写 [ 重写 ] 在下次 GATE从 0 到 1 的跳变时有效; OUT 在计数值为 0 时输出 1 个 CLK 的负脉冲。

演示

Page 23: 第 8 章   ICH8 中的常规接口

23

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

   方式方式 00 方式方式 11 方式方式 22 方式方式 33 方式方式 44 方式方式 55

OUTOUT 输 出 状输 出 状态态 写 入 控 制字后变 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 触发后有效GAGATETE

00 禁止计数 无影响 禁止计数 禁止计数 禁止计数 无影响下降沿下降沿 暂停计数 无影响 停止计数 停止计数 停止计数 无影响上升沿上升沿 继续计数 从初值开始重新计数 从初值开始重新计数 从初值开始重新计数 从初值开始重新计数 从初值开始重新计数11 允许计数 无影响 允许计数 允许计数 允许计数 无影响

Page 24: 第 8 章   ICH8 中的常规接口

24

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1.1. 分频器设计分频器设计用 8254( 地址 40H~43H)将 5MHz 的脉冲变为 1Hz 的脉冲。初值 =fCLK/fOUT=5×106> 65536 ,怎么办?

CLK0GATE0

OUT0CLK1

GATE1OUT1CLK2

GATE2OUT2

D0~D7

A1

A0

RD#

WR#

CS#

5MHz

1Hz

MOV AL , 00110111B ; T/C0

OUT 43H43H , ALMOV AX, 5000HOUT 40H40H , ALMOV AL, AHOUT 40H40H , ALMOV AL , 01110101B ; T/C1

OUT 43H43H , ALMOV AX, 1000HOUT 41H41H , ALMOV AL, AHOUT 41H41H , AL

需要 2 个 T/C级联, T/C0 采用方式 3 产生连续分频方波,做 T/C1 的 CLK , T/C1 采用方式 2 产生 1Hz 脉冲。两个 T/C 的 GATE 统一控制。

8.1.5 8254-28.1.5 8254-2 应用举例应用举例

Page 25: 第 8 章   ICH8 中的常规接口

25

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.2. 占空比占空比 4:94: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.125ms=8.192秒或:或: ffCLK0CLK0/f/fOUTOUT=65536=65536 == >T>Tmaxmax=1/f=1/fOUTOUT=65536/ f=65536/ fclk0clk0

=65536/8000=8.192=65536/8000=8.192 秒秒

Page 26: 第 8 章   ICH8 中的常规接口

26

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2)D7~D0IOWIOR

Y2#

A1A2

A7

A5A4A3

≥1

≥1

A8A9A6A0

CLK1GATE1

D7~D0WR#RD#A0A1

8254CS#

CBA74LS138G1G2A#

G2B#

CLK0GATE0

OUT0

CLK2GATE2

OUT2

OUT1

8KHz

1Hz 5V

占空比4:9, 周期 9秒的方波

3)

Page 27: 第 8 章   ICH8 中的常规接口

27

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

MOV AL , 00110111B ; T/C0 OUT 96H96H , ALMOV AX, 8000HOUT 90H90H , ALMOV AL, AHOUT 90H90H , ALMOV AL , 01010111B ; T/C1 OUT 96H96H , AL MOV AL, 9HOUT 92H92H , AL

Page 28: 第 8 章   ICH8 中的常规接口

28

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3.3. 包装流水线控制包装流水线控制 某产品的包装流水线中,一个包装箱能装 24罐饮料。装箱时希望流水线上每通过 24罐饮料,流水线要停 4秒以等待包装箱封口,然后继续通过下一箱的 24罐。流水线就是这样周而复始的运作。试利用一片 8254来完成流水线控制中的定时和计数功能。假设 8254 的端口地址为8CH~8FH ,采用的时钟频率是 2KHz 。

Page 29: 第 8 章   ICH8 中的常规接口

29

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

思路思路:用 8254 的计数通道 1 作为计数器,用于 24 个罐的计数;计数通道 2 作为定时器,定时为 4S 。当计数通道 1 的 OUT 脚出现 0 到 1 的跳变的时候,将启动计数通道 2开始定时,而计数通道 2 定时阶段将控制计数通道 1 停止计数,只有其定时结束并停止定时阶段才可再次启动计数通道 1开始计数。•计数通道计数通道 11 工作在方工作在方式式 22 ,计数初值,计数初值 2424•计数通道计数通道 22 工作在方工作在方式式 11 ,计数初值,计数初值 80008000

CLK0GATE0OUT0CLK1

GATE1OUT1CLK2

GATE2OUT2

D0~D7

A1A0

RDWRCS

流水线信号fCLK 控制流水线停和运行的信号

Page 30: 第 8 章   ICH8 中的常规接口

30

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

;初始化程序;初始化程序;计数通道;计数通道 11 初始化初始化MOV AL, 01010100BOUT 8FH, ALMOV AL, 23 ;注意方式 2 的输出OUT 8DH, AL;初始化计数通道;初始化计数通道 22MOV AL, 10110010BOUT 8FH, ALMOV AX, 8000OUT 8EH, ALMOV AL, AHOUT 8EH, AL

Page 31: 第 8 章   ICH8 中的常规接口

31

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/PC 系列机定时系统结构框图

来自主板上 74LS138 的 Y2# ,地址范围是 40H~5FH ,加上 A1A0 两根地址线,组成 8254 的端口地址是 40H 、 41H 、 42H 、 43H 。

返回 1 返回 2

8.1.6 ICH8 中的 8254 模块( D31:F0 )

Page 32: 第 8 章   ICH8 中的常规接口

32

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1. 1. 计数器计数器 0—0— 系统定时器系统定时器 工作方式:工作方式: 3 方式,计数初值:计数初值: 65536 。1) 1) 系统定时器系统定时器

OUT0连接到 8259A 的 IRQ0( 中断类型号为 8)上。 fOUT0=1.1931816MHz/65536=18.2Hz , 即:每秒产生 18.2 次中断用于日时钟计时。 应用:应用:系统 BIOS 的 INT 8H 用作日时钟计时; INT 8H调用 INT 1CH 作为用户定时中断接口。2) 2) 软盘驱动器马达自动延迟控制软盘驱动器马达自动延迟控制

Page 33: 第 8 章   ICH8 中的常规接口

33

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2. 2. 计数器计数器 1—1— 动态存储器定时刷新控制动态存储器定时刷新控制 工作方式:工作方式: 2 方式,计数初值:计数初值: 18 。 连接到 8237 的 DREQ0 上,定时产生负脉冲。 脉冲宽度 =1/ 1.1931816MHz=838ns , 脉冲周期 =18/1.1931816MHz=15.08μs , 即:每隔 15.08μs 产生一个脉冲用于 RAM刷新。

Page 34: 第 8 章   ICH8 中的常规接口

34

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3. 3. 计数器计数器 2—2— 扬声器音频发生器扬声器音频发生器 工作方式:工作方式: 3 方式,计数初值:计数初值:由调用程序控制。 与 8255 的 PB 口 D1 信号“与”后连接到扬声器上,控制扬声器发声频率及时长。

82558255 控制发声:控制发声: 8254 的 OUT2=1 , CPU 控制 8255的 PB 口的 D1 位的电平实现;82548254 控制发声:控制发声: 8255 的 PB 口的 D1 位为高电平,控制 8254 的 T/C2 的 OUT2 实现。 通过改变 OUT2 的方波信号频率,就可以改变扬声器发声的音调。

CRCR预置值=预置值= CLK2CLK2 脉冲频率脉冲频率 // 发声的频率发声的频率 转图

Page 35: 第 8 章   ICH8 中的常规接口

35

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

;功能:按照指定的时间间隔发 896Hz声音;调用: CX= 指定时间;返回:无BEEP PROC FAR

IN AL , 61H; 读读 8255PB8255PB 口的当前值口的当前值MOV AH , AL PUSH AXMOV AL , 10110110BOUT 43H , ALMOV AX , 0533H ; =1.1931816MHz/896Hz=1.1931816MHz/896HzOUT 42H , ALMOV AL , AHOUT 42H , ALPOP AX

Page 36: 第 8 章   ICH8 中的常规接口

36

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

OR AL , 03H ;置 61H 端口 D0 、 D1 均为 1, ;打开扬声器OUT 61H , ALNOP

L1 : LOOP L1 ;延迟AND AL , 0FDH ;置 61H 端口 D1 为 0, ;封锁 OUT2 输出OUT 61H , ALMOV AL , AHOUT 61H , ALRET

BEEP ENDP 转图

Page 37: 第 8 章   ICH8 中的常规接口

37

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1. 1. 数据传送的控制数据传送的控制◆ 数据传送涉及的 3 个问题1 )数据的来源;2 )数据的去处;3 )数据本身以及如何控制数据的传送。

8.2.1 DMA 技术概述8.2 DMA 操作(自学)

Page 38: 第 8 章   ICH8 中的常规接口

38

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

◆DMA 方式控制的数据传送

Page 39: 第 8 章   ICH8 中的常规接口

39

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

◆DMA传送方式通常用来高速传送大批量的数据块。如: 硬盘和软盘 I/O ; 快速通信通道 I/O ; 多处理机和多程序数据块传送; 在图像处理中,对 CRT屏幕送数据; 快速数据采集; DRAM 的刷新操作。

Page 40: 第 8 章   ICH8 中的常规接口

40

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

◆ DMA传送包括:( 1 )存储单元传送:存储器→存储器。( 2 ) DMA 读传送:存储器→ I/O 设备。( 3 ) DMA 写传送: I/O 设备→存储器。

Page 41: 第 8 章   ICH8 中的常规接口

41

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.2. DMADMA 传送的工作过程 传送的工作过程 1 ) I/O 设备向 DMAC 发出 DMA请求;2 ) DMAC 向 CPU 发出总线请求;3 ) CPUCPU 在执行完当前指令的当前的总线周期在执行完当前指令的当前的总线周期后后,向 DMAC 发出总线响应信号;4 ) CPU脱离对系统总线的控制,由 DMAC

接管对系统总线的控制;

Page 42: 第 8 章   ICH8 中的常规接口

42

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

5 ) DMAC 向 I/O 设备发出的 DMA 应答信号;6 ) DMAC 进行一个字节的传送;7 )完成设定的字节数据传送, CPU恢复对系统总线的控制。

Page 43: 第 8 章   ICH8 中的常规接口

43

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3. DMA3. DMA 传送的方式 传送的方式 1) DMA 操作类型• 数据传送数据传送。数据传送是把源地址的数据传送到目的地址中去。 • 数据检验数据检验。当数据传送完毕之后,可以进行校验操作。校验操作并不进行数据传送,只进行数据校验。但操作过程仍然要通过 DMAC 向 CPU 提出申请,进入

DMA 周期。 • 数据检索数据检索。数据检索操作并不进行数据传送,只是对在指定的内存区内查找某个关键字节或某几个关键数据位是否存在,如果查找到了,就停止检索操作。

Page 44: 第 8 章   ICH8 中的常规接口

44

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2) DMA 操作方式①① 单字节操作方式单字节操作方式。每次进行 DMA 操作只操作一个字节 。②② 连续操作方式。连续操作方式。只要 DMA 操作开始, DMAC 始终占用总线,直到 DMA 操作完成,才把总线控制权交还 CPU 。③③ 请求操作方式。请求操作方式。如果有 DMA请求,则 DMAC就占用总线;当 DMA请求无效,或 DMA 操作完成,或由外部传来过程结束信号( EOP )时, DMAC都会释放总线。④④ 级联传送方式。级联传送方式。

Page 45: 第 8 章   ICH8 中的常规接口

45

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1 )主动态主动态在 DMAC获得总线控制权之后之后, DMAC 取代 CPU而成为系统的主控者,接管和控制系统总线(数据总线、地址总线和控制总线)。通过总线向存储器或 I/O设备发出地址、读 / 写信号,以控制在两个实体之间的传送。2 )被动态被动态 在 DMAC获得总线控制权之前之前, DMAC受 CPU 控制(。此时, CPU 可对 DMAC 进行初始化编程,也可从 DMAC 中读出状态。当 DMAC 上电或复位时, DMAC自动处于被动态。

4. DMA 控制器在系统中的两种工作状态

Page 46: 第 8 章   ICH8 中的常规接口

46

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1. 82C37A 的特点① 具有 4 个独立的 DMA 通道,每个通道都可独立地进行初始化。② 每个通道的 DMA请求都可以被允许或禁止。③ 每个通道的 DMA 有不同的优先级,既可以是固定优先级,也可以是循环优先级。④ 每个通道进行一次传送的最大字节数为 64K 。⑤ 提供 4 种传送方式:单字节传送方式、数据块传送方式、请求传送方式和级联传送方式。⑥ 时钟频率从 DC 到 5MHz 的全静态设计。⑦ 在 5MHz 的时钟频率下传送速率高达 1.6MB/s 。

8.2.2 82C37A 的内部结构和引脚功能说明

Page 47: 第 8 章   ICH8 中的常规接口

47

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2. 82C37A 的内部结构① DMA 通道②  读 / 写控制③ 控制逻辑

Page 48: 第 8 章   ICH8 中的常规接口

48

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

82C37A 内部逻辑框图

Page 49: 第 8 章   ICH8 中的常规接口

49

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2. 82C37A 的引脚功能

Page 50: 第 8 章   ICH8 中的常规接口

50

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

8.2.3 82C37A 的内部寄存器

Page 51: 第 8 章   ICH8 中的常规接口

51

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

1.控制寄存器

Page 52: 第 8 章   ICH8 中的常规接口

52

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.工作方式寄存器

Page 53: 第 8 章   ICH8 中的常规接口

53

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3.状态寄存器

Page 54: 第 8 章   ICH8 中的常规接口

54

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

4.请求寄存器

Page 55: 第 8 章   ICH8 中的常规接口

55

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

5.屏蔽寄存器

Page 56: 第 8 章   ICH8 中的常规接口

56

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

82C37A DMA82C37A DMA 控制器端口地址控制器端口地址

Page 57: 第 8 章   ICH8 中的常规接口

57

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

8.2.4 软命令1 )清先 / 后触发器软命令MOV AL, 0XXH ;0XXH 为 AL 中任意值OUT 0CH, AL ; 先 / 后触发器被清“ 0”

2 )总清除软命令MOV AL, 0XXH ;0XXH 为 AL 中任意值OUT 0DH, AL ; 写入总清端口,执行总清除命令3 )清屏蔽寄存器软命令。MOV AL, 0XXH ;0XXH 为 AL 中任意值OUT 0EH, AL ; 写入清屏蔽寄存器端口

Page 58: 第 8 章   ICH8 中的常规接口

58

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

8.2.5 DMA 控制器的工作时序 DMA空闲周期 SI 过渡状态 S0 DMA 有效周期( S1 、 S2 、 S3 、 S4 ) 82C37A 内部状态变化流程

Page 59: 第 8 章   ICH8 中的常规接口

59

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

Page 60: 第 8 章   ICH8 中的常规接口

60

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

8.2.6 82C37A 的初始化编程◆ 初始化编程的步骤: ①命令字写入控制寄存器 ②屏蔽字写入屏蔽寄存器 ③方式字写入方式寄存器④清“ 0” 先 / 后触发器⑤写入地址寄存器字节寄存器⑥解除屏蔽⑦写入请求寄存器

Page 61: 第 8 章   ICH8 中的常规接口

61

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

8.2.7 ICH8 中的 DMA 控制器 1. 82C37A DMAC 的级联

Page 62: 第 8 章   ICH8 中的常规接口

62

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

2.如何扩展 82C37A DMAC 的寻址空间

Page 63: 第 8 章   ICH8 中的常规接口

63

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

Page 64: 第 8 章   ICH8 中的常规接口

64

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

3.应用举例 现假设在级联的 82C37 的主片通道 1 ,将内存其始地址为 80000H 的 280H 字节的内容直接输出到外部设备。

MOV AL, 4 ; 命令字 , 禁止 82C37工作 OUT 08, AL ; 写命令寄存器 MOV AL, 0 OUT 0CH, AL ; 清除先 / 后触发器 OUT 02, AL ; 写低位地址 OUT 02, AL ; 写高位地址

Page 65: 第 8 章   ICH8 中的常规接口

65

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

MOV AL, 8 ;页面地址为 8 OUT 83H, AL ; 写页面寄存器 MOV AX, 280H ;传输字节数

DEC AXOUT 03, AL ; 写字节数低位MOV AL, AHOUT 03, AL ; 写字节数高位MOV AL, 49H ; 模式字 : 单字节读 , 地址加 1OUT 0BH, AL

Page 66: 第 8 章   ICH8 中的常规接口

66

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

MOV AL, 40H ; 命令字 : DACK 和 DREQ 低有效OUT 08H, AL ;正常时序 , 固定优先权MOV AL, 01 ; 清除通道 1屏蔽OUT 0AH, AL

WAITF: IN AL, 08 ; 读通道 1 状态 AND AL, 02 ;传输完成否

JZ WAITF ; 没完成则等待MOV AL, 05 ; 完成后屏蔽通道 1OUT 0A, AL……

Page 67: 第 8 章   ICH8 中的常规接口

67

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

8.3.1 MC1468188.3.1 MC146818 特性及工作原理特性及工作原理

MC146818MC146818 外部引脚图外部引脚图

8.3 实时钟电路及其应用(自学)

Page 68: 第 8 章   ICH8 中的常规接口

68

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

MC146818MC146818 在系统中连接框图在系统中连接框图

Page 69: 第 8 章   ICH8 中的常规接口

69

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/实时钟工作原理示意图实时钟工作原理示意图

Page 70: 第 8 章   ICH8 中的常规接口

70

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

偏移地址 信息内容 偏移地址 信息内容0 秒 7 日1 报警秒 8 月2 分 9 年3 报警分 0A 状态寄存器 A4 时 0B 状态寄存器 B5 报警时 0C 状态寄存器 C6 星期几 0D 状态寄存器 D

32H 日 期 世 纪

COMS RAMCOMS RAM 实时钟信息存放位置表实时钟信息存放位置表

可以用 INT 1A 功能读取或设置这些值。

Page 71: 第 8 章   ICH8 中的常规接口

71

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

815EP芯片组 82801BA 的 RTC 电路包含 128 字节标准 CMOS RAM 区和 128 字节扩展 CMOS RAM区。 访问 RT/CMOS RAM 的端口地址范围从 70H~77H。其中, 70H 和 71H 用来访问标准 CMOS RAM 区, 72H, 73H 用来访问扩展 CMOS RAM 区。 MOV AL , 6H ; 6H 是存放 "星期几 " 的单元偏移地址OUT 70H , AL ;送地址端口JMP $+2 ;芯片 I/O 延时要求IN AL , 71H ;读数据端口MOV AH, AL ; AH 中存放的是当前“星期几”的信息 ; 0 表示星期日

8.3.2 RT/CMOS RAM8.3.2 RT/CMOS RAM 操作操作

Page 72: 第 8 章   ICH8 中的常规接口

72

现代微机原理与接口技术现代微机原理与接口技术 (( 第第 22版版 ))

http://www.njyangqs.com/http://www.njyangqs.com/

基本原理是破坏 CMOS 中的设置,使得开机后必须重新设置 CMOS ,从而破解密码。mov AL, 2EHout 70H, AL mov AL, 00H out 71H, AL mov AL, 2FHout 70H, AL mov AL, 00H out 71H, AL

CMOS 中偏移为 2EH 和 2FH的位置放的是标准校验和

8.3.3 CMOS 8.3.3 CMOS 密码的破解密码的破解