Embedded Lab Course with PIC18F4550
Course by IIT, Bombay
----------------------------------------------------------------------------------------------------------------------------------
Overview: Below course was conducted as an outreach initiative of Wadhwani Electronics Lab, IITB under the Virtual Labs Project by the Ministry of Human Resource and Development (MHRD), GOI. The controller used in this course is a PIC18F4550 based development board we designed and manufactured at WEL. This course will help you in adapting any other μController platform, design & develop an embedded system, interface variety of peripherals & implementing various communication protocols.
Prerequisites: Knowledge of μC, embedded-C programming, MPLAB IDE, debugging, comm. Protocols
Getting things done: Installing MPLAB and Introduction to PIC board Kindly go through this video tutorial. This board is powered by USB. For programming the device, USB bootloader mode is used as it's much faster and economical to program than PIC emulator by Microchip. Linker file provided is necessary to build program with this controller.Check FAQs section incase of any queries or comments below. Do not get confused with header files used in code. It's just a means to shorten the length of the program. The syntax might change as per controller used but the algorithm remains the same. The below course is strictly performed on PIC18F4550 board. If you are using any other μC, study it's datasheet thoroughly.
---------------------------------------------------------------------------------------------------------------
- Revision of basics of C- programming:
- Store 10 different numbers in 10 consecutive memory locations. Then clear these memory locations (Use array to store numbers in memory and its pointer to clear content)
- Find the sum of N numbers starting from 1 and store the partial sum values in N consecutive memory locations. Your program should result in having 1, 3, and 6 in initial memory locations. The value of N should be taken between 10-20.
- C-program to read 10 numbers from one set of location and copy these numbers to a different set of location.
- C-program to sort 5 numbers (stored in memory location) in an increasing order using any sorting algorithm. Store the sorted numbers in some other memory location. (contents of the original array should not be destroyed or re-ordered.)