Why do aircraft cockpit displays use uppercase fonts?
The specific reason all-uppercase was adopted is just historical. Traditional steam gauge faces use capital lettering exclusively. The reason for that is that capital letters are easier to produce with limited tooling. When they were installed in aircraft, this cost-efficient convention was followed.

This pattern is not exclusive to gauges: historically, in Indo-European languages, uppercase letters came first. Bicameral script is a later invention, present only in a few (albeit very popular) language scripts. 

Early typewriters were all-uppercase. Upper case persisted in teletype communications and early computers. Mixed case always added complexity, so its adoption in tech took time throughout the 20th century. This made all-uppercase text very familiar to the technically-minded people involved in aviation, right at the time when its conventions were being established.

The reason uppercase hasn't been replaced, even in glass cockpits, is a simple case of getting the best size:readability ratio. Capitals are fixed height and allow for twice larger letters (thus more readable) within the same amount of space.

For the same reason, exit signs in buildings spell "EXIT", not "Exit", most book covers feature all capital letters, and "NO STEP" won't be replaced with "Please avoid stepping here" anytime soon.

Mixed case has superior readability for natural English, but the language used in aviation is a specific lingo with heavy use of abbreviations. The word-recognition advantage you use reading this post would not initially work in reading "ALT" or "HDG". These are new symbols to learn. Once learned, they become more familiar than the original non-abbreviated terms they stand for.

Aviation documentation is written in mixed case, but the use of uppercase in cockpits continues to be beneficial, as uppercase helps automatically emphasize the exact terms as seen in the cockpit and elsewhere.

Will aviation displays ever switch to mixed-case? The process is ongoing, but rather than changing the old function, it's just the use of mixed-case for some new functions. These involve incorporating paperwork into the glass, which uses more natural language, for which mixed case is suitable (and, as Gerry correctly adds, officially recommended). 

Aviation-specific, abbreviation-rich jargon is an artificial language, not a natural one, so there's no case for it to switch.