8051 Tools 
This is a collection of code generators for 8051-based chips from Microchip and STC.



8051 Code Generators

Check out detailed specifications here. Note that is only works for modern MCUs, classic 8051 chips and classic-like derivatives like the AT89C5x and STC89C5x series only support quasi-bidirectional modes and lack the port mode registers PxMx

Port: Quasi-BidirectionalPush-PullInputOpen-Drain
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7

Generated code for SDCC (note Keil does not like bitfields)

Check out detailed specifications here. Note that classic MCS-51 derivatives like the AT89C5x only have two external interrupt (INT0, INT1) sources. The STC89/STC90 series extends this for up to four sources (INT0 to INT3) depending on the model, but that is not portable to other STC chips that have specific flag registers in different places.

SourceType

Generated code for SDCC (note Keil has different IRQ shims)

Check out detailed specifications here. Note that classic MCS-51 derivatives like the AT89C5x can use Timer 1 as variable baud rate generator for the UART, but 8052 derivatives like the STC89C52 also support Timer 2 as baud rate generator.

Frequency......:  UART Bits..:
Target Baudrate:  Timer......:
Est. Baudrate..: 9600  Est. Error.: 0.00 %

Generated code for SDCC (note Keil does not like bitfields)

Check out detailed specifications here. Note that Timer 2 is only available on 8052 derivatives, and that classic MCS-51 derivatives have a 12T cycle.

Frequency......:  Machine Cycle:
Interval.......:  Timer........:
Actual Interval: 199.65 us  Mode.........:
Error..........: 0.17 % 
Generated code for SDCC (note Keil does not like bitfields)