0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第二講:單片機STC89C52+RA8889驅(qū)動控制彩屏 代碼移植介紹

51單片機驅(qū)動控制彩屏 ? 來源:51單片機驅(qū)動控制彩屏 ? 作者:51單片機驅(qū)動控制 ? 2024-06-04 10:36 ? 次閱讀

51單片機驅(qū)動控制彩屏系列講座

第二講:單片機STC89C52+RA8889驅(qū)動控制彩屏 代碼移植介紹

一、RA8889核心文件有四個,分別是:

文件說明
RA8889.c底層API程序
RA8889_API.c用戶層API程序(可選)
RA8889_MCU_IF.cMCU通信函數(shù)
UserDef.h參數(shù)配置:屏參、頻率等

重點要移植的代碼是RA8889.c,這份程序可以根據(jù)功能需求進行裁切移植,而RA8889_API.c這份是API接口程序,代碼多,根據(jù)實際功能需求進行裁切。RA8889_MCU_IF.c則可以根據(jù)實際通信方式進行選擇裁切。

UserDef.h 配置相關(guān)參數(shù)、宏定義,另外還有一份delay.c,這里的延時函數(shù)需要用戶根據(jù)自己的主頻進行調(diào)整。根據(jù)51單片機,移植好了核心代碼放在 RA8889_01_Kernel 文件架里面:
51核心代碼.png

上一講已針對51基礎(chǔ)功能進行了基礎(chǔ)移植,并根據(jù)51單片機進行優(yōu)化,該代碼使用的是AT070TN92兼容屏,若您手上的液晶屏是其它型號,要變更屏的參數(shù)配置Set_LCD_Panel(),不清楚可以在本bbs論壇留言。
使用Keil來編輯時,程序添加到項目中:
樹目錄.png

路徑包含:
庫路徑.png

二、單片機僅需要做三步:

/* SPI初始化 */
	SPI4_Init();
	
	/* RA8889硬件復位 */
	SPI_RST = 1;
	delay_ms(1);
	SPI_RST = 0;
	delay_ms(1);
	SPI_RST = 1;

	/* RA8889初始化 */
	RA8889_Initial();

這樣初始化也就做完了,接下來單片機就可以開始繪圖了。

三、繪圖和顯示文字:

  1. 下方代碼演示顏色填充,根據(jù)函數(shù)名稱不難理解,這些函數(shù)存放在RA8889_51.c里面:
/* 畫矩形填充 */
	Foreground_color_16M(0x0);
	Square_Start_XY(0,0);
	Square_End_XY(799,479);
	Start_Square_Fill();

RA8889內(nèi)建圖形驅(qū)動引擎,可以繪制各種幾何圖形:方形,三角形,圓形,橢圓形等等,您可以根據(jù)需求再從RA8889標準參考程序里面找到RA8889.c,根據(jù)功能進行裁剪。

  1. 文字顯示,下方是簡單調(diào)用,此外文字顯示還有多種功能:放大、加底色等,這些都可以從RA8889標準參考程序找到RA8889_API.c進行裁剪移植。
/* 內(nèi)建文字顯示測試 */
	Foreground_color_16M(0xFFFFFF);
	Goto_Text_XY(124,30);
	Show_String("Solution: 89C52 + RA8889.");
	Goto_Text_XY(124,60);
	Show_String("RA8889 is an efficient TFT LCD CONTROLLER.");
	Goto_Text_XY(124,90);
	Show_String("It has an embedded decoder for JPG and AVI.");

四:移植的調(diào)試

在移植時,有可能不成功,這里介紹一點經(jīng)驗:

  1. 檢查SPI接線,SDO和SDI不要接反了,還要確認CS和地線;
  2. 可以無限循環(huán)RA8889_Initial()代碼,再用示波器觀察SDO、SDI、SCK及CS的波形,是否有周期的脈沖,這個方法定位會比較容易;
  3. 在MCU_Dev_Board.c代碼中有一個通信測試Comm_Test(),通過該函數(shù)對RA8889進行讀寫,若正常則閃爍LED來指示;
  4. 另外可以調(diào)整delay.c,將延時先調(diào)得長一點進行測試,待通信正常再適當調(diào)快。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6052

    文章

    44768

    瀏覽量

    642856
  • STC89C52
    +關(guān)注

    關(guān)注

    41

    文章

    330

    瀏覽量

    82569
  • 驅(qū)動控制
    +關(guān)注

    關(guān)注

    0

    文章

    123

    瀏覽量

    15911
