38
2002/4/8 2002/4/8 Microcomputers and Microp Microcomputers and Microp rocessors rocessors NATIONAL TAIWAN NATIONAL TAIWAN OCEAN UNIVERSITY OCEAN UNIVERSITY 國國國國國國國國 國國國國國國國國 Chapter 9 Chapter 9 COUNTER/TIMER COUNTER/TIMER PROGRAMMING IN THE 8051 PROGRAMMING IN THE 8051

NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

Embed Size (px)

Citation preview

Page 1: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002/4/82002/4/8 Microcomputers and MicroprocessorMicrocomputers and Microprocessorss

NATIONAL TAIWANNATIONAL TAIWAN

OCEAN UNIVERSITYOCEAN UNIVERSITY國立台灣海洋大學國立台灣海洋大學

Chapter 9Chapter 9COUNTER/TIMER COUNTER/TIMER PROGRAMMING IN THE 8051PROGRAMMING IN THE 8051

Page 2: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

OutlinesOutlines

List the timers of the 8051 and their associated List the timers of the 8051 and their associated registersregisters

Describe the various modes of the 8051 timersDescribe the various modes of the 8051 timers Program the 8051 timers to generate time delaysProgram the 8051 timers to generate time delays Program the 8051 counters as event countersProgram the 8051 counters as event counters

Page 3: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

PROGRAMMING 8051 TIMERSPROGRAMMING 8051 TIMERS

Timer 0 registersTimer 0 registersTL0 ( timer 0 low byte )TH0 ( timer 0 high byte )

Page 4: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Timer 1 registersTimer 1 registersTL1 ( timer 1 low byte )TH1 ( timer 1 high byte )

Page 5: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

TMOD (timer mode) registerTMOD (timer mode) register

Page 6: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 7: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 8: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 9: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Mode 1 programmingMode 1 programming

1.Loaded value into TL and TH2.”SETB TR0” for timer 0 ;”SETB TR1” for timer 13.If TF (timer flag) = high “CLR TR0” or “CLR TR1”4.Reloaded TH and TL value, TF reset to 0

Page 10: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Steps to program in mode 1Steps to program in mode 1

1.Load the TMOD value2.Load registers TL and TH 3.Start the timer (SETB TR0 or SETB TR1)4.Keep monitoring the timer flag (TF)5.Stop the timer (CLR TR0 or CLR TR1)6.Clear the TF flag7.Go back to step 2

Page 11: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Calculate Timer DelayCalculate Timer Delay

Page 12: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 13: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 14: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 15: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 16: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 17: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 18: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 19: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Finding values to be loaded into the timerFinding values to be loaded into the timer

Assuming XTAL =11.0592MHz from Example 9-10

1.Divide the desired time delay by 1.085μs2.Perform 65536-n, where n is the decimal value we got in Step 13.Convert the result of Step 2 to hex, where yyxx is the initial hex value to be loaded into the timer’s registers4.Set TL = xx and TH = yy

Page 20: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 21: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 22: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 23: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Mode 0Mode 0Like mode 1 except that it is a 13-bit timer

Mode 2 ProgrammingMode 2 Programming

1.Loaded value into TH (8-bit timer)2.”SETB TR0” for timer 0 ;”SETB TR1” for timer 13.If TF (timer flag) = high “CLR TR0” or “CLR TR1”4.Reloaded TL value kept by TH

Page 24: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Steps to program in mode 2Steps to program in mode 2

1.Load the TMOD value2.Load the TH registers 3.Start the timer4.Keep monitoring the timer flag (TF)5.Clear the TF flag7.Go back to step 4

Page 25: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 26: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 27: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 28: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 29: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

C/T bit in TMOD registerC/T bit in TMOD register

Page 30: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 31: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 32: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 33: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 34: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 35: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 36: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

Page 37: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng

The case of GATE =1 in TMODThe case of GATE =1 in TMOD

Page 38: NATIONAL TAIWAN OCEAN UNIVERSITY 國立台灣海洋大學 2002/4/8 Microcomputers and Microprocessors Chapter 9 COUNTER/TIMER PROGRAMMING IN THE 8051

2002 MuDer Jeng2002 MuDer Jeng