Presentation is loading. Please wait.

Presentation is loading. Please wait.

第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.

Similar presentations


Presentation on theme: "第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用."— Presentation transcript:

1

2

3

4 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式
第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用 第五节 8253的应用

5 第一节 概述 定时/计数器可以实现定时与计数两个功能,可用于: 系统时钟 DRAM刷新定时 定时采样 实时控制 脉冲的计数 。。。

6 如何实现定时? 软件方法:用一段程序实现延时 硬件方法:定时/计数器电路 利用程序循环延迟指定的时间 缺点:CPU占用率?延时精度?兼容?
利用脉冲计数在设定的时间输出定时信号 ● 8253是一种硬件定时/计数器芯片

7 外部引线及内部结构 8253概貌 3个16位的定时/计数器(通道) 24引脚双列直插式 最高计数频率2MHz TTL电平兼容
单电源+5V供电

8 3个独立的16位计数器通道 每个通道都可以通过编程设定为6种工作方式之一 可设定为按二进制计数或二―十进制计数
8253的基本功能 3个独立的16位计数器通道 每个通道都可以通过编程设定为6种工作方式之一 可设定为按二进制计数或二―十进制计数

9 8253的内部结构和引脚信号 A0 A1 CS 计数器 1 2 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 数据 总线
1 2 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 数据 总线 缓冲器 读/写 控制 电路 RD WR A0 A1 CS 内部总线 D7-D0

10 外部引线及内部结构 连接系统端的主要引线: D7~D0 CS RD WR A1,A0 A1 A0 选 择 0 0 计数通道0
用于选择四个编址部件之一 A1 A 选 择 计数通道0 计数通道1 计数通道2 控制寄存器

11 外部引线及内部结构 计数通道的主要引线(每通道均相同): CLKn 时钟脉冲输入,计数器的计时基准。
GATEn 门控信号输入,控制计数器的启停。 OUTn 计数器输出信号,不同工作方式下 产生不同波形。 (n = 0~2)

12 图9-1 计数器逻辑图

13 定时/计数器的工作过程 1. 设置8253的工作方式 2. 设置计数初值到初值寄存器 3. 第一个CLK信号使初值寄存器的内容置入
计数寄存器 4. 以后每来一个CLK信号,计数寄存器减1 5. 减到0时,OUT端输出一特殊波形的信号 注:以上计数过程中还受到GATE信号的控制

14 CPU通过OUT指令把控制字写入控制寄存器。
第二节 Intel 8253的控制字 用于确定各计数器的工作方式。 8253必须先初始化才能正常工作。 每个计数器都必须初始化一次。 CPU通过OUT指令把控制字写入控制寄存器。

15 控制字寄存器 (A1A0 = 1 1 ) SC1 SC0 RL1 RL0 M2 M1 M0 BCD 1 BCD码计数 0 2进制计数
0 2进制计数 00 计数器0 01 计数器1 10 计数器2 1 1 无效 计数器选择: 000 方式 0 001 方式 1 10 方式 2 11 方式 3 100 方式 4 101 方式 5 方式选择 读写操作 00 计数器锁存,供CPU读 01只读/写计数器低字节 10只读/写计数器高字节 11先读/写计数器低字节, 后读/写高字节 8253控制字

16 若要用通道1,工作在方式2,按二--十进制计数,计数值为1005H,端口地址为04H~07H,则初始化编程为:
MOV AL,75H OUT 07H,AL MOV AL,05H OUT 05H,AL MOV AL,10H

17 读取通道0的16位计数值: MOV AL,00H OUT 07H,AL IN AL,04H MOV CL,AL MOV CH,AL

18 工作方式 第三节 Intel 8253的工作方式 方式1——可重复触发的单稳态触发器 方式2——频率发生器 方式3——方波发生器
方式0——计数结束中断 方式1——可重复触发的单稳态触发器 方式2——频率发生器 方式3——方波发生器 方式4——软件触发选通 方式5——硬件触发选通

19 8253的工作方式 1、方式0 CW=10 LSB=4 WR CLK GATE OUT 4 3 2 1 FF FE 图9-4 方式0的波形

20 图9-5 方式0 GATE信号的作用

21 图9-6 方式0 在计数过程改变计数值

22 方式0特点: (1)计数器只计数一遍 (2)输出信号OUT会在N+1个CLK脉冲后变高 (3)GATE变低电平可以停止计数过程
(4)改变计数立即有效

23 2、方式1 CW=12 LSB=3 WR CLK GATE OUT FF 3 2 1 3 2 图9-7 方式1的波形

24 图9-8 方式1 GATE信号的作用

25 LSB=4 图9-9 方式1在计数过程改变计数值

26 方式1特点: (1)计数到0后,如果有外部触发,就可以按原来的计数初值工作 (2)计数过程中GATE信号可以用作重新触发,计数器重新计数 (3)改变计数初值并不是立即有效

27 3、方式2 CW=14 LSB=3 WR CLK GATE OUT 3 2 1 0 2 1 图9-10 方式2的波形

28 图9-11 方式2  GATE信号的作用

29 图9-12 方式2在计数过程中改变计数值

