第三章 定时/计数技术

54
微微微微微微微微微微微微 微微微 微微 微微微微 微微微 微微 微微微微 微微微微 微微微微 1 1 微微微微微微微微微微 微微微微微微微微微微 2 2 8254 8254 微微微微微微微微微微微微微微微 微微微微微微微微微微微微微微微 3 3 8254 8254 微微微微微微微微微微微微微 微微微微微微微微微微微微微 5 5 8254 8254 微微微 微微微 4 4 微微微微微 微微微微微 MCl46818 MCl46818 微微微微 微微微微

description

第三章 定时/计数技术.  本章重点 : (1)定时与计数的概念理解 (2)8254的外部特性及内部工作方式的理解 (3)8254方式命令字及计数初值的设置 (5)8254的应用 (4) 实时钟电路 MCl46818 及其应用. 3.1 8254/8253定时计数器. 1.定时与计数 2.微机系统中的定时 微机系统中常为 CPU 或外设提供时间标记、对外部事件计数。需要系统的定时问题。 微机系统中的定时可分为两种: 内部定时和外部定时。 内部定时 是计算机本身运行的时间基准或时序关系。 外部定时 是外设实现某种功能时,本身所需要的一种时序关系。 - PowerPoint PPT Presentation

Transcript of 第三章 定时/计数技术

Page 1: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

第三章 定时/计数技术第三章 定时/计数技术 本章重点本章重点:: (( 11 )定时与计数的概念理解)定时与计数的概念理解 (( 22 )) 82548254 的外部特性及内部工作方式的理解的外部特性及内部工作方式的理解 (( 33 )) 82548254 方式命令字及计数初值的设置方式命令字及计数初值的设置 (( 55 )) 82548254 的应用的应用 (( 44 ))实时钟电路实时钟电路 MCl46818MCl46818 及其应用 及其应用

Page 2: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

3.1 8254/82533.1 8254/8253 定时计数器定时计数器 1.1. 定时与计数定时与计数 2.2. 微机系统中的定时微机系统中的定时 微机系统中常为微机系统中常为 CPUCPU 或外设提供时间标记、对外部事件或外设提供时间标记、对外部事件

计数。需要系统的定时问题。计数。需要系统的定时问题。 微机系统中的定时可分为两种:微机系统中的定时可分为两种:内部定时和外部定时。 内部定时和外部定时。 内部定时内部定时是计算机本身运行的时间基准或时序关系。是计算机本身运行的时间基准或时序关系。 外部定时外部定时是外设实现某种功能时,本身所需要的一种时序是外设实现某种功能时,本身所需要的一种时序

关系。关系。 本章重点讨论外部定时技术本章重点讨论外部定时技术 3.3. 定时方法定时方法 (( 11 )软件定时(软件编程,占用)软件定时(软件编程,占用 CPUCPU ,,效率低等)效率低等) (( 22 )硬件定时(定时)硬件定时(定时 // 计数器或单稳延时电路,不占用计数器或单稳延时电路,不占用

CPUCPU 时间,准确、不受主频影响、定时时间长等)时间,准确、不受主频影响、定时时间长等)

Page 3: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

3.1 8253/82543.1 8253/8254 定时计数器定时计数器 33 个独立的个独立的 1616 位计数器通道位计数器通道 每个计数器有每个计数器有 66 种工作方式种工作方式 按二进制或十进制(按二进制或十进制( BCDBCD 码)计数码)计数

8254 是 8253 的改进型

Page 4: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数器的计数器的 33 个引脚个引脚

CLKCLK 时钟输入信号——在计数过程中,此引时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器脚上每输入一个时钟信号(下降沿),计数器的计数值减的计数值减 11

GATEGATE 门控输入信号——控制计数器工作,可门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型分成电平控制和上升沿控制两种类型

OUTOUT 计数器输出信号——当一次计数过程结计数器输出信号——当一次计数过程结束(计数值减为束(计数值减为 00 ),), OUTOUT 引脚上将产生一引脚上将产生一个输出信号个输出信号

Page 5: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

2. 2. 与处理器接口与处理器接口

DD00 ~ D ~ D77 数据线数据线 AA00 ~ A ~ A11 地址线地址线RD*RD* 读信号读信号 WR*WR* 写信号写信号CS*CS* 片选信号片选信号

CS* ACS* A11 A A00 I/OI/O 地址地址 读操作读操作 RD*RD* 写操作写操作 WR*WR*

0 0 00 0 0

0 0 10 0 1

0 1 00 1 0

0 1 10 1 1

4040HH

