当前位置:首页 > 单片机 > 单片机
[导读]看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。TFTLCD使用80并口,80 并口有如下一些信号线:CS: TFTLCD 片选信号。WR:向 TFTLCD 写入数据。RD:从 TFTLCD 读取数据。D[15: 0]: 16

看了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);

}



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