The 8051 Microcontroller and Embedded

(lily) #1
Department of Computer Scien

ce and Information Engineering

National Cheng Kung University, TAIWAN
HANEL
PROGRAMMING

TIMERSMode 1 Programming Steps to Mode 1 Program(cont’)


Example 9-4 (cont’)DELAY:


SETB TR0 ;start the timer 0
AGAIN: JNB TF0,AGAIN ;

monitor timer flag 0;until it rolls over

CLR TR0 ;stop timer 0CLR TF0 ;clear timer 0 flagRET


  1. The DELAY subroutine using the timer is called.5. In the DELAY subroutine, timer 0 is started by the


SETB TR0

instruction.


  1. Timer 0 counts up with the passing of


each clock, which is provided by the

crystal oscillator. As the timer counts up, it goes through the states of FFF3, FFF4, FFF5, FFF6,

FFF7, FFF8, FFF9, FFFA, FFFB,

and so on until it

reaches FFFFH. One more clock rolls it

to 0, raising the timer flag (TF0=1).

At that point, the JNB in

struction falls through.


  1. Timer 0 is stopped by the instruction


CLR TR0

. The DELAY subroutine


ends, and the process is repeated.Notice that to repeat the process, we mu

st reload the TL and TH registers, and

start the process is repeated

...

FFF2

FFFF

FFF4
FFF3

0000

TF=0

TF=0

TF=0
TF=0

TF=1
Free download pdf