1 / 58

第九 章 计数器 和定时器电路

第一节 概述. 第九 章 计数器 和定时器电路. 第二节 Intel 8253 的控制字. 第三节 Intel 8253 的工作方式. 第四节 Intel 8253 在 IBM PC 机上的应用. 第五节 8253 的应用. 定时 / 计数器可以实现定时与计数两个功能,可用于: 系统时钟 DRAM 刷新定时 定时采样 实时控制 脉冲的计数 。。。. 第一节 概述. 如何实现定时?. 软件方法: 用一段程序实现延时 利用 程序循环 延迟指定的时间 缺点: CPU 占用率?延时精度?兼容? 硬件方法: 定时 / 计数器电路

dara
Télécharger la présentation

第九 章 计数器 和定时器电路

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

  9. 图9-1 计数器逻辑图

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

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

  12. 1 BCD码计数 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先读/写计数器低字节, 后读/写高字节 控制字寄存器 (A1A0 = 1 1) SC1 SC0 RL1 RL0 M2 M1 M0 BCD 8253控制字

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  40. 工作方式总结

  41. 第四节 Intel8253在IBM PC机上的应用

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

  43. 参考程序

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

  45. 参考程序

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

  47. 2、设计思路 各音符的频率值 要使计算机成为可以弹奏的钢琴,需要使用系统调用的01H功能以接收键入字符,可以通过建立一张键入字符与频率值相关的表,在程序中通过查表的方法将键入字符转化成频率值

More Related