The goal of this laboratory exercise is to learn more about microcontrollers, using a development board based on the modern, 32-bit PIC32MX device family.


Microcontrollers are used widely in industry for embedded control and monitoring. Unlike higher-performance microprocessors that are coupled to external memory and peripherals with general purpose buses, microcontrollers have smaller processors that are interfaced over an internal bus to limited internal memories and built-in peripherals such as ADCs, UARTs, ADCs and general-purpose I/O pins. This makes them a compact, single-chip solution for a wide variety of applications. Their computational performance is limited, but this is balanced by low cost and power consumption, which are important considerations especially in portable devices.

Traditionally, microcontrollers have been programmed in assembly language to make maximum use of the limited CPU power. Modern development tools can produce efficient code from compiled languages such as C. Even compact operating systems and BASIC programming environments are available

Practically, the microcontroller is controlled through direct memory read and writes operations to control and status registers at fixed addresses. While software libraries are available for Most peripheral interfaces, in this lab you will access the peripherals closer to the register Level.