1 / 12

Timers

Timers. The 8254 Programmable Interval Timer. 3 independent 16-bit programmable counters Counting in binary/BCD Applications Real-time clock Event counter. 8254 I/O. D7-D0: System data bus CLK0: Clock for counter 0 Gate0: Gate for counter 0 CLK1: Clock for counter 1

mairi
Télécharger la présentation

Timers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Timers

  2. The 8254 Programmable Interval Timer • 3 independent 16-bit programmable counters • Counting in binary/BCD • Applications • Real-time clock • Event counter

  3. 8254 I/O • D7-D0: System data bus • CLK0: Clock for counter 0 • Gate0: Gate for counter 0 • CLK1: Clock for counter 1 • Gate1: Gate for counter 1 • CLK2: Clock for counter 2 • Gate2: Gate for counter 2 • A1-A0: Address select • 00: Counter 0 • 01: Counter 1 • 10: Counter 2 • 11: Control Register • Vcc: Power (+5V) • Ground: • RD: Read enable • WR: Write enable • CS: Chip select signal • OUT0: Output of counter0 • OUT1: Output of counter1 • OUT2: Output of counter2

  4. 8254 Block Diagram

  5. Control Register

  6. Programming the 8254 • Each counter is programmed individually by writing • A control word • The initial count • Control word selects • Counter • Mode of operation • Type of operation (read/write) • Type of count (binary/BCD) • Program sequence 1: • PROGRAM CONTROL WORD 1 • PROGRAM CONTROL WORD 2 • PROGRAM LSB 1 • PROGRAM LSB 2 • PROGRAM MSB 1 • PROGRAM MSB 2 • Program sequence 2: • PROGRAM CONTROL WORD 1 • PROGRAM LSB 1 • PROGRAM MSB 1 • PROGRAM CONTROL WORD 2 • PROGRAM LSB 2 • PROGRAM MSB 2

  7. 8254 Modes of Operation • Mode 0: Events counter. • Mode 1: One shot pulse • Mode 2: Continuous pulses, one clock pulse wide • Mode 3: Continuous square-wave as long as Gate is 1 • Mode 4: Software triggered one-shot pulse • Mode 5: Hardware triggered one-shot pulse

  8. Modes of Operation • Mode 0: Events counter (used for system time) • Mode 1: One shot pulse

  9. Modes of Operation • Mode 2: Continuous pulses • Mode 3: Continuous square-wave

  10. Modes of Operation • Mode 4: Software triggered one-shot pulse • Mode 5: Hardware triggered one-shot pulse

  11. Example • Connect an 8254 in a 8088 processor system so that it occupies the address range 4CH-4FH • Program counter 0 in mode 0 with a count of ABCD12H and counter 1 in mode 3 and a count of 345678H • Program counter 0 to generate an interrupt every 10 ms using a 10MHz oscillator • Write an interrupt service routine that calls a sleep function every 1 min • Program counter 1 to produce a 1.25 MHz clock output with 50% duty cycle

  12. Example 2 • Connect an 8254 in a 8088 processor system so that it occupies the address range 4CH-4FH through a PIC in the address range 6EH-6FH at IRQ1 • Configure the PIC for vector 43H and unmask IRQ1 masking all others • Configure the timer to use one counter to count events on Gate0 and another to count time. • Write an ISR at vector 43H that reads the values of the two timers each time there is an interrupt.

More Related