回覆列表
  • 1 # 偶然間

    你這個問題資訊量太大,只能給你提個思路:1) 8*8的點陣屏要顯示0-9,字母以及漢字需要使用點整顯示的方法。對於0-9以及字母都沒有問題,點陣用的的很少,在程式裡直接寫就可以啦。對於漢字你需要找8*8的漢字點陣字型檔,能不能找到都是個問題,除非只是顯示幾個有限的簡單漢字。而且8*8的屏顯示漢字太小,比如必要顯示漢字“真”,用8*8的點陣是很難顯示的。一般顯示漢字最小的也要12*12,正常情況是16*16的點陣,個別有窄體漢字用12*16的。2)你要弄明白點陣顯示漢字的邏輯,視覺暫留是LED顯示屏得以廣泛應用的基礎,目前廣為採用的掃描驅動方式。你需要一個通用函式,就是根據要顯示的數字,字母或漢字,找到對應的點陣碼值,然後用行掃描的方法依次給對點陣進行行地址選定,再對列電平置位。3)比如數字0的8*8點陣就是(0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xE7,0xFF,/* 0 */ ),你需要先選b0,將c0到c7,設定為0xff(即8位全1),接著選b1,將c0到c7設定為0xE7(即兩段為0,中間全1,01111110 ),接著選b2,將 c0到c7設定為0xBD(即兩段為1,中間全0,10000001 ),依次類推,就顯示了數字0。可以根據同樣的邏輯,把十個數字,26個字母的大小寫都點陣化,寫成陣列放在程式碼裡直接用就可以。4)當你要顯示漢字的時候,漢字其實是兩個位元組都成的,第一個位元組的最高位是1,表示區碼,後面跟著的是位碼。根據這兩個位元組的資訊可以定位你的漢字在字型檔裡對應的點陣資料。然後和上面顯示數字一樣的處理方法把漢字點陣資料顯示即可。5)你的8*8顯示屏顯示數字和英文還勉強,顯示中文太小啦。6)你現在的首要難題是去找8*8的中文點陣字型檔,並弄清楚存放漢字點陣資料的邏輯,這樣才能根據漢字的區位碼找到對應的點陣資料。如果只顯示資料和英文字母,可以在8*8的座標紙上自己去寫上數字或字母后,在轉化成10101111類似的二進位制,去做一個自己的字型檔。顯示數字的時候,把每個數字的ASCII碼值減去數字0的ASCII碼值,去定位點陣陣列的序號。英文字母同理進行處理。

  • 中秋節和大豐收的關聯?
  • 怎樣快速刷第六週的戰令經驗?