实验三 定时器实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 定时器实验

一、实验目的

1、掌握单片机系统定时器断的原理及使用方法。 二、实验原理 (一)、单片机定时器/计数器的结构 1.定时器/计数器组成框图

8051单片机内部有两个16位的可编程定时器/计数器,称为定时器0(T0)和定时器1(T1),可编程选择其作为定时器用或作为计数器用。此外,工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定,其逻辑结构如图所示。

_____INT1(P3.3)_____INT0(P3.2)

T1(P3.5)T0(P3.4)

图 8051定时器/计数器逻辑结构图

由图可知,8051定时器/计数器由定时器 T0、定时器T1、定时器方式寄存器TMOD 和定时器控制寄存器TCON 组成。

2.定时/计数器的方式寄存器和控制寄存器

定时/计数器的初始化通过定时/计数器的方式寄存器TMOD 和控制寄存器TCON 完成。 1)定时/计数器方式寄存器TMOD

TMOD 为T1、T2的工作方式寄存器,其格式如下:

TMOD D7 D6 D5 D4 D3 D2 D1 D0

(89H) TMOD 的低 (1

(2)T /C :功能选择位。0T /C =时,设置为定时器工作方式;1T /C =时,设置为计数器工作方式。

(3)GATE :门控位。当GA TE=0时,软件控制位TR0或TR1置1即可启动定时器;当GATE=1时,软件控制位TR0或TR1须置1,同时还须0INT (P3.2)或1INT (P3.3)为高电平方可启动定时器,即允许外中断0INT 、1INT 启动定时器。

TMOD 不能位寻址,只能用字节指令设置定时器工作方式,高4位定义T1,低4位定义T0。复位时,TMOD 所有位均置0。 2)定时器/计数器控制寄存器TCON

TCON 的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。定时器控制字TCON 的格式如下:

TCON (88H ) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H

(1) TCON.7 TF1:定时器1溢出标志位。当定时器1计数满产生溢出时,由硬件自动置TF1=1。在中断允许时,向CPU 发出定时器1的中断请求,进入中断服务程序后,由硬件自动清0。在中断屏蔽时,TF1可作查询测试用,此时只能由软件清0。

(2)TCON.6 TR1:定时器1运行控制位。由软件置1或清0来启动或关闭定时器1。当GATE=1,且1INT 为高电平时,TR1置1启动定时器1;当GATE=0时,TR1置1即可启动定时器1。

(3)TCON.5 TF0:定时器0溢出标志位。其功能及操作情况同TF1。 (4)TCON.4 TR0:定时器0运行控制位。其功能及操作情况同TR1。

(5)TCON.3 IE1:外部中断1(1INT )请求标志位。 (6)TCON.2 IT1:外部中断1触发方式选择位。

(7)TCON.1 IE0:外部中断0(0INT )请求标志位。 (8)TCON.0 IT0:外部中断0触发方式选择位。

TCON 中的低4位用于控制外部中断,与定时器/计数器无关。

TCON 的字节地址为88H ,可以位寻址,清溢出标志位或启动定时器都可以用位操作指令。

3、定时器/计数器的初始化

由于定时器/计数器的功能是由软件编程确定的,所以,一般在使用定时器/计数器前都要对其进行初始化。初始化步骤如下:

(1)确定工作方式——对TMOD 赋值。

(2)预置定时或计数的初值——直接将初值写入TH0、TL0或TH1、TL1。

定时器/计数器的初值因工作方式的不同而不同。设最大计数值为M ,则各种工作方式下的M 值如下:

方式0:81922M 13== 方式1:655362M 16== 方式2:2562M 8==

因定时器/计数器工作的实质是做“加1”计数,所以,当最大计数值M 值已知时,初值X 可计算如下:

X = M -计数值

4、启动定时器/计数器工作——将TR0或TR1置“1”。

GA TE = 0时,直接由软件置位启动;GATE = 1时,除软件置位外,还必须在外中断引脚处加上相应的电平值才能启动。

三、实验内容

1、见图一。假设单片机晶振频率设定为12MHz。用中断方式来完成以下要求,且通过虚拟示波器观看波形。

A、使用定时器1 以方式1 产生周期为500us 的等宽方波连续脉冲,并由P1.0 输出。用中断方式来完成。

B、完成A功能,用查询方式来完成

C、使用定时器0 以方式2 产生周期为200us 的等宽方波连续脉冲,并由P1.1 输出。用中断方式来完成。

D、编程使T0 工作于定时工作方式1,产生500us 等宽方波从P2.7 输出。T1 工作于计数工作方式2,其计数外部脉冲由T0 产生,即P2.7 引脚与P3.5(T1 引脚)相连,T1 每计数100 个,P1.2 取反输出一次。

图一

2、见图二。假设单片机晶振频率设定为12MHz。完成以下功能。

(按键元件名称BUTTON)

A、通过外部按键(INT1 引脚连接)和外部按键(T0 引脚连接)以中断方式控制LED 的上移和下移。(利用连接R2 R3的2个按键实现L ED 的上移和下移)

B、通过INT0 引脚外界4 输入与门扩展外部中断,编程实现扩展出的四个开关以中断方式,分别实现LED 的上移、下移、亮和灭。

图二

四、思考题(本题选做)

见图3,要求实现电子秒表功能。

1、按键不按,时间显示为0.0 。

2、按键第一次按下,时间启动,从0.0秒开始,直到9.9秒,又为0.0秒,周而复始。

3、按键第二次按下,停止计时。数字为刚显示的数字。

4、按键第三次按下,时间重新启动,为0.0 秒。

图3

相关文档
最新文档