30 方式2特点: (1)不用重新设置计数值,计数器可以连续工作 (2)以GATE信号停止计数。在GATE变成高电平后的下一个CLK脉冲,计数器恢复原来的初值,重新计数 (3)改变计数值不是立即有效

31 4、方式3 CW=16 LSB=4 WR CLK GATE OUT 4 2 4 2 4 2 4 2 4 2
图9-13 方式3波形(计数值为偶数)

32 图9-14 方式3波形(计数值为奇数)

33 图9-15 方式3 GATE信号的作用

34 方式3特点: (1)GATE信号由低变高可以使计数过程重新开始 (2)改变计数初值并不影响现行的计数过程

35 5、方式4 CW=18 LSB=3 WR CLK GATE OUT 3 2 1 FF FE FD 图9-16 方式4的波形

36 图9-17 方式4 GATE信号的作用

37 图9-18 方式4在计数过程中改变计数值

38 方式4特点: (1)如果设置计数初值为N,则输出信号OUT会在N+1个CLK脉冲后输出一个负脉冲。 (2)改变计数值为立即有效

39 6、方式5 CW=1A LSB=3 WR CLK GATE OUT 3 2 1 FF 3 图9-19 方式5的波形

40 图9-20 方式5 GATE信号的作用

41 图9-21 方式5在计数过程中改变计数值

42 方式5特点: (1)若设置计数值为N,则经过N+1个CLK脉冲后OUT引脚输出一个负脉冲 (2)GATE信号重新触发,可以令计数器重新计数 (3)改变计数初值并不是立即有效

43 工作方式总结

44 第四节 Intel 8253在IBM PC机上的应用

45 编程控制计算机扬声器发声: (1)通过PB1对扬声器控制 PB0=0使得8253计数器2的OUT2输出为高电平。然后通过编程使得PB1不断进行反相操作,高低电平分别持续相同的时间,使得输出一定频率的方波,驱动扬声器发声

46 参考程序

47 (2)通过8253计数器2对扬声器控制 8255PB0端口输出为高电平,使能8253计数器2;PB1端口也为高电平,打开与门。计数器2工作在方式3,通过预置合适的计数初值,使得计数器2输出一定频率的方波

48 参考程序

49 第五节 8253的应用 一、计算机钢琴程序 1、设计要求:
第五节 8253的应用 一、计算机钢琴程序 1、设计要求: 利用8253定时器的作用,通过控制计算机内部的扬声器,当键盘输入为数字键1~8的时候,依次发出1~8八个音调。当键盘输入为CTRL+C时推出“钢琴”状态

50 2、设计思路 各音符的频率值 键入字符 1 2 3 4 5 6 7 8 音符 频率值 524 588 660 698 784 880 988 1048 要使计算机成为可以弹奏的钢琴,需要使用系统调用的01H功能以接收键入字符,可以通过建立一张键入字符与频率值相关的表,在程序中通过查表的方法将键入字符转化成频率值

51 结束 键入字符值转化为查表偏移量 相除得到计数初值 初始化8253计数器2 延时 关闭与门,切断脉冲信号源
接收键入字符 是CTRL+C键? Y 结束 N 键入字符值转化为查表偏移量 常数120000H作为被除数 查表所得频率值作为除数 相除得到计数初值 初始化8253计数器2 设置8255PB1=PB0=1 延时 关闭与门,切断脉冲信号源

52 DATA SEGMENT TABLE DW 524,588,660,784,880,988,1048 DATA ENDS STACK SEGMENT STA DB 20 DUP (?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

53 SING:MOV AH,01H INT 21H ;接收键入字符 CMP AL,03H ;是CTRL+C键? JZ DONE ;是则结束 SUB AL,31H SHL AL,01 ;转化为查表偏移量(每一表项占两字节) MOV BL,AL MOV AX,0000H MOV DX,12H MOV BH,00 DIV WORD PTR [TABLE+BX] ;相除求得频率值 MOV BX,AX MOV AL, B OUT 43H,AL ;设置8253计数器控制字 MOV AX,BX OUT 42H,AL

54 MOV AL,AH OUT 42H,AL IN AL,61H OR AL,03H OUT 61H,AL ;打开与门 CALL DELAY ;软件延时 AND AL,0FCH OUT 61H,AL JMP SING DONE:MOV AX,4C00H ;结束 INT 21H DELAY PROC NEAR PUSH CX PUSH AX MOV AX,03H

55 LOOP1:MOV CX,0FFFFH LOOP2:DEC CX JNZ LOOP2 DEC AX JNZ LOOP1 POP AX POP CX RET DELAY ENDP CODE ENDS END START

56 二、自动计数系统。   当工件从光源与光敏电阻之间通过时,CLK0端即可接收到一个脉冲信号,由计数器0计数。每当有80个工件通过后,由输出端OUT0输出一个负脉冲作为中断请求信号通知CPU。CPU在处理该中断的中断服务程序中启动计数器1,由OUT1产生2000Hz的方波驱动蜂鸣器发声,提示工件以满80个,5秒后扬声器停止发声。

57 光敏电阻 驱动器 扬声器 CLK1 GATE1 5MHz 8255PA1 OUT0 TNT OUT1 光源 工件 R +5V

58


Download ppt "第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用."

Similar presentations


Ads by Google