The difference between 皇帝 and 皇上
'皇帝' is a title for 'Emperor' (n)

'皇上' is an honorific (n), exclusively reserved for an emperor. It is like "Your Majesty" or "His Majesty" in English.


You address an emperor as '皇上/陛下/主上/聖上' (Your Majesty) when you are speaking to him
You refer an emperor in third person by his honorific '皇上/陛下/主上/聖上' (His Majesty) or by his title '皇帝' (Emperor)
You do not address an emperor by his title '皇帝' (Emperor) in front of him


The nickname '萬歲爺' (The great one who will live for ten thousand years) is also used to refer to the emperor in third person 

literal meanings:

皇上 (emperor above); 陛下 (The one who stands at the bottom of the stairs to the throne); 主上 (master above); 聖上 (virtuous one above)


  '陛下' is the one still in use in modern Chinese language.  皇上, 主上 and 聖上 are all archaic terms. They can only be found in something like period dramas on T.V