国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏

這篇具有很好參考價(jià)值的文章主要介紹了單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

代碼例程

TFT.zip

單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏

開(kāi)發(fā)資料中的例程有些瑕疵,上面是整理后的例程,修改了一些參數(shù),也添加了不少函數(shù),函數(shù)都有對(duì)應(yīng)的注釋?zhuān)灰ㄐ乃既タ匆粦?yīng)該是能看懂怎么用的。此外,這個(gè)例程也可以作為你們工程的模板,往上面添加一些函數(shù)、完善一下內(nèi)容,差不多就能做出一個(gè)作品了

TFT模塊

介紹

TFT的全稱(chēng):Thin Film Transistor,中文名字是薄膜晶體管?,F(xiàn)在我們所使用的筆記本電腦以及臺(tái)式電腦都運(yùn)用了相對(duì)先進(jìn)的TFT顯示屏,這類(lèi)顯示屏都由液晶像素點(diǎn)組成,并由集成在像素點(diǎn)后面的薄膜晶體管驅(qū)動(dòng)

不難看出,TFT也是屬于LCD液晶屏的一種,它的每一液晶像素點(diǎn)都是由集成在其后的薄膜晶體管來(lái)驅(qū)動(dòng)的

使用要點(diǎn)

減少刷新像素

單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏

我們使用到是一塊1.8寸TFT LCD,分辨率是128X160,驅(qū)動(dòng)芯片是ST7735S,支持SPI串口

雖然分辨率不高,但對(duì)于一款51單片機(jī)來(lái)說(shuō),這已經(jīng)是在負(fù)重前行了,可以計(jì)算一下,128X160=20480個(gè)像素,每個(gè)像素是16位彩色數(shù)據(jù),也就是刷新一個(gè)屏幕的數(shù)據(jù)量是40960Byte=40KB,這對(duì)于單片機(jī)的運(yùn)行頻率來(lái)說(shuō),無(wú)疑是個(gè)大數(shù)目了,燒錄開(kāi)發(fā)資料中的刷屏例程可以看出,刷新一幀畫(huà)面需要5s~6s,這是不能接受的,為了提高畫(huà)面刷新頻率,必須要盡量減少刷新的內(nèi)容,而對(duì)于固定的背景和元素,只在初始化時(shí)刷新的,因此設(shè)計(jì)得花里胡哨也沒(méi)事

上圖是鏈接中的例程運(yùn)行效果,以一款貪吃蛇游戲?yàn)槔澇陨咴谶\(yùn)動(dòng)時(shí),本質(zhì)上只有頭和尾需要做出改變,因此只需要把最后一格換成背景色,最前面一格前添加一個(gè)小元素,就可以完成一個(gè)流動(dòng)幀,這樣刷新的幀率完全足夠

坐標(biāo)系

/*************************************************
函數(shù)名:LCD_Set_Region
功能:設(shè)置lcd顯示區(qū)域,在此區(qū)域?qū)扅c(diǎn)數(shù)據(jù)自動(dòng)換行
入口參數(shù):xy起點(diǎn)和終點(diǎn)
返回值:無(wú)
*************************************************/
void Lcd_SetRegion(unsigned int x_start,unsigned int y_start,unsigned int x_end,unsigned int y_end)
{		
	Lcd_WriteIndex(0x2a);
	Lcd_WriteData(0x02);
	Lcd_WriteData(x_start+2);
	Lcd_WriteData(0x02);
	Lcd_WriteData(x_end+2);

	Lcd_WriteIndex(0x2b);
	Lcd_WriteData(0x01);
	Lcd_WriteData(y_start+1);
	Lcd_WriteData(0x01);
	Lcd_WriteData(y_end+1);
	
	Lcd_WriteIndex(0x2c);
}

這是開(kāi)發(fā)資料中 TFT 驅(qū)動(dòng)代碼的一個(gè)函數(shù),用于設(shè)置寫(xiě)入數(shù)據(jù)的范圍,如果燒錄可以看到,屏幕邊緣會(huì)出現(xiàn)一些不能刷新的地方,在 TFT.zip 中,對(duì)這塊內(nèi)容做了修改,把+1/+2刪掉了

使用時(shí)需要注意,Lcd_SetRegion函數(shù)參數(shù)傳入的坐標(biāo)是從0開(kāi)始的,每個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)一個(gè)像素點(diǎn),也就是最大坐標(biāo)點(diǎn)為(127,159)

其他需要傳入坐標(biāo)數(shù)據(jù)的Lcd函數(shù),都會(huì)引用到Lcd_SetRegion,因此使用時(shí),要知道像素與坐標(biāo)的對(duì)應(yīng)關(guān)系

游戲設(shè)計(jì)

對(duì)象

typedef struct  
{	
	u8 life;
	u8 headX;			
	u8 headY;		
	u8 snakeX[300];
	u8 snakeY[300];	
	u8 length;
	int dir;
	int tpdir;
	u8 foodX;
	u8 foodY;

}Snake; 

