I've implemented this application before, i've used T89C51RC2 from Atmel CO.
The most important aspect is that your Interrupt Service Routine (ISR) that responds th the RS485 datastream, this ISR time must not exceed 44 uSec., Thus, i've used the X2 mode in the mentioned chip.
Normally you will connect a RS-485 logic level converter to the serial port of your uC. But how is it possible to detect if the signal between some data bytes is high or low? This is important to know because the logic level between two data bytes indicates if you should reset the byte counter or not. It would be possible to get this information with an additional port pin but I have never seen this is standard DMX-512 designs.