STM32单片机对TFTLCD的驱动设计

控制/MCU

1883人已加入

描述

看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。

TFTLCD使用80并口,80 并口有如下一些信号线:

CS: TFTLCD 片选信号。

WR:向 TFTLCD 写入数据。

RD:从 TFTLCD 读取数据。

D[15: 0]: 16 位双向数据线。

RST:硬复位 TFTLCD。

RS:命令/数据标志( 0,读写命令; 1,读写数据)。

只是记住FSMC在使用的时候要初始化和使能就行了。

关于lcd.c这个文件竟然接近3000行,好吧,我是写不出来,只能在主函数里调用了。

main.c:

intmain(void)

{

u8x=0;

u8lcd_id[12];//存放LCDID字符串

delay_init();//延时函数初始化

NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级

uart_init(9600);//串口初始化为9600

LED_Init();//LED端口初始化

LCD_Init();

POINT_COLOR=RED;

sprintf((char*)lcd_id,“LCDID:%04X”,lcddev.id);//将LCDID打印到lcd_id数组。

while(1)

{

switch(x)

{

case0:LCD_Clear(WHITE);break;

case1:LCD_Clear(BLACK);break;

case2:LCD_Clear(BLUE);break;

case3:LCD_Clear(RED);break;

case4:LCD_Clear(MAGENTA);break;

case5:LCD_Clear(GREEN);break;

case6:LCD_Clear(CYAN);break;

case7:LCD_Clear(YELLOW);break;

case8:LCD_Clear(BRRED);break;

case9:LCD_Clear(GRAY);break;

case10:LCD_Clear(LGRAY);break;

case11:LCD_Clear(BROWN);break;

}

POINT_COLOR=RED;

LCD_ShowString(30,50,200,16,16,“WarShipSTM32^_^”);

LCD_ShowString(30,70,200,16,16,“TFTLCDTEST”);

LCD_ShowString(30,90,200,16,16,“ATOM@ALIENTEK”);

LCD_ShowString(30,110,200,16,16,lcd_id);//显示LCDID

LCD_ShowString(30,130,200,16,16,“2012/9/5”);

x++;

if(x==12)x=0;

LED0=!LED0;

delay_ms(1000);

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分