The stages in designing programs for PICmicro microcontrollers