The 8051/8052 microcontroller family is very popular and is found in a huge number of applications in professional systems and amateur projects .
This paper describes the design of programming system for the 8051/8052 UV and Flash ROM based microcontrollers that work in conjunction with an IBM style personal computer. The programmer uses the standard parallel printer port operating in bidirectional mode to interface with the host personal computer . An integral power supply and external step down power transformer provides the programmer with all required operating voltages.
The programmer is controlled by software written in Visual Basic running on the host personal computer. Two versions of the software were written; the first will run on personal computers that operate under Windows 95, Windows 98, and Windows millennium .The other will run under Windows NT/2000, and Windows XP. This was done because unlike Windows 95 & 98, Windows NT/2000/XP will cause an exception (Privileged Instruction) if an attempt is made to access a port that an application program is privileged to talk to and program execution is halted . This problem was solved by modifying the I/O permission bitmap in system Kernel Mode Driver to allow a particular task, access to certain I/O ports.
Hardware and software were designed to support most type of 8051/8052 microcontrollers made by known chip manufactures like Intel, AMD, Philips, Atmel, ST microelectronics , and Cygnal . Upon detecting chip type by reading signature byte, the proper programming voltage, timing, and algorithm suitable for a given chip are chosen automatically by software running on host .The programmer supports all memory microcontroller functions, including signature read, code read , code write, code verification ,chip erase for microcontrollers equipped with flash memory, and lock bit write .