{'fraction_non_alphanumeric': 0.036180904522613064, 'fraction_numerical': 0.011055276381909548, 'mean_word_length': 5.107361963190184, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Development of a graphical user interface using Windows 7-C# to download Intel-Hex formatted file into the flash of 89S52 microcontroller

The 89S52 microcontroller (MCU) is very popular among the students, teachers, engineers, scientists and amateurs to build small and cost effective projects for learning purposes and or to incorporate it in a bigger project. In these projects, the chip remains in the system and occasionally need arises to change the program bytes of the code memory (flash) without removing the MCU from the holding instrument. To facilitate entering new codes into the flash without employing expensive commercial ROM Programmer, an interface circuit exists within the 89S52 known as `In-System Programming Interface (ISP)'. ISP Programming requires two components viz., (i) an interactive GUI (Graphical User) Interface (Fig. 7) at the IBMPC side, and (ii) an auxiliary communication controller (ACC) at the target MCU side (Fig. 1). The GUI interface transfers `control information (Chip Erase, chip Blank, Chip Write, Chip Read, Lock Security Bits and etc.)' and `Intel-Hex' formatted program bytes over COM port to the ACC. The ACC decodes the control information, extracts the program bytes and then configures the programming mode of the target MCU. It then activates the ISP interface as per `Serial Programming Instructions [1]' for writing the received program bytes into the flash of the target MCU. This paper has presented the development procedures of the GUI interface written using C# programming language, which is compatible with Windows 7 operating system. The GUI has been tested in an existing 89S52 based `CMCKIT: CISC Microcontroller Learning Kit (Fig. 1)' and found to be working as expected. The contents of this paper will encourage the interested readers to learn C# programming language, physical COM port hardware and programming, virtual COM port concept and finally creating new versions of GUI Interfaces for their own ISP Programmers.