STM32F103学习笔记 (十) TFTLCD 显示

看了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:

 int main(void)
 {	 
 	u8 x=0;
	u8 lcd_id[12];			//存放LCD ID字符串
	delay_init();	    	 //延时函数初始化	  
	NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
	uart_init(9600);	 	//串口初始化为9600
 	LED_Init();			     //LED端口初始化
	LCD_Init();
	POINT_COLOR=RED;
	sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。				 	
  	while(1) 
	{		 
		switch(x)
		{
			case 0:LCD_Clear(WHITE);break;
			case 1:LCD_Clear(BLACK);break;
			case 2:LCD_Clear(BLUE);break;
			case 3:LCD_Clear(RED);break;
			case 4:LCD_Clear(MAGENTA);break;
			case 5:LCD_Clear(GREEN);break;
			case 6:LCD_Clear(CYAN);break;

			case 7:LCD_Clear(YELLOW);break;
			case 8:LCD_Clear(BRRED);break;
			case 9:LCD_Clear(GRAY);break;
			case 10:LCD_Clear(LGRAY);break;
			case 11:LCD_Clear(BROWN);break;
		}
		POINT_COLOR=RED;	  
		LCD_ShowString(30,50,200,16,16,"WarShip STM32 ^_^");	
		LCD_ShowString(30,70,200,16,16,"TFTLCD TEST");	
		LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
 		LCD_ShowString(30,110,200,16,16,lcd_id);		//显示LCD ID	      					 
		LCD_ShowString(30,130,200,16,16,"2012/9/5");	      					 
	    x++;
		if(x==12)x=0;
		LED0=!LED0;					 
		delay_ms(1000);	
	} 
}



你可能感兴趣的:(单片机)