如何快速搭建微控制器液晶屏介面開發速度

2021-06-28 03:13:14 字數 1280 閱讀 9938

大家看見這個標題時候可不要誤認為我這有什麼所見只所得的小工具。

那我們能不能在vc++裡編寫乙個**液晶屏介面在上面把介面和按鍵動作都調好,然後移植到微控制器裡,這樣會加快開發速度。

在這裡我要說下我一般使用的是點陣屏,像什麼12864或者19264之類的。對於這種液晶屏我一般都先在微控制器裡定義乙個顯示快取,修改完快取後寫入到液晶屏裡,這樣繪圖速度會很快很快,缺點是有點浪費記憶體,12864需要128*64/8=1024b,這對於stm32來說不是什麼問題,對於51微控制器這種方法貌似也行的,因為stc擴充套件記憶體有1kb,可以拿來做視訊記憶體。

我們再來說說用上位機來開發時候上位機除了不能**微控制器外設外,像什麼定時器、按鍵、顯示都可以**的,因此你主需要把外設驅動寫好,在上位機端把輸入輸出部分實現了,接下來工作就很簡單了,而且你還會發現在上位機上開發很快。

上位機這邊的開發的大體思路是編寫繪製矩形的函式,液晶屏上每個點就是乙個小方塊。根據視訊記憶體裡的存的是1還是0來決定點亮或者熄滅。

如果你們編寫過程中重繪視窗時候發現閃爍,可以使用雙緩衝來繪圖。

//#define lcd_xsize 128

//#define lcd_ysize 64

//#define size3//畫素塊大小

//#define itv1//畫素塊間距

//u8 dispram[lcd_ysize][lcd_xsize/8]; //點矩陣對應陣列

//const u8 dottable=;

//#define bkcolor rgb(220,220,220)

//#define frcolor rgb(255,50,30)

void cdrawview::refreshdisp()

下面給出打點函式

#define point dispram[y][x/8]//(x,y)在陣列裡對應的表示方式

#define pmask dottable[x&0x07]

void gui_point(short x,short y,u8 color) //打點函式

有了底層畫點函式,什麼線、面、我相信你們肯定會了。

微控制器的1602液晶顯示

以上是我認為控制1602液晶比較重要的,必須要我們懂的 下面是我寫得到乙個程式 include define uchar unsigned char define uint unsigned int uchar code table1 uchar code table2 sbit lcdrs p2 ...

51微控制器 1602液晶顯示

1602的第1個管腳為vss,vss s series 表示公共連線的意思,通常指電路公共接地端電壓。15管腳為背光電源正極,為防止加5v電壓燒壞背光燈,通常串接1個10 電阻限流。1602靜態顯示 基本程式 include define lcd1602 datapins p0 define uch...

藍橋杯 微控制器學習(8) 1602液晶

3 1602液晶的指令介紹 4 簡單例項 1602液晶也叫1602字元型液晶,它是一種專門用來顯示字母 數字 符號的點陣型液晶模組。主要技術引數如下 由若干個5x7或者5x10的點陣字元位組成,每個點陣字元位都可以用顯示乙個字元,每位之間有乙個點距的間隔,每行之間也有間隔,起到了字元間距和行間距的作...