定时器中断实验

  • 格式:doc
  • 大小:68.50 KB
  • 文档页数:3

下载文档原格式

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

实验五定时器中断实验

1.实验目的:

学习8031内部计数器的使用和编程方法。进一步掌握中断处理程序的编程方法。2.实验要求:

用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转.

3.实验说明:

(1)关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。

(2)定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。

(3)内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是6MHZ,本程序工作于方式2,即8位自动重装方式定时器, 定时器100us中断一次, 所以定时常数的设置可按以下方法计算:机器周期=12÷6MHZ=2uS (256-定时常数)×2uS=100us

定时常数=206. 然后对100us中断次数计数10000次,就是1秒钟.

(4)在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。

4.实验器材:

(1)G2100 实验平台 1 台

(2)LabMON51 仿真器 1 台

(3)计算机 1 台

(4)实验连线若干

5.实验电路:

6.程序框图:

7.实验步骤:

(1)连接相关连线。

(2)编写程序并调试。代码如下:

org 0000h

ljmp main

org 000bh

ljmp inter

org 0100h

main: mov tmod,#02h

mov th1,#0ceh

mov tl1,#0ceh

setb ea

setb et0

setb tr0

sjmp $

inter:

djnz r6,next

djnz r7,next

mov r6,#10h

mov r7,#10h

cpl p1.0 next: reti

end

结果: