控制理论基础 (II)

31
School of Mechanical & Power Engineering 上上上上上上上上上上上上上上上 控控控控控控 (II) 第第第第 第第第第第第第 控控控控控控 控控控控控控 (II) (II) 2007 2007 第第第第第 第第第 第第 第第第第第 第第第 第第 第第第第第 第第第第第 第第 第第第 第第 第第 第第第 第第

description

控制理论基础 (II). 课程负责人:杨汝清 教授 曹其新教授. 顾问: 王显正 教授. 交 通 大 学 精 品 课 程 系 列. 2007. 13.1 定时器 / 计数器介绍. 13.2 程序分析. 13.3 加法定时器 / 计数器. 13.4 方式寄存器 TMOD. 13.5 TCON 控制寄存器. 13.6 定时器 / 计数器逻辑结构框图. 13.7 定时器 / 计数器的定时 / 计数范围. 13.8 例子. 13.1 定时器 / 计数器介绍. 作用:定时、计数、波特率发生器; - PowerPoint PPT Presentation

Transcript of 控制理论基础 (II)

Page 1: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

控制理论基础控制理论基础 (II)(II)

交交通通大大学学精精品品课课程程系系列列20072007

课程负责人:杨汝清 教授 课程负责人:杨汝清 教授

曹其新教授曹其新教授

顾问: 王显正 教授顾问: 王显正 教授

Page 2: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

13.1 定时器 / 计数器介绍

13.2 程序分析

13.3 加法定时器 / 计数器

13.4 方式寄存器 TMOD

13.5 TCON 控制寄存器

13.7 定时器 / 计数器的定时 / 计数范围

13.6 定时器 / 计数器逻辑结构框图

13.8 例子

Page 3: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器13.1 定时器 / 计数器介绍

作用:定时、计数、波特率发生器;主要特性:• 具有两个可编程的定时 / 计数器 T0/C0 T1/C1;• 每个定时器 / 计数器都有 4 种工作方式;• 任一定时器 / 计数器在定时 / 计数到后可由程序安排

产生中断。结构:• 加法计数器 TL (低 8 位)、 TH (高 8 位)寄存器;• TMOD 方式寄存器• TCON 控制寄存器

Page 4: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• MAIN : MOV P1 , #0FFH• LCALL DELAY• MOV P1 , #00H• LCALL DELAY• LJMP MAIN

• DELAY : MOV R7 , #250• D1 : MOV R6 , #250• D2 : DJNZ R6 , D2• DJNZ R7 , D1• RET• END

13.2 程序分析

Page 5: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• 这段程序和前面做过的程序比较,只有两处不一样:• 第 1 :原来是 SETB P1.0 ,现在改为 MOV P1 , #0

FFH ,第 2 :原来是 CLR P1.0 ,现在改为 MOV P1.0 , #00H 。

• 从中可以看出, P1 是 P1.0…7 的全体的代表,一个P1 就表示了所有的这八个管脚了。当然用的指令也不一样了,是用 MOV 指令。为什么用这条指令?

• 我们把 P1 作为一个整体,就把它当作是一个存储器的单元,对一个单元送进一个数可以用 MOV 指令。

•如果在上述延时期间有中断产生 , 定时将不准确 ,因此必须用定时器中断 .

Page 6: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

13.3 加法定时器 / 计数器• 作为定时器时,加法器对内部机器周

期脉冲计数;• 作为计数器时,加法器对芯片引脚 P3.

3/P3.4 输入的外部脉冲计数(下降沿),加法器的初始值可由程序设定,设置不同值,定时 / 计数值就不同并加法器的内容可用程序读到 CPU 中。

Page 7: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

13.4 方式寄存器 TMOD

• 作用:用来选择定时器 / 计数器的工作方式;

格式 : 0 方式 13 位定时 / 计

数1 方式 16 位定时计数2 方式 8 位自动装载

计数定时3 方式 T0 分为两个 8 位的定时计数

GATE C0/T0 M1 M0

门控位

功能选择 工作方式选择

Page 8: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器13.5 TCON 控制寄存器

当计数溢出后 TF1 ( 0 )就由 0 变为 1 。TR0 ( 1 )要为 1 ,开关才能合上,脉冲才能过来。可用指令 SETB 来置位以启动计数器 / 定时器运行,用指令 CLR 来复位。

• 作用:控制 T0/C0 、 T1/C1 的运行;• 格式:

