slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
第九 章 计数器 和定时器电路 PowerPoint Presentation
Download Presentation
第九 章 计数器 和定时器电路

Loading in 2 Seconds...

play fullscreen
1 / 58

第九 章 计数器 和定时器电路 - PowerPoint PPT Presentation


  • 160 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '第九 章 计数器 和定时器电路' - dara


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide4

第一节 概述

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

第二节 Intel 8253的控制字

第三节 Intel 8253的工作方式

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

第五节 8253的应用

slide5

定时/计数器可以实现定时与计数两个功能,可用于:定时/计数器可以实现定时与计数两个功能,可用于:

系统时钟

DRAM刷新定时

定时采样

实时控制

脉冲的计数

。。。

第一节 概述
slide6
如何实现定时?
  • 软件方法:用一段程序实现延时
    • 利用程序循环延迟指定的时间
    • 缺点:CPU占用率?延时精度?兼容?
  • 硬件方法:定时/计数器电路
    • 利用脉冲计数在设定的时间输出定时信号

● 8253是一种硬件定时/计数器芯片

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

每个通道都可以通过编程设定为6种工作方式之一

可设定为按二进制计数或二―十进制计数

8253的基本功能
slide9

数据

总线

缓冲器

内部总线

计数器

0

CLK0

GATE0

OUT0

RD

读/写

控制

电路

WR

计数器

1

CLK1

A0

GATE1

A1

OUT1

CS

读/写

控制

电路

计数器

2

CLK1

GATE1

OUT1

8253的内部结构和引脚信号

D7-D0

slide10
外部引线及内部结构

连接系统端的主要引线:

  • D7~D0
  • CS
  • RD
  • WR
  • A1,A0
    • 用于选择四个编址部件之一

A1 A0 选 择

0 0 计数通道0

0 1 计数通道1

1 0 计数通道2

1 1 控制寄存器

slide11
外部引线及内部结构

计数通道的主要引线(每通道均相同):

  • CLKn时钟脉冲输入,计数器的计时基准。
  • GATEn 门控信号输入,控制计数器的启停。
  • OUTn计数器输出信号,不同工作方式下

产生不同波形。

  • (n = 0~2)
slide13
定时/计数器的工作过程

1. 设置8253的工作方式

2. 设置计数初值到初值寄存器

3. 第一个CLK信号使初值寄存器的内容置入

计数寄存器

4. 以后每来一个CLK信号,计数寄存器减1

5. 减到0时,OUT端输出一特殊波形的信号

注:以上计数过程中还受到GATE信号的控制

intel 8253
第二节 Intel 8253的控制字

用于确定各计数器的工作方式。

8253必须先初始化才能正常工作。

每个计数器都必须初始化一次。

CPU通过OUT指令把控制字写入控制寄存器。

a 1 a 0 1 1

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控制字

slide16

若要用通道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
slide17

读取通道0的16位计数值:

MOV AL,00H

OUT 07H,AL

IN AL,04H

MOV CL,AL

IN AL,04H

MOV CH,AL

intel 82531

工作方式

第三节 Intel 8253的工作方式

方式0——计数结束中断

方式1——可重复触发的单稳态触发器

方式2——频率发生器

方式3——方波发生器

方式4——软件触发选通

方式5——硬件触发选通

slide19

8253的工作方式

1、方式0

CW=10

LSB=4

WR

CLK

GATE

OUT

4

3

2

1

0

FF

FE

图9-4 方式0的波形

slide22

方式0特点:

(1)计数器只计数一遍

(2)输出信号OUT会在N+1个CLK脉冲后变高

(3)GATE变低电平可以停止计数过程

(4)改变计数立即有效

slide23
2、方式1

CW=12

LSB=3

WR

CLK

GATE

OUT

0

FF

3

2

1

3

2

图9-7 方式1的波形

slide25

LSB=4

图9-9 方式1在计数过程改变计数值

slide26

方式1特点:

(1)计数到0后,如果有外部触发,就可以按原来的计数初值工作

(2)计数过程中GATE信号可以用作重新触发,计数器重新计数

(3)改变计数初值并不是立即有效

slide27

3、方式2

CW=14

LSB=3

WR

CLK

GATE

OUT

3

2

1 0

2

1

0

图9-10 方式2的波形

slide30

方式2特点:

(1)不用重新设置计数值,计数器可以连续工作

(2)以GATE信号停止计数。在GATE变成高电平后的下一个CLK脉冲,计数器恢复原来的初值,重新计数

(3)改变计数值不是立即有效

slide31

4、方式3

CW=16

LSB=4

WR

CLK

GATE

OUT

4

2

4

2

4

2

4

2

4

2

图9-13 方式3波形(计数值为偶数)

slide34

方式3特点:

(1)GATE信号由低变高可以使计数过程重新开始

(2)改变计数初值并不影响现行的计数过程

slide35

5、方式4

CW=18

LSB=3

WR

CLK

GATE

OUT

3

2

1

0

FF

FE

FD

图9-16 方式4的波形

slide38

方式4特点:

(1)如果设置计数初值为N,则输出信号OUT会在N+1个CLK脉冲后输出一个负脉冲。

(2)改变计数值为立即有效

slide39

6、方式5

CW=1A

LSB=3

WR

CLK

GATE

OUT

3

2

1

0

FF

3

图9-19 方式5的波形

slide42

方式5特点:

(1)若设置计数值为N,则经过N+1个CLK脉冲后OUT引脚输出一个负脉冲

(2)GATE信号重新触发,可以令计数器重新计数

(3)改变计数初值并不是立即有效

slide45

编程控制计算机扬声器发声:

(1)通过PB1对扬声器控制

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

slide47

(2)通过8253计数器2对扬声器控制

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

slide49
第五节 8253的应用
  • 一、计算机钢琴程序

1、设计要求:

利用8253定时器的作用,通过控制计算机内部的扬声器,当键盘输入为数字键1~8的时候,依次发出1~8八个音调。当键盘输入为CTRL+C时推出“钢琴”状态

slide50
2、设计思路

各音符的频率值

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

slide51

接收键入字符

是CTRL+C键?

Y

结束

N

键入字符值转化为查表偏移量

常数120000H作为被除数

查表所得频率值作为除数

相除得到计数初值

初始化8253计数器2

设置8255PB1=PB0=1

延时

关闭与门,切断脉冲信号源

slide52

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

slide53

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,10110110B

OUT 43H,AL ;设置8253计数器控制字

MOV AX,BX

OUT 42H,AL

slide54

MOV AL,AH

OUT 42H,AL

IN AL,61H

OR AL,03H

OUT 61H,AL ;打开与门

CALL DELAY ;软件延时

IN AL,61H

AND AL,0FCH

OUT 61H,AL

JMP SING

DONE:MOV AX,4C00H ;结束

INT 21H

DELAYPROC NEAR

PUSH CX

PUSH AX

MOV AX,03H

slide55

LOOP1:MOV CX,0FFFFH

LOOP2:DEC CX

JNZ LOOP2

DEC AX

JNZ LOOP1

POP AX

POP CX

RET

DELAY ENDP

CODE ENDS

END START

slide56

二、自动计数系统。

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

slide57

+5V

工件

OUT0

光源

TNT

光敏电阻

R

5MHz

8255PA1

CLK1

GATE1

OUT1

驱动器

扬声器