41H41H

42H42H

43H43H

读计数器读计数器 00

读计数器读计数器 11

读计数器读计数器 22

无操作无操作

写计数器写计数器 00

写计数器写计数器 11

写计数器写计数器 22

写控制字写控制字

Page 6: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

3.2 3.2 可编程定时计数器可编程定时计数器 8253/82548253/8254

外部特性与内部逻辑外部特性与内部逻辑1.1. 外部特性外部特性82538253 是是 2424 引脚的引脚的 DIPDIP 封装芯片,+封装芯片,+ 55VV 供电,内供电,内

有三个独立的计数器,每个计数器有单独的时钟、有三个独立的计数器,每个计数器有单独的时钟、计数输出、门控制。引脚定义如下图:计数输出、门控制。引脚定义如下图:

①① 数据总线,数据总线, D0D0 ~~ D7D7 ::为三态输出/输入线。为三态输出/输入线。用于将用于将 82548254 与系统数据总线相连 。与系统数据总线相连 。

②② 片选线片选线 //CSCS ::为输入信号,低电子有效。 为输入信号,低电子有效。 ③③ 读信号读信号 //RDRD ::为输入信号,低电平有效。它由为输入信号,低电平有效。它由

CPUCPU 发出发出 ,, 用于对用于对 82538253 寄存器进行读操作。寄存器进行读操作。④④ 写信号写信号 //WRWR ::为输入信号,低电子有效。它由为输入信号,低电子有效。它由

Page 7: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

外部特性与内部逻辑外部特性与内部逻辑CPUCPU 发出,用于对发出,用于对 82538253 寄存器进行写操作。寄存器进行写操作。⑤⑤ 地址线地址线 A1A0A1A0 与与 CPUCPU 系统地址总线系统地址总线 A1A0A1A0 相相

连,与连,与 //CSCS 一起用于选通一起用于选通 82538253 内部寄存器。内部寄存器。⑥⑥ 计数器时钟信号计数器时钟信号 CLKCLK ;;为输入信号。是为输入信号。是 82538253

的计数时钟。的计数时钟。 ⑦ ⑦ 计数器门控选通信号计数器门控选通信号 GATEGATE ::为输入信为输入信

号。号。 GATEGATE 信号的作用是用来禁止、允许或开始信号的作用是用来禁止、允许或开始计数过程的。计数过程的。

⑧⑧ 计数器输出信号计数器输出信号 OUTOUT ::为输出信号。 为输出信号。 OUTOUT信号的作用是,计数器工作时,每来信号的作用是,计数器工作时,每来 11 个时钟脉个时钟脉冲,计数器减冲,计数器减 11 ,当计数值减为,当计数值减为 00 ,就在输出线,就在输出线上输出一上输出一 OUTOUT 信号,以示定时或计数已到。信号,以示定时或计数已到。

Page 8: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

外部特性与内部逻辑外部特性与内部逻辑22.. 内部逻辑结构内部逻辑结构①① 数据总线缓冲器数据总线缓冲器。它是一个三态、双向。它是一个三态、双向 88 位寄存位寄存

器,用于将器,用于将 82538253 与系统数据总线与系统数据总线 Do—D7Do—D7 相连。相连。 功功能:向能:向 82538253 写入确定写入确定 82538253 工作方式的命令;向计数工作方式的命令;向计数寄存器装入初值;读出计数器的初值或当前值。寄存器装入初值;读出计数器的初值或当前值。

②② 读/写逻辑读/写逻辑。确定操作那一个寄存器。 。确定操作那一个寄存器。 ③③ 控制命令寄存器控制命令寄存器。它接受。它接受 CPUCPU 送来的控制字。 送来的控制字。

用于选择计数器及其工作方式。用于选择计数器及其工作方式。④④ 计数器计数器。。 33 个独立的计数器内部结构完全相同,个独立的计数器内部结构完全相同,

如图如图 33 .. 33 所示。由所示。由 1616 位计数初值寄存器、减位计数初值寄存器、减 11 计计数器和当前计数值锁存器组成。数器和当前计数值锁存器组成。

Page 9: 第三章 定时/计数技术

图图 3.2 8253/82543.2 8253/8254 的内部结构和引脚的内部结构和引脚

D7~ D0 计数器 0

控制字寄存器

计数器 1

计数器 2

线

数据总线缓冲器

读写控制逻辑

RDWRA 0A 1

CS

CLK 0

GATE 0

OUT 0

CLK 1

GATE 1

OUT 1

CLK 2

GATE 2

OUT 2