Page 9: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

13.6 定时器 / 计数器逻辑结构框图

Page 10: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

Page 11: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

Page 12: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

Page 13: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

Page 14: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

0 工作方式:1 、由 TL 的低 5 位与 TH 高 8 位构成 13 位 T/C ;可用程序将 0 ~ 8191 的某一数据送入 TL 、 TH 作为初始值,加法器溢出后,必须重新对 TL/TH 赋初始值。2 、作为计数器时,外部计数脉冲的频率小于 1/24fosc并且高、低电平的宽度大于一个机器周期;3 、定时时间由 T=(8192-X)Tcy 决定,计数值由 C=(8192-X) 决定;

13.7 定时器 / 计数器的定时 / 计数范围

Page 15: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• 预置值计算:用最大计数量减去需要的计数次数即可。

• 工作方式 1 : 16 位定时 / 计数方式,因此,最多可以计到 2 的 16次方,也就是65536次。

• 工作方式 2 和工作方式 3 ,都是 8 位的定时 / 计数方式,因此,最多可以计到 2的 8次方,也说是 256次。

Page 16: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

13.8 例子• 例 1 :流水线上一个包装是 12盒,

要求每到 12盒就产生一个动作,用单片机的工作方式 0 来控制,应当预置多大的值呢?

8192-12=8180

Page 17: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• 例 2 若 GATE= 1 ,此时仅当 TR=1 并且 P3.2或 P3.3= 1 , T/C 才能工作。利用此特点可用来测量 P3.3或 P3.2 引脚上出现的正脉冲宽度。

Page 18: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

Page 19: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

Page 20: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• 例 3 假设单片机晶振的频率 Fosc 为6MHz,使用定时器 1 以方式 0 产生周期为 500微妙的等宽正方波脉冲 , 并由 P1.0 输出。以查询方式完成。

Page 21: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器分析

• 1 )计算记数初值 X• ( 2^13-X ) * 一个机器周期 =250*10^-6• X=8067 ->1111110000011• TH1=FCH TL1=03H• 2) TMOD 初始化• 方式 0: M0M1=00• 定时: C/T=0• GATE=0• TMOD=00H

Page 22: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• 3) TCON 中的 TR1 启动或停止

Page 23: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

程序• MOV TOMD,#00H

• MOV TH1,#0FCH

• MOV TL1, #03H

• MOV IE, #00H ; 中断系统处于禁止状态• SETB TR1

• LOOP : JBC TF1, LOOP1

Page 24: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

AJMP LOOP

LOOP1: MOV TH1,#FCH

MOV TL1,#03H

CLR TF1

CPL P1.0

AJMP LOOP

Page 25: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

例 4 定时 / 计数器的应用P1.7

P1.0

T1

+5V

P1.7 1S 1S

Page 26: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

当 fosc 为 6MHz时, Tcy= 2us则各工作方式的最大的定时时间为:8 位 :2 的 8次方×2= 512us ;13 位 : T=16.384ms16位 : T=131.072ms

定时器工作方式的选择

Page 27: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

0 1 1 0 0 0 0 1TMOD

计数 方式 2 定时 方式 1

采用复合方式。即 T0 设成定时时间为 100毫秒,当定时时间到后将 P1.0取反,再加到 T1 作为计数脉冲。一个脉冲周期为 100ms+100ms故计数 5 个脉冲即为 1秒,此时将 P1.7取反一次。

Page 28: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

GATE C0/T0 M1 M0

门控位

功能选择 工作方式选择

回忆一下 TMOD

0 方式 13 位定时 / 计数1 方式 16 位定时计数2 方式 8 位自动装载

计数定时3 方式 T0 分为两个 8 位的定时计数

Page 29: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

定时 / 计数初始值的计算与装入T0 、 T1 的初始值按补码计算;对于 T0 的初始值 X1 的公式 (2 的 16次方- X1)*2us=100ms

X1=15536=3CB0H

TL=B0H TH=3CH

对于 C1 的初始值 X2 的公式( 2 的 8次方- X2)=5

X2=251=FBH TL1=TH1=FBH

Page 30: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

• 习题 :

• 1 写出例 4 程序 .

Page 31: 控制理论基础 (II)

School of Mechanical & Power Engineering 上海交通大学机械与动力工程学院

控制理论基础 (II) 第十四章 单片机的定时器

This is End of Chapter 13This is End of Chapter 13