Explain the following methods of data transfer between a microcontroller and a peripheral device:
(a) programmed I/O,
(b) interrupt I/O,
(c) DMA.
Which method would you use in data acquisition for real-time control? Into which of the three categories would you put memory-mapped I/O?