What is the use of declaring a variable volatile... what it means if it is specified volatile?
'volatile' is a standard 'C' keyword - its meaning in C51 is no different from any other 'C' compiler.
You should look it up in any 'C' textbook...
http://www.keil.com/books/