The purpose of this application note is to demonstrate the implementation of the Universal Serial Bus device configuration process, using the C541U microcontroller. This configuration process is called bus enumeration. The C541U has an Intel 8051 compatible core, which is integrated with a USB Device Core (UDC) and a Memory Management Unit (MMU). List of Figures3 1 Introduction…4 2 USB Background…...5 2.1 Hub and Device Topology….5 2.2 Device Configuration Process6 3 HID (Human Interface Devices) Background... 7 4 Hardware Architecture of C541U…..8 4.1 Fundamental Structure……...8 4.2 USB Module..9 5 Software Architecture of C541U…...10 5.1 Software Initialization Routine………..10 5.2 Software Interrupt Routines...10 5.3 Software Main Routine……..12 6 Operating Environment…..13 6.1 Keil C51 Compiler.13 6.2 C541U Starter Kit..13 6.3 CATC Bus Inspector………..14 6.4 OHCI/UHCI Host..14 7 Conclusion….15 Appendix A Software Flowchart16 Appendix B References…..23 Appendix C Software Files 24 Appendix D Key Button Implementation...25 Figure 1 – USB Topology Figure 2 – USB HID Descriptor Structure Figure 3 – Block Diagram of the C541U Figure 4 – Block Diagram of the USB Module Figure 5 – 3-Stage Control Transfer Figure 6 – Overview of Development Setup