Page 10: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 11: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数初值的设置与方式命令字计数初值的设置与方式命令字计数初值计数初值 (( 定时常数定时常数 )) 是决定是决定 82538253 的定时长短与计的定时长短与计

数多少的重要参数。数多少的重要参数。计数初值与输入时钟计数初值与输入时钟 ((CLK)CLK) 频率及输出波形频率及输出波形 ((OUT)OUT)频率之间的关系为频率之间的关系为 ::

Ci=CLKCi=CLK // OUTOUT 或或 Tc=CLKTc=CLK // OUTOUT 1 1 ..方式命令的作用方式命令的作用

对对 82538253 进行初始化,或对当前计数值进行锁进行初始化,或对当前计数值进行锁存。存。 82538253 初始化初始化 : (1): (1) 向命令寄存器写入方式命令向命令寄存器写入方式命令,,选择计数器,确定工作方式,指定计数器计数初值选择计数器,确定工作方式,指定计数器计数初值的长度和装入顺序以及计数值的码制的长度和装入顺序以及计数值的码制 ((BCDBCD 码或二码或二进制码进制码 )) .(2) .(2) 向已选定的计数器按方式命令的要求写向已选定的计数器按方式命令的要求写入计数初值入计数初值 。。

Page 12: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数初值的设置与方式命令字计数初值的设置与方式命令字22 .方式命令的格式.方式命令的格式 方式命令的格式如下所示:方式命令的格式如下所示:

①① D7D6D7D6 ::用于选择计数器用于选择计数器。。=00 0=00 0 号计数器号计数器=01 1=01 1 号计数器号计数器=10 2=10 2 号计数器号计数器=11 =11 不用不用

Page 13: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数初值设置计数初值设置②② D5D4D5D4 ::用来控制计数器读/写的字节数用来控制计数器读/写的字节数 (1(1 或或 22 个字节个字节 ))

及读/写高低字节的顺序及读/写高低字节的顺序。。 =00 =00 为锁存命令,把计数器的当前值锁为锁存命令,把计数器的当前值锁

存在锁存寄存器中存在锁存寄存器中 .. =01 =01 仅读/写一个低字节仅读/写一个低字节 =10 =10 仅读/写一个高字节仅读/写一个高字节 =11 =11 读/写读/写 22 个字节,先是低字节,后是高字节个字节,先是低字节,后是高字节 ..③③ D3~D1D3~D1 ::用来选择计数器的工作方式用来选择计数器的工作方式。。 =000 =000 方式方式 00 =011 =011 方式方式 33 =001 =001 方式方式 11 =100 =100 方式方式 44 =010 =010 方式方式 22 =101 =101 方式方式 55

Page 14: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数初值的设置与方式命令字计数初值的设置与方式命令字(110(110 和和 111111 不用不用 ))④④ Do(BCD)Do(BCD) ::用来指定计数器的码制,是按二进用来指定计数器的码制,是按二进

制数还是按十进制数计数制数还是按十进制数计数。。 BCD=0 BCD=0 二进制二进制 BCD=1 BCD=1 十进制十进制例例 11 :选择:选择 22 号计数器,工作在方式号计数器,工作在方式 33 ,计数初,计数初

值为值为 533533H(2H(2 个字节个字节 )) ,采用二进制计数。命令口,采用二进制计数。命令口地址地址 307307H,H, 二号计数器数据口地址是二号计数器数据口地址是 306306HH 。。

初始化程序段为初始化程序段为MOV DX,307HMOV DX,307H ;;命令口命令口MOV ALMOV AL ,, 10110110B10110110B ;; 22 号计数器的初始化命令字号计数器的初始化命令字OUT DXOUT DX ,, ALAL ;;写入命令寄存器写入命令寄存器

Page 15: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数初值的设置与方式命令字计数初值的设置与方式命令字

MOV DX,306HMOV DX,306H ;; 22 号计数器数据口号计数器数据口MOV AXMOV AX ,, 533H533H ;;计数初值计数初值OUT DXOUT DX ,, ALAL ;;先送低字节到先送低字节到 22 号计数器号计数器MOV ALMOV AL ,, AHAH ;;取高字节送取高字节送 ALAL

OUT DXOUT DX ,, ALAL ;;后送低字节到后送低字节到 22 号计数器号计数器33 .读当前计数值.读当前计数值 操作过程操作过程::先发一条先发一条锁存命令锁存命令 (( 即方式命令中的即方式命令中的

D5D4D5D4=00)=00) ,,将减将减 11 计数器的计数值锁存到输出锁存计数器的计数值锁存到输出锁存器;然后,器;然后,执行读操作执行读操作,便可得到当前计数值。,便可得到当前计数值。