收藏 0人收藏

    評論

    相關(guān)推薦

    中小尺寸彩屏TFT-LCD顯示控制RA8889ML3N電路原理圖

    中小尺寸彩屏TFT-LCD顯示控制RA8889ML3N電路原理圖,最高驅(qū)動1366*2048分辨率,支持并口/串口(SPI)主控接口,支持圖形繪圖引擎,支持JPEG視頻硬解碼. 原理
    發(fā)表于 04-03 14:33

    第三篇 RA8889 實現(xiàn)酷炫車載液晶儀表系列文章:RA8889初始化

    由液晶驅(qū)動控制芯片RA8889實現(xiàn)車載液晶儀表的方案,本系列文章會從最基本的UI界面制作,硬件平臺的介紹,以及軟件代碼實現(xiàn)來詳細
    的頭像 發(fā)表于 02-25 15:34 ?236次閱讀
    第三篇 <b class='flag-5'>RA8889</b> 實現(xiàn)酷炫車載液晶儀表系列文章:<b class='flag-5'>RA8889</b>初始化

    第二RA8889 實現(xiàn)酷炫車載液晶儀表系列視頻: UI類界面介紹

    本系列文章介紹 RA8889 實現(xiàn)液晶儀表HMI UI界面,分為兩大部分來介紹,本期介紹如何制作UI類界面,其中包括使用PS軟件制作靜態(tài)類UI界面,Ae軟件制作動態(tài)類的UI:指針轉(zhuǎn)動的
    的頭像 發(fā)表于 02-25 15:27 ?228次閱讀
    <b class='flag-5'>第二</b>篇 <b class='flag-5'>RA8889</b> 實現(xiàn)酷炫車載液晶儀表系列視頻: UI類界面<b class='flag-5'>介紹</b>

    第一篇 RA8889 實現(xiàn)酷炫車載液晶儀表系列文章:簡介及平臺介紹

    由液晶驅(qū)動控制芯片RA8889實現(xiàn)車載液晶儀表的方案,本系列文章會從最基本的UI界面制作,硬件平臺的介紹,以及軟件代碼實現(xiàn)來詳細
    的頭像 發(fā)表于 02-25 14:56 ?219次閱讀
    第一篇 <b class='flag-5'>RA8889</b> 實現(xiàn)酷炫車載液晶儀表系列文章:簡介及平臺<b class='flag-5'>介紹</b>

    采用AT89C52單片機作為路燈控制系統(tǒng)的支路控制

    本系統(tǒng)采用AT89C52單片機作為路燈控制系統(tǒng)的支路控制器,采用光敏極管 檢測光強度、紅外對管檢測移動物體經(jīng)過的位置等方法
    發(fā)表于 11-24 14:37 ?0次下載

    89C52單片機控制直流24V電機輸出,數(shù)碼管顯示亂碼?

    一電子板,89C52單片機控制直流24V電機輸出,帶93C86讀取用戶數(shù)據(jù),能正常運行,但起動10-20秒內(nèi)不能控制,數(shù)碼管顯示亂碼?
    發(fā)表于 11-10 19:06

    51單片機STC8H8K64U通過RA8889/RA8876如何控制彩屏 I2C源碼下載

    用51單片機STC8H8K64U驅(qū)動彩屏,控制器采用瑞佑RA8889. 使用軟件模擬I2
    的頭像 發(fā)表于 11-01 11:02 ?816次閱讀
    51<b class='flag-5'>單片機</b><b class='flag-5'>STC</b>8H8K64U通過<b class='flag-5'>RA8889</b>/<b class='flag-5'>RA</b>8876如何<b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> I2<b class='flag-5'>C</b>源碼下載

    單片機驅(qū)動彩屏最簡方案:單片機_RA8889最小開發(fā)板驅(qū)動控制TFT彩屏介紹(一)

    本文介紹使用單片機+RA8889驅(qū)動控制彩屏的最小方案。文章從
    發(fā)表于 08-22 17:31

    51單片機(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4參考代碼(v1.3) 硬件SPI方式驅(qū)動大屏顯示

    文章導引: (1)51單片機(STC8051U34K64)_RA8889_SPI4參考代碼(v1.3) (2)51單片機
    發(fā)表于 07-17 11:15

    51單片機(STC8051U34K64)_RA8889_SPI4參考代碼(v1.3)

    文章導引: (1)51單片機(STC8051U34K64)_RA8889_SPI4參考代碼(v1.3) (2)51單片機
    發(fā)表于 07-05 10:55

    51單片機STC8H8K64U通過RA8889/RA8876如何控制彩屏(SPI源碼下載)

    /RA8876控制芯片剛好可以完美搭配用于工控、醫(yī)療等各個領(lǐng)域。我們這樣接線就可以了: 、SPI-4連接電路圖: RA8889單片機的接
    發(fā)表于 06-26 14:13

    第五:51單片機+RA8889驅(qū)動控制彩屏 完整源碼說明 【 源碼v1.2 】

    51單片機驅(qū)動控制彩屏系列講座 硬件:STC89C52 + RA8889開發(fā)板 + TFT
    發(fā)表于 06-13 17:23

    第四單片機STC89C52+RA8889驅(qū)動控制彩屏 代碼移植范例(包含API接口)

    51單片機通過RA8889控制驅(qū)動彩屏移植API參考程序
    的頭像 發(fā)表于 06-06 13:59 ?1739次閱讀
    第四<b class='flag-5'>講</b>:<b class='flag-5'>單片機</b><b class='flag-5'>STC89C52+RA8889</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> <b class='flag-5'>代碼</b><b class='flag-5'>移植</b>范例(包含API接口)

    第三單片機STC89C52+RA8889驅(qū)動控制彩屏 代碼的壓縮(Keil編譯器)

    51單片機驅(qū)動控制芯片RA8889,源代碼函數(shù)冗余較多,移植時可能會碰到輸出程序過大,這里
    的頭像 發(fā)表于 06-05 11:05 ?763次閱讀
    第三<b class='flag-5'>講</b>:<b class='flag-5'>單片機</b><b class='flag-5'>STC89C52+RA8889</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> <b class='flag-5'>代碼</b>的壓縮(Keil編譯器)

    第一單片機STC89C52+RA8889驅(qū)動控制彩屏 極簡方案(源碼公開)

    本章介紹如何使用51單片機驅(qū)動控制彩屏,控制器彩用瑞佑的R
    的頭像 發(fā)表于 06-04 08:45 ?1012次閱讀
    第一<b class='flag-5'>講</b>:<b class='flag-5'>單片機</b><b class='flag-5'>STC89C52+RA8889</b><b class='flag-5'>驅(qū)動</b><b class='flag-5'>控制</b><b class='flag-5'>彩屏</b> 極簡方案(源碼公開)

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品