Microcontroller Microprocessor Many situations may arise, where a microcomputer system requires accurate time delays. For example, when we implement a real time clock, the time needs to get updated at least for once in every second. We generate accurate time delays by using a few instructions in a loop. It is completely software based, where does not perform any work which is beneficial except the generation of time delays.
|Published (Last):||6 August 2010|
|PDF File Size:||10.19 Mb|
|ePub File Size:||20.8 Mb|
|Price:||Free* [*Free Regsitration Required]|
The counter will then generate a low pulse for 1 clock cycle a strobe — after that the output will become high again. Mode 5 : Hardware Triggered Strobe[ edit ] This mode is similar to mode 4. However, the counting process is triggered by the GATE input. Once the device detects a rising edge on the GATE input, it will start counting. When the counter reaches 0, the output will go low for one clock cycle — after that it will become high again, to repeat the cycle on the next rising edge of GATE.
On PCs the address for timer0 chip is at port 40h.. Reprogramming typically happens during video mode changes, when the video BIOS may be executed, and during system management mode and power saving state changes, when the system BIOS may be executed. The timer that is used by the system on x86 PCs is Channel 0, and its clock ticks at a theoretical value of This is a holdover of the very first CGA PCs — they derived all necessary frequencies from a single quartz crystal , and to make TV output possible, this oscillator had to run at a multiple of the NTSC color subcarrier frequency.
As stated above, Channel 0 is implemented as a counter. The counter then resets to its initial value and begins to count down again.
The fastest possible interrupt frequency is a little over a half of a megahertz. The slowest possible frequency, which is also the one normally used by computers running MS-DOS or compatible operating systems, is about Under these real mode operating systems, the BIOS accumulates the number of INT 8 calls that it receives in real mode address c, which can be read by a program. However, in free-running counter applications such as in the x86 PC, it is necessary to first write a latch command for the desired channel to the control register, so that both bytes read will belong to one and the same value.
According to a Microsoft document, "because reads from and writes to this hardware  require communication through an IO port, programming it takes several cycles, which is prohibitively expensive for the OS. Because of this, the aperiodic functionality is not used in practice.
8255A - Programmable Peripheral Interface
Intel 8253 Programmable Interval Timer