Page 16: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计数初值的设置与方式命令字计数初值的设置与方式命令字例例 22 :要求读出并检查:要求读出并检查 11 号计数器的当前计数值是否号计数器的当前计数值是否是全“是全“ 11””((假定计数值只有低假定计数值只有低 88 位位 )) ,,

其程序段为其程序段为 MOV DX,307HMOV DX,307H ; ; 命令口命令口

LL :: MOV AL,01000000B ;MOV AL,01000000B ; 送送 11 号计数器初始化命令号计数器初始化命令字字 OUT DX,AL ;OUT DX,AL ; 写入命令寄存器写入命令寄存器

MOV DX,305H ;1MOV DX,305H ;1 号计数器数据口号计数器数据口 IN AL,DX ;IN AL,DX ; 读读 11 号计数器的当前计数值号计数器的当前计数值

CMP AL,,0FFHCMP AL,,0FFH

JNEJNE LL

HLTHLT

Page 17: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

工作方式及特点工作方式及特点8253/82548253/8254 有六种工作方式,主要区别在于: (有六种工作方式,主要区别在于: ( 11 ))

输出波形不同输出波形不同;(;( 22 ))启动计数器的触发方式不同启动计数器的触发方式不同;;(( 33 ))计数过程中计数过程中 GATEGATE 对计数操作的控制不同对计数操作的控制不同。。

1.1. 方式方式 00 :低电平输出(:低电平输出( GATEGATE 信号上升沿继续计信号上升沿继续计数)数)

特点特点: (: ( 11 )向计数器写完计数值后,)向计数器写完计数值后,开始计开始计数,数, OUTOUT变为低电平变为低电平,并在计数过程中,并在计数过程中保持低电平保持低电平,,计数值减为计数值减为 00 时,时, OUTOUT变为变为高电平高电平。(。( 22 )) GATEGATE为高电平时,计数器为高电平时,计数器开始工作开始工作,, GATEGATE 为低电平时,为低电平时,停止计数停止计数,并保持数值不变,,并保持数值不变, GATEGATE再次变高电平时,再次变高电平时,从中止处从中止处继续计数继续计数。(。( 33 )计数器工作期间,如果重)计数器工作期间,如果重新写入初值,按新写入的初值新写入初值,按新写入的初值重新计数重新计数。。

Page 18: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 19: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

2.2. 方式方式 11 :低电平输出(:低电平输出( GATEGATE 信号上升沿重新信号上升沿重新计数)计数)

Page 20: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

3.3. 方式方式 22 :周期性负脉冲输出:周期性负脉冲输出

Page 21: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

44.. 方式方式 3:3:周期性方波输出周期性方波输出

Page 22: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

55.. 方式方式 4:4: 单次负脉冲输出单次负脉冲输出 (( 软件触发软件触发 ))

Page 23: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

66.. 方式方式 5:5: 单次负脉冲输出单次负脉冲输出 (( 硬件触发硬件触发 ) )

Page 24: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 25: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

3.3 8253-53.3 8253-5 // 8254-28254-2 的应用举例的应用举例8253 8253 的典型应用的典型应用::1.1. 计时器-时钟计时器-时钟2.2. 实现稳定延时实现稳定延时3.3. 和扬声器一起构成发生器和扬声器一起构成发生器4.4. 波特率时钟发生器波特率时钟发生器应用举例应用举例:: 11 、一般性的应用:、一般性的应用:(( 11 ))设计思想设计思想: : 8253 8253 的时钟为的时钟为 5MHZ5MHZ ,, 82538253

工作在方式工作在方式 33 时,时, OUTOUT 引脚输出一系列方波,可作引脚输出一系列方波,可作为定时单位,采用定时单位为为定时单位,采用定时单位为 10ms10ms 时,可以在时,可以在OUTOUT 引脚上输出周期性的方波,且具有自动重载计引脚上输出周期性的方波,且具有自动重载计数初值的功能。数初值的功能。

Page 26: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用如果用如果用 OUTOUT 脚输出的方波做新的计时单位,为脚输出的方波做新的计时单位,为了编程方便,可以使方波的周期为了编程方便,可以使方波的周期为 1010ms.ms.

硬件连接可以选择图硬件连接可以选择图 3.103.10 的设计。的设计。82538253 的的 OUTOUT 引脚每经过引脚每经过 1010msms 向向 CPUCPU申请一次申请一次