游戲設(shè)計(jì)最重要的就是對(duì)象,這方面是面向?qū)ο缶幊陶Z(yǔ)言的長(zhǎng)處,而對(duì)于C語(yǔ)言,結(jié)構(gòu)體也能體現(xiàn)這一點(diǎn)。上面代碼是一個(gè)貪吃蛇對(duì)象(結(jié)構(gòu)體),可以非常直觀地表達(dá)貪吃蛇的狀態(tài),這在游戲設(shè)計(jì)中是很重要的,尤其是多對(duì)象的情況(現(xiàn)在大概率用不到),學(xué)會(huì)使用結(jié)構(gòu)體,對(duì)變量的管理和內(nèi)容的設(shè)計(jì)都會(huì)帶來(lái)很大便利

VS Code

這里就推薦使用vs code作為代碼的編輯器,因?yàn)樗淖詣?dòng)補(bǔ)全真的很香,尤其是在使用結(jié)構(gòu)體變量時(shí)

如果你有VS Code,只需安裝一個(gè)插件Keil Assistant,再配置一下路徑就可以用了

單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏
單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-422266.html

到了這里,關(guān)于單片機(jī)開(kāi)發(fā)教程5——51單片機(jī)驅(qū)動(dòng)TFT彩屏的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【單片機(jī)】51單片機(jī),TLC2543,驅(qū)動(dòng)程序,讀取adc

    【單片機(jī)】51單片機(jī),TLC2543,驅(qū)動(dòng)程序,讀取adc

    TLC2543 是一款 12 位精密模數(shù)轉(zhuǎn)換器 (ADC)。 1~9、11、12——AIN0~AIN10為模擬輸入端; 15——CS 為片選端; 17——DIN 為串行數(shù)據(jù)輸入端;(控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式) 16——DOUT為A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;(A/D轉(zhuǎn)換結(jié)果的輸出端。) 19——EOC為轉(zhuǎn)換結(jié)束端

    2024年02月14日
    瀏覽(25)
  • 單片機(jī)】51單片機(jī),TLC2543,驅(qū)動(dòng)程序,讀取adc

    單片機(jī)】51單片機(jī),TLC2543,驅(qū)動(dòng)程序,讀取adc

    TLC2543 是一款 12 位精密模數(shù)轉(zhuǎn)換器 (ADC)。 1~9、11、12——AIN0~AIN10為模擬輸入端; 15——CS 為片選端; 17——DIN 為串行數(shù)據(jù)輸入端;(控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式) 16——DOUT為A/D轉(zhuǎn)換結(jié)果的三態(tài)串行輸出端;(A/D轉(zhuǎn)換結(jié)果的輸出端。) 19——EOC為轉(zhuǎn)換結(jié)束端

    2024年02月14日
    瀏覽(22)
  • 【51單片機(jī)】直流電機(jī)驅(qū)動(dòng)(PWM)(江科大)

    【51單片機(jī)】直流電機(jī)驅(qū)動(dòng)(PWM)(江科大)

    · 直流電機(jī)是一種將電能轉(zhuǎn)換為機(jī)械能的裝置。一般的直流電機(jī)有兩個(gè)電極,當(dāng)電極正接時(shí),電機(jī)正轉(zhuǎn),當(dāng)電極反接時(shí),電機(jī)反轉(zhuǎn) · 直流電機(jī)主要由永磁體(定子)、線圈(轉(zhuǎn)子)和換向器組成 · 除直流電機(jī)外,常見(jiàn)的電機(jī)還有步進(jìn)電機(jī)、舵機(jī)、無(wú)刷電機(jī)、空心杯電機(jī)等 電機(jī)的驅(qū)動(dòng)無(wú)法

    2024年02月20日
    瀏覽(19)
  • 【51單片機(jī)】STC-ISP軟件保姆級(jí)燒錄教程(以普中A2開(kāi)發(fā)板為例)

    【51單片機(jī)】STC-ISP軟件保姆級(jí)燒錄教程(以普中A2開(kāi)發(fā)板為例)

    ????????本章節(jié)實(shí)驗(yàn)到此已經(jīng)完畢,考慮到大家的基礎(chǔ)差異較大,剛接觸51單片機(jī)的小伙伴可能對(duì)燒錄過(guò)程有些困惑,作者便在篇末給大家提供保姆級(jí)燒錄教程,幫助大家快速掌握單片機(jī)程序燒錄技巧,希望對(duì)大家有所幫助! 本教程所需軟件下載(win系統(tǒng)) ????????

    2023年04月08日
    瀏覽(28)
  • 51單片機(jī)驅(qū)動(dòng)TCS3200顏色識(shí)別傳感器

    51單片機(jī)驅(qū)動(dòng)TCS3200顏色識(shí)別傳感器

    TCS3200顏色傳感器是一款全彩的顏色檢測(cè)器,包括了一塊TAOS TCS3200RGB感應(yīng)芯片和4個(gè)白色LED燈,TCS3200能在一定的范圍內(nèi)檢測(cè)和測(cè)量幾乎所有的可見(jiàn)光。TCS3200有大量的光檢測(cè)器,每個(gè)都有紅綠藍(lán)和清除4種濾光器。每種顏色濾光器均勻地按數(shù)組分布來(lái)清除顏色中偏移位置的顏色分

    2023年04月14日
    瀏覽(44)
  • 【51單片機(jī)】直流電機(jī)的驅(qū)動(dòng)和PWM調(diào)速

    【51單片機(jī)】直流電機(jī)的驅(qū)動(dòng)和PWM調(diào)速

    51單片機(jī)驅(qū)動(dòng)直流電機(jī)與 PWM 調(diào)速是通過(guò)使用 51 單片機(jī)來(lái)控制直流電機(jī)的轉(zhuǎn)速和方向。51 單片機(jī)通過(guò)控制電機(jī)的電流來(lái)實(shí)現(xiàn)驅(qū)動(dòng),并通過(guò)生成 PWM 信號(hào)來(lái)調(diào)節(jié)電機(jī)的轉(zhuǎn)速。使用 PWM 調(diào)速可以使得直流電機(jī)的轉(zhuǎn)速精確可控,并且減少了電機(jī)的功率損耗。在 51 單片機(jī)的控制系統(tǒng)中,

    2023年04月09日
    瀏覽(26)
  • 基于51單片機(jī)的步進(jìn)電機(jī)驅(qū)動(dòng),親測(cè)無(wú)誤

    基于51單片機(jī)的步進(jìn)電機(jī)驅(qū)動(dòng),親測(cè)無(wú)誤

    這一次要分享的項(xiàng)目是最近接單做的一個(gè)小玩意兒,基于51單片機(jī)的步進(jìn)電機(jī)驅(qū)動(dòng)。最近積壓了兩個(gè)月的小項(xiàng)目會(huì)在后面陸續(xù)發(fā)出,好了回歸正題。本次步進(jìn)電機(jī)驅(qū)動(dòng)的話主要實(shí)現(xiàn)的功能就是實(shí)現(xiàn): 步進(jìn)電機(jī)的加速和減速,正轉(zhuǎn)反轉(zhuǎn)和開(kāi)啟或者停止工作。用LCD1602顯示當(dāng)前工作

    2023年04月09日
    瀏覽(26)
  • 51單片機(jī)驅(qū)動(dòng)8位數(shù)碼管(74HC595驅(qū)動(dòng))滾動(dòng)顯示

    51單片機(jī)驅(qū)動(dòng)8位數(shù)碼管(74HC595驅(qū)動(dòng))滾動(dòng)顯示

    原文鏈接:https://www.yourcee.com/newsinfo/2929591.html 點(diǎn)擊圖片購(gòu)買(mǎi) 主要關(guān)注下供電電壓是3.0-5.0v(建議5V),請(qǐng)?jiān)谝?guī)定范圍內(nèi)供電。 模塊上芯片引出5個(gè)引腳,芯片引腳與模塊引腳對(duì)應(yīng)關(guān)系是:VCC-VCC SCK-SCLK, RCK-RCLK,SER-DIO,GND-GND 可以對(duì)比程序?qū)W習(xí)時(shí)序圖,便于理解。 1.顯示異常可排除

    2024年02月15日
    瀏覽(41)
  • 基于51單片機(jī)驅(qū)動(dòng)MPU6050模塊(LCD1602顯示)

    基于51單片機(jī)驅(qū)動(dòng)MPU6050模塊(LCD1602顯示)

    @TOC MPU-6050集成了3軸MEMS陀螺儀,3軸MEMS加速度計(jì),以及一個(gè)可擴(kuò)展的數(shù)字運(yùn)動(dòng)處理器DMP,可用IIC接口連接一個(gè)第三方的數(shù)字傳感器。MPU-6050對(duì)陀螺儀和加速度計(jì)分別用了三個(gè)16位的ADC,將其測(cè)量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運(yùn)動(dòng),傳感器的測(cè)量范

    2024年02月11日
    瀏覽(24)
  • 【Proteus仿真】| 51單片機(jī)——MAX7219 驅(qū)動(dòng)數(shù)碼管

    【Proteus仿真】| 51單片機(jī)——MAX7219 驅(qū)動(dòng)數(shù)碼管

    系列文章 todo: 該文章目的:讓大家快速上手——知道如何使用MAX7219。故MAX7219就不做詳細(xì)介紹了(需要了解的話可以看其他博文及數(shù)據(jù)手冊(cè))。 max7219是一個(gè)串行輸入/輸出 共陰極 數(shù)碼管(點(diǎn)陣)驅(qū)動(dòng)芯片。1個(gè)MAX7219最多可以驅(qū)動(dòng)8位數(shù)碼管。它具有自動(dòng)掃描(切換位),BCD譯碼器(即

    2024年02月15日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包