实验二 定时器实验

实验二 定时器实验

一、实验要求

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

、实验目的

学习89C51内部定时/计数器使用方法,进一步掌握中断处理程序的编程。

、实验原理

定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验使用的是定时器。

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

、实验内容

利用89C51内部定时器T0的溢出中断方式,实现每一秒钟输出状态(P1.0)发生反转,每个一分钟输出状态(P1.1)发生反转,每三分钟输出状态(P1.2)发生发转。用发光二极管的亮灭来显示输出状态的变化。

、实验程序框图

实验二 定时器实验_第1张图片

、实验电路图

实验二 定时器实验_第2张图片

、实验程序

 

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP ITOP

ORG 1000H

MAIN:MOV SP,#60H

MOV TMOD,#01H

MOV 30H,#20

MOV 31H,#60

MOV 32H,#3

MOV TL0,#0B0H

MOV TH0,#3CH

MOV A,#0

SETB TR0

SETB ET0

SETB EA

HERE:MOV P1,A

SJMP HERE

ITOP:MOV TL1,#0B0H

MOV TH1,#3CH

DJNZ 30H,LOOP

MOV 30H,#20

CPL P1.0

DJNZ 31H,LOOP

MOV 31H,#60

CPL P1.1

DJNZ 32H,LOOP

MOV 32H,#3

CPL P1.2

LOOP:RETI

END

 

八、实验总结

在上次实验的基础上,这次实验中,我们学习了89C51内部定时/计数器使用方法,即学习了单片机的内部溢出中断,进一步掌握中断处理程序的编程。

 

你可能感兴趣的:(单片机)