中断。在中断子程序中统计中断。在中断子程序中统计 1010msms 的个数,到达的个数,到达100100 个则个则 11秒时间到,秒计数器加秒时间到,秒计数器加 11 。并判断秒。并判断秒计数器的值是否为计数器的值是否为 6060 ,是,则分计数器加,是,则分计数器加 11 。。依次类推,实现时分秒计数器的更新。到达依次类推,实现时分秒计数器的更新。到达 2424小时后,所有计数器清零,新的一天的计时开始。小时后,所有计数器清零,新的一天的计时开始。下列代码是初始化程序。下列代码是初始化程序。

Page 27: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 28: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用初始化程序段如下:初始化程序段如下: Count_10msCount_10ms EQUEQU 2000H2000H Count_scendCount_scend EQUEQU 2001H2001H Count_minutCount_minut EQUEQU 2002H2002H Count_hourCount_hour EQUEQU 2003H2003H ……………….. MOVMOV AL,0 AL,0

MOVMOV Count_10ms,AL Count_10ms,AL ;;初期上电,初期上电, RAMRAM

MOVMOV Count_scend,AL Count_scend,AL ;;清零。清零。MOVMOV Count_minut,AL Count_minut,AL

MOVMOV Count_hour,AL Count_hour,AL

Page 29: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用MOVMOV DX,307HDX,307H

MOVMOV AL,00110110AL,00110110

OUTOUT DX,ALDX,AL ;; 初始化初始化 82538253

MOVMOV DX,304DX,304

MOVMOV AL,50HAL,50H ;;送计数初值低位送计数初值低位OUTOUT DX,ALDX,AL

MOVMOV AL,0C3AL,0C3 ;;送计数初值高位送计数初值高位OUTOUT DX,ALDX,AL

Page 30: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用ÖÐ¶Ï ³Ì Ðò¿ª ʼ

±£ »¤ ÏÖ ³¡

10m s ͳ ¼Æ¼ÆÊýÆ÷¼Ó1

£½100£¿

Ãë¼ÆÊýÆ÷¼Ó1

£½60£¿

·Ö¼ÆÊýÆ÷¼Ó1

£½60£¿

ʱ¼ÆÊýÆ÷¼Ó1

£½24£¿

ʱ¼ÆÊýÆ÷£½0

RET I

No

Yes

Yes

Yes

Yes

»Ö¸´ ÏÖ ³¡

Page 31: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用应用举例应用举例:: 22 、系统中日时钟的应用:、系统中日时钟的应用:系统中的日时钟原理介绍:系统中的日时钟原理介绍:(( 11 )系统中)系统中 82538253 的时钟为的时钟为 1.19318161.1931816MHZMHZ 。。(( 22 )) 82538253 工作在工作在方式方式 33 ,计数初值设为最大,计数初值设为最大-- 6553665536 。(设选用。(设选用 82538253 的的计数器计数器 00 ))

(( 33 )) OUT0OUT0 引脚引脚输出的方波频率:输出的方波频率:1.19318161.1931816MHZ/65536=MHZ/65536=18.2HZ18.2HZ周期周期为为 1/18.21/18.2HZ×1000ms=HZ×1000ms=54.945ms54.945ms..

(( 33 ))计时单位计时单位: : 54.94554.945msms 为一个基准单位,为一个基准单位,且准确。则:且准确。则:

Page 32: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用 11天天== 24×60×60×100024×60×60×1000ms/54.954msms/54.954ms ==15730401573040 ((个计时单位)个计时单位);;

11小时小时= = 60×60×100060×60×1000ms/54.954msms/54.954ms ==6554365543 ((个计时单位)个计时单位);;

11 分钟分钟= = 60×100060×1000ms/54.954msms/54.954ms == 10921092 ((个个计时单位)计时单位);; 11秒秒= = 10001000ms/54.954msms/54.954ms == 18.218.2 ((个计时单个计时单位)位)

(( 44 ))新的计时单位的计数机构新的计时单位的计数机构::利用利用 OUT0OUT0 引脚引脚向向 82598259申请中断申请中断,在中断程序 ,在中断程序

中进行中进行加加 11 操作操作,实现对新的计时单位的,实现对新的计时单位的累计累计,,完成对完成对一天计时一天计时的任务。的任务。

Page 33: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用 实现方法:实现方法:在在 BIOSBIOS 数据区开辟数据区开辟两个双字两个双字的存储的存储

单元作为单元作为每次加每次加 11 操作的操作的 RAMRAM 。。则该双字则该双字 RAMRAM中存放的就是中存放的就是当前的时间当前的时间。当。当低位字=低位字= 0000B0HB0H,,高位字=高位字= 00180018HH 时,则计时,则计满满 2424小时小时,然后,然后清零清零,,重新加重新加 11 操作,开始操作,开始第二天第二天的计时。的计时。

注:如果要得到注:如果要得到当前时间当前时间要进行下列计算:要进行下列计算: AA 、、小时数小时数== RAMRAM 中的值除以中的值除以 6554365543 ;; BB 、、分钟数分钟数= = AA 的余数除以的余数除以 10921092 ;; CC 、、秒数秒数= = BB 的余数再除以的余数再除以 18.218.2

Page 34: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用应用举例应用举例: : 3.3. 稳定延时稳定延时(( 11 ))要求:利用系统硬件定时器延时要求:利用系统硬件定时器延时 55秒秒(( 22 ))分析分析::AA 、、利用定时器每秒中断利用定时器每秒中断 18.218.2速率不变速率不变的特性,的特性,

通过调用通过调用 BIOSBIOS 的的软中断软中断 INT1AHINT1AH 的的 00 号号功能,功能,读取时间计数器的读取时间计数器的当前值当前值。。

BB 、、将将延时时间延时时间换算成计时单位(即多少个换算成计时单位(即多少个 54.954.95454msms ))加上时间计数器的当前值,作为加上时间计数器的当前值,作为定时器定时器的目标值的目标值。。

CC 、、利用利用 INT1AHINT1AH 的的 00 号功能调用,不断读取时号功能调用,不断读取时间间计数器的值并与目标值比较计数器的值并与目标值比较。相等则定时时间。相等则定时时间到,不等则继续延时。到,不等则继续延时。

Page 35: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用DD 、、这样延时的好处在于这样延时的好处在于:定时时间与:定时时间与 CPUCPU 的主频的主频

无关无关,只与,只与 82538253 的时钟频率的时钟频率有关有关。延时较。延时较稳定稳定。。(( 33 )设计)设计AA 、、利用系统资源,硬件不需改动利用系统资源,硬件不需改动。。BB 、、软件编程软件编程 (( 延时延时 55秒时,折合成计时单位=秒时,折合成计时单位= 91)91)

MOVMOV AH,0HAH,0H

INT1AHINT1AH ;; 中断调用,读取日时钟中断调用,读取日时钟ADDADD DX,91HDX,91H

MOVMOV BX,DXBX,DX

REP: MOV AH,0HREP: MOV AH,0H

INT1AHINT1AH

Page 36: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用

CMP DX,BXCMP DX,BX ;; 与目标值比较与目标值比较 JNZJNZ REP REP ;; 不等,继续延时,相等,不等,继续延时,相等,

延延 ;; 时结束,程序向下时结束,程序向下执行执行

应用举例应用举例: : 44 、发生器、发生器原理原理还是利用还是利用 82538253 的工作的工作方式方式 33 ,不断输,不断输

出一定频率的出一定频率的方波方波,将此方波,将此方波接至扬声器接至扬声器,控制,控制发声,方波的频率不同,则扬声器的声音频率就发声,方波的频率不同,则扬声器的声音频率就不同。不同。

程序略。程序略。

Page 37: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用应用举例应用举例: : 5. 5. 波特率时钟发生器波特率时钟发生器(( 11 ))要求要求: 设计一个波特率时钟发生器,其: 设计一个波特率时钟发生器,其输输

入时钟入时钟 CIK=1.19318MHzCIK=1.19318MHz ,,波特率因子波特率因子facbr=16facbr=16 ,,输出的输出的波特率为波特率为 88档档,它们分别是,它们分别是110110bb // ss ,, 150b150b // ss ,, 300b300b // ss ,, 600b600b //ss ,, 1200b1200b // ss ,, 2400b2400b // ss ,, 4800b4800b //ss ,, 9600b9600b // ss 。。要求利用要求利用人人 -- 机对话方式机对话方式选择波选择波特率。按特率。按 EscEsc键键,退出。,退出。

(( 22 ))分析分析: : AA 、、波特率的概念波特率的概念:每秒钟传输的二进制数的位数。:每秒钟传输的二进制数的位数。BB 、、波特率因子 的概念波特率因子 的概念:每传输:每传输 11 位所需要的时位所需要的时

钟脉冲个数,叫做波特率因子 。钟脉冲个数,叫做波特率因子 。

Page 38: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用CC 、、传输原理传输原理:在实际传输中,发送:在实际传输中,发送 11 位或接收位或接收

