51单片机 TFT屏 用8位数据口驱动16位数据模式

51单片机 TFT屏 用8位数据口驱动16位数据模式,第1张

LCD数据都是RW上升沿有效,所以RW=0在前面或者后面都没问题。只要保证最后RW=1的时候数据都赋值到IO口就可以了

RW=0

RW=1//上升沿写入数据

一般来说只要在最后对RW进行翻转一次都备磨能写入滑滚物数据信液。

这和TFT液晶屏型号有关,还和你采用何种接线方式有关

如以数慎悉下是ILI9341控制的单片机读方法,它采用16位数据线,所以一次读出16位,一个点本来要读3次,但时序要求读孝明4次

R = *(__IO uint16_t *)Bank1_LCD_D 实际上就是 给液晶屏一个读信号,然后单片机从总线上获得数据,这是STM32单片机以8088总线的时序 *** 作方式,因此只是一条指令,由于51单片机是8位数据线,薯乎因此这一句要分好多语句才能完成

uint16_t LCD_RD_data(void) //连续读4次

{

uint16_t R=0, G=0, B=0

R = *(__IO uint16_t *)Bank1_LCD_D /*FIRST READ OUT DUMMY DATA*/

R = *(__IO uint16_t *)Bank1_LCD_D /*READ OUT RED DATA */

B = *(__IO uint16_t *)Bank1_LCD_D /*READ OUT BLACK DATA*/

G = *(__IO uint16_t *)Bank1_LCD_D /*READ OUT GREEN DATA*/

return (((R>>11)<<11) | ((G>>10)<<5) | (B>>11))

}

uint16_t LCD_GetPoint(uint16_t x , uint16_t y)//完整的读程序

{

uint16_t temp

LCD_SetCursor(x, y)

LCD_ILI9341_CMD(0x2e)/* 读数据 的命令*/

temp=LCD_RD_data()

return (temp)

}

如果只用51的话,控制不了。因为TFT彩屏的数据处理量不是51能完成的,如果非要用51控制蚂运,中间要加个控制卡。

51只是8位机,也就是同一时刻最多处理8位数据。

建皮物颤议用16位机或者是32位机控燃败制彩屏。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12410461.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存