STM32 TFT彩屏實現漢字字型檔顯示

2021-07-04 19:52:13 字數 1063 閱讀 2731

wbsouth

上傳時間為:

2014-08-23 12:24 am

tft彩屏是大家經常用到的乙個顯示模組,用來顯示字元等一些資訊,作為產品的乙個重要部分,實現人機互動。其中漢字顯示是非常必要的,顯示字元只需 要採用對應的取模軟體,把字元的點陣資料放在程式中即可。當我們要顯示少量且固定的漢字時也可以採用這種方法,但是,需要大量且隨機的漢字時,靠取模就不 能完成了,需要漢字字型檔來實現。 這個實驗使用的漢字大小是16*16,字型檔是放在sd卡根目錄下sys資料夾中的。下面簡單的解釋一下實現過程。 先來一張看看實驗效果。

本實驗中,涉及到sd卡的使用,檔案系統的移植,lcd屏的使用等。這裡主要說明的是lcd的漢字顯示,首先是對sd卡的初始化,以及lcd的初始化。然後下面開始漢字以及一些字元的顯示,字元的顯示還是採用的字元點陣的方式。

首先是判斷的顯示位置,是否超過屏的顯示範圍,如果超過則是實現換行功能。然後下面是判斷顯示內容的ascii知道下乙個要顯示的是字元還是漢字,如果 ascii大於0x80,則是漢字,小於0x80則是字元。因為字元是16*8,所以每顯示乙個字元橫座標+8,如果是漢字(16*16),橫座標 是+16。如果你要使用其它大小的字型顯示,請修改相應的資料。

在主要講解漢字顯示,字元顯示和漢字一樣的道理。顯示漢字裡面,首先開闢乙個緩衝區,用來儲存點陣資料,然後獲取點陣資料,下面是通過獲取的點陣資料來進 行打點顯示。注意我們是16*16的字型,所以每行16個點,一共16行。這裡簡單說一下打點,主要是採用設定一塊16*16顯示區域,然後逐一把每個點 的資料送給lcd即可,注意要設定號彩屏內部的位址自增方向。否則容易出現錯位等現象。注意最後要把顯示區域設定成全屏顯示。

怎麼在字型檔中找到對應的漢字點陣資訊,這裡的檔案系統已經移植好了,開啟字型檔檔案。注意的是,每個漢字都有乙個內碼,佔兩個位元組,通過漢字內碼的高低字 節,通過公式32*((high8bit-0xa0-1)*94+(low8bit-0xa0-1))來找到該漢字在字型檔中的偏移位置,然後讀取32個字 節,也就是該漢字的點陣資料。字型是16*16=256。256/8=32位元組。最後關閉檔案就可以了。

在整個實驗中,要注意字型大小的設定,以及lcd設定的位址自增方向,否則容易出現錯位現象。

關於stm32驅動 TFT 一些問題總結

最近到手一塊板子,好奇心促使我去研究了下它,沒一會,發現被坑進。它的tft管腳設定簡直和我以前接觸的完全不同,本人菜鳥乙隻,以前用的db0 db15口都設定在pe口上,這個板子居然在pb,pd,pf上都有,當時我就不舒服了,一怒之下我決定自己驅動下這個tft。然後真的遇到乙個非常奇怪的問題,因為我加...

stm32f103c8t9控制TFT顯示屏

附上stm32f103c8t6和這塊顯示屏的接線 gnd 電源地 vcc 3.3v電源 clk pa5 scl mosi pa7 sda res pb0 dc pb1 blk pa4 控制背光附上控制程式,親測有效 1.3寸tft lcd 彩色 65k 16位 顯示屏7針 spi 注意 這塊顯示屏是...

stm32晶元休眠模式 stm32實現待機喚醒

stm32的低功耗模式有3種 1 睡眠模式 cm3核心停止,外設仍然執行 2 停機模式 所有時鐘都停止 3 待機模式 1.8v核心電源關閉 進入待機模式的方法,以及設定wk up引腳用於把stm32從待機模式喚醒的方法 一般步驟如下 1 設定sleepdeep位 scb scr的第二位 2 使能電源...