11 位数据,是在位数据,是在时钟脉冲时钟脉冲作用下,进行作用下,进行移位移位来实来实现的。发送时,用发送时钟,从发送器移出;接现的。发送时,用发送时钟,从发送器移出;接收时,用接收时钟,向接收器移入。收时,用接收时钟,向接收器移入。(复习移位(复习移位寄存器的应用)寄存器的应用)

DD 、、 82538253 定时常数的计算:定时常数的计算:由波特率及波特率因子的概念可得:由波特率及波特率因子的概念可得:

串行传输的频率串行传输的频率 TxCTxC==波特率波特率 Baud×Baud× 波特波特率因子率因子 FactorFactor ;;

设计要求设计要求:串行传输的频率:串行传输的频率 TxCTxC == OUTOUT输出的频率,因此有:输出的频率,因此有:

Page 39: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用OUTOUT == CLK/Tc=Baud×FactorCLK/Tc=Baud×Factor ;;

所以:定时常数所以:定时常数 TcTc == CLK/Baud×FactorCLK/Baud×Factor

由此可计算出上述由此可计算出上述 88 种波特率下的定时常数种波特率下的定时常数分别为:分别为:678678HH 、、 497H497H 、、 249H249H 、、 124H124H 、、 62H62H 、、 31H31H 、、 116H6H 、、 8H8H 。。

(( 33 ))设计设计AA 、、硬件设计硬件设计:波特率时钟发生器的硬件包括定时/:波特率时钟发生器的硬件包括定时/计数器计数器 82538253 、并行接口芯片、并行接口芯片 82558255AA 及及 I/OI/O端口地端口地址译码电路址译码电路等,如图等,如图 33 .. 1414 所示。所示。

Page 40: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 41: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

计时器的应用计时器的应用 BB 、、软件编程:软件编程:

Page 42: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 43: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

3.4 3.4 实时钟电路实时钟电路 MCl46818MCl46818 及其应用 及其应用 什么是实时时钟什么是实时时钟:不仅支持:不仅支持每天时间每天时间 (( 时、分、时、分、秒秒 )) 的更新,而且支持的更新,而且支持日期日期 ((世纪、年、月、日世纪、年、月、日和星期和星期 )) 的更新的一种的更新的一种永久性的时钟电路永久性的时钟电路。。

MCl46818MCl46818 是是 PCPC 机中的实时时钟芯片。机中的实时时钟芯片。 MCl46818MCl46818 的外部特性及工作原理的外部特性及工作原理 1.1. 引脚功能引脚功能

Page 44: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 45: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用 ① ① 地址/数据线地址/数据线 ((ADoADo ~~ AD1)AD1) ::双向,双功能,双向,双功能,既传送既传送地址地址,又传送,又传送数据数据,是,是 CPUCPU 对芯片内部对芯片内部 6464个字节个字节实时钟信息访问的通道。实时钟信息访问的通道。

② ② 读/写控制线读/写控制线:在引脚:在引脚 PSPS 和和 CECE 同时有效的同时有效的条件下,条件下, CPUCPU 通过 通过 ADoADo ~~AD1AD1 、、 ASAS 、、 DS DS 、、 RR // WW 信号共同完成读写操信号共同完成读写操作。作。

PSPS 为电源检测端为电源检测端。当该端为低电平时,表示实时。当该端为低电平时,表示实时钟已掉电钟已掉电 (( 或电池耗尽或电池耗尽 )) ;当该端为高电平时,表;当该端为高电平时,表示电源接通 。示电源接通 。

③③ 芯片复位线芯片复位线 ((RES)RES) ::当当 RES=0RES=0 时,芯片时,芯片复位复位,,将内部状态寄存器将内部状态寄存器 BB 的允许中断位的允许中断位清零清零,并置引脚,并置引脚//IRQIRQ 为为高阻高阻,但并,但并不影响不影响内部时钟电路和内部时钟电路和CMOSRAMCMOSRAM 的操作。的操作。

Page 46: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用

④④振荡频率输入振荡频率输入 ((OSC1OSC1 、、 OSC2)OSC2) 。。 ⑤⑤方波方波 ((SQW) SQW) 输出引脚输出引脚。。 ⑥⑥ 时钟输出线时钟输出线 ((CKOUT)CKOUT) 。。 2. 2. 实时钟工作原理实时钟工作原理

Page 47: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

Page 48: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用 实时钟的定时信息在实时钟的定时信息在 CMOS-RAMCMOS-RAM 中的地址分配中的地址分配:: 芯片提供芯片提供 6464 个字节个字节存放存放实时钟信息实时钟信息和和系统配置系统配置

