字符設備之我見

最簡單的字符設備:51MCU的數碼管,比如你寫P0=0xaa,在reg52.h頭文件中有sfr P0    = 0x80,這句話的意思是把單片機內存中地址爲0x80處的寄存器重新起名叫P0,當然你也可以把那句換改成#define P0 (*(volatile unsigned int*)0x80),最後的結果還是0x80內存地址上的一個字節等於0xaa,導致數碼管上顯示出特定字符。

再往復雜裏說:如電腦的顯示屏,你要在屏幕特定位置上顯示出一個紅色的A,你只需要在顯存(顯存的內存地址爲0xB8000)的特定位置寫入一個字0x0c41,其中0x0c代表紅色對應的編碼,0x41爲A的ASC碼,至於爲啥你往顯存寫了一個字(1 word=2 bytes)屏幕就顯示出了一個紅色的A,這就和前面的數碼管一樣,得歸功與硬件(包括處理器和顯示設備)的功勞,另外你可以將電腦的屏幕想成有限個數碼管組成,這樣一來屏幕就和一片內存區域(顯存)對應了起來

發佈了11 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章