Call for Paper - January 2023 Edition
IJCA solicits original research papers for the January 2023 Edition. Last date of manuscript submission is December 20, 2022. Read More

Programming a Microcontroller

International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Year of Publication: 2016
Altaf Hussain, Muhammad Hamad, Kamran Hafeez, Tabinda Zainab

Altaf Hussain, Muhammad Hamad, Kamran Hafeez and Tabinda Zainab. Programming a Microcontroller. International Journal of Computer Applications 155(5):21-26, December 2016. BibTeX

	author = {Altaf Hussain and Muhammad Hamad and Kamran Hafeez and Tabinda Zainab},
	title = {Programming a Microcontroller},
	journal = {International Journal of Computer Applications},
	issue_date = {December 2016},
	volume = {155},
	number = {5},
	month = {Dec},
	year = {2016},
	issn = {0975-8887},
	pages = {21-26},
	numpages = {6},
	url = {},
	doi = {10.5120/ijca2016912310},
	publisher = {Foundation of Computer Science (FCS), NY, USA},
	address = {New York, USA}


Microcontroller is a computer on single integrated circuit that includes a CPU, RAM, some form of ROM, and I/O ports. It has great impact in our life which cannot be ignored. Unlike a general purpose computer, microcontrollers are dedicated to perform a specified task and execute single application. Automatically controlled products like automatic engine control systems, remote controls, power tools, toys, and office machines i.e. photo-copier, printer, and fax machines which are used commonly; are being programmed using microcontroller. Any person working in the field of electronics has the knowledge to use a microcontroller but not necessarily be having good programming skills for it. While programing for a microcontroller, one has to interact with different software tools i.e. Proteus for making circuit diagram, mikroC PRO for source coding, and QL-PROGen for burning hex file in microcontroller. So it is really a tough task to program a microcontroller for such persons. Our work aims to extend the automatic programmer tool [1] that generates mikroC code and its hex file from a block diagram. This enhanced tool provides an integrated platform that allows the user to design circuit diagram, generate its code, and burn the hex file directly into the microcontroller. It provides a set of blocks for business logics; that are used to build an algorithm of application as an input for source code generation. In addition, it provides the feature to compile the generated code and then to burn the hex file directly into the chip. The microcontrollers used in this tool are PIC18F442, PIC18F4520, and PIC18F542; placed in the middle of Circuit Diagram Window of this tool.


  1. Axelson, J. (1994). The Microcontroller Idea Book. 2008.
  2. Verle, M. (2009). PIC Microcontrollers Programming in C: A Complete Guide to Pic Microcontrollers. MikroElektronika.
  3. How to Program a PIC Microcontroller to Build a Project [online], Avail-able:
  4. Hussain, A., Riaz, M. A., ul Abdin, Z., & Saeed, A. (2015, December). Automatic programmer: A software tool. In Emerging Technologies (ICET), 2015 International Conference on (pp. 1-5). IEEE.
  5. Maxwell, J. C. (1954). A Treatise on Electricity and Magnetism Dover Publications. Unabriged Third Edition, Volume one.
  6. A refactoring branch of MIT OpenBlocks. [online], Available:
  7. Mei, C. (2002). On teaching the simplification of block diagrams. International Journal of Engineering Education, 18(6), 697-703.
  8. Padgavhankar, A. V., & Mohod, S. W. (2014). Experimental Learning of Digital Power Controller for Photovoltaic Module Using Proteus VSM. Journal of Solar Energy, 2014.


Microcontroller, PIC18f452, hex file generator, graphical block, OpenBlocks for microcontrollers.