信息信息,及控制实时钟电路的工作的,及控制实时钟电路的工作的状态寄存器状态寄存器 。 。

Page 49: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用

11 ..时间信息时间信息 22 ..日期信息 日期信息 33 ..报警信息 报警信息 实时钟的状态寄存器实时钟的状态寄存器 1. 1. 状态寄存器状态寄存器 AA

UIP=1UIP=1 表示 实时钟表示 实时钟 更新信息更新信息 ,, 不能 读写不能 读写 ;;UIP=0UIP=0 ,,可以读写可以读写。 。

Page 50: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用

2. 2. 状态寄存器状态寄存器 BB

TETE ::计时允许位 ;计时允许位 ; PIEPIE ::周期中断允许位 ; 周期中断允许位 ; AIEAIE ::报警中断允许位 ; 报警中断允许位 ; UIEUIE ::计时更新结束计时更新结束中断允许位 ;中断允许位 ; SQWESQWE ::方波输出允许位; 方波输出允许位; DMDM ::实时钟信息格式选择位 ,当实时钟信息格式选择位 ,当 DM=1DM=1 时,时,选择二进制格式;当选择二进制格式;当 DM=0DM=0 时 ,选择时 ,选择 BCDBCD 格式;格式;DSEDSE ::允许夏令时为允许夏令时为 11 ,否则为,否则为 0 0

33 ..状态寄存器状态寄存器 CC

Page 51: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用

对该寄存器对该寄存器只能读只能读,各,各标志位标志位由内部设置。由内部设置。当周期中断、报警中断或计时更新结束中断发中当周期中断、报警中断或计时更新结束中断发中断请求时,相应的断请求时,相应的标志位置位标志位置位,并且中断请求标志,并且中断请求标志IRFIRF 位也被置位位也被置位。。

4. 4. 状态寄存器状态寄存器 DD

只读只读寄存器。寄存器。 VRBVRB 位由电源检测引脚位由电源检测引脚 PSPS建立,建立,== 11 ,则电源接通;=,则电源接通;= 00 ,则掉电。 ,则掉电。

Page 52: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用实时钟信息的读写操作实时钟信息的读写操作可对存放在芯片可对存放在芯片 RAMRAM 中的实时钟信息进行中的实时钟信息进行存取存取,,

需使用需使用两个两个 II // OO 端口端口::地址地址端口端口 7070HH 和和数据数据口口7171HH 。。分两步进行:分两步进行:

1. 1. 读操作读操作(1)(1) 先把需先把需读出读出的的 RAMRAM 单元单元位移地址位移地址送到送到地址端地址端

口口 (070(070H)H) 。。(2)(2)再从再从数据端口数据端口 (071(071H)H) 读出读出该单元的该单元的内容内容。。22 ..写操作写操作(1)(1) 先把需先把需写入写入的的 RAMRAM 单元的单元的位移地址位移地址送到送到地址地址端口端口 (070(070H)H) 。。

Page 53: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用

(2)(2)再把再把待写待写的的内容内容写入写入数据端口数据端口 (071(071H)H) 。。 例例 11 ::要求读取“星期几”的日期信息,则其读要求读取“星期几”的日期信息,则其读

出操作的程序段如下:出操作的程序段如下: MOVMOV ALAL ,, 6H6H ;; 6H6H 是存放”星期几”的是存放”星期几”的

单单 ;元位移地址;元位移地址 OUTOUT 70H70H ,, ALAL ;;送地址端口送地址端口 JMPJMP SHORT$+2SHORT$+2;;芯片芯片 II // OO 延时要求延时要求 IN ALIN AL ,, 071H071H ;;读数据端口读数据端口

Page 54: 第三章 定时/计数技术

微型计算机接口技术及应用微型计算机接口技术及应用

实时钟电路实时钟电路 MCl46818MCl46818 及其应用及其应用例例 22 ::要求向要求向 44 单元写入单元写入 33 小时的时间信息,则其小时的时间信息,则其

写入操作的程序段如下:写入操作的程序段如下: MOV ALMOV AL ,, 4H4H ;; 4H4H 是存放小时的单元位是存放小时的单元位

;移地址;移地址 OUT 70HOUT 70H ,, AL AL ;;送地址端口送地址端口 JMP SHORT $+2 JMP SHORT $+2 ;;芯片芯片 II // OO 延时要求延时要求 MOV ALMOV AL ,, 33 ;; 33 是要求写入的小时数是要求写入的小时数 OUTOUT 71H71H ,, ALAL ;;写数据端口写数据端口