例程4. SPI_LCD -- 慕司板IAP

使用本例程时,注意把P19的跳线帽放到下面,开启LCD背光。

慕司板板载了2.2寸的LCD,硬件SPI接口,240*320分辨率, LCD驱动芯片为ILI9340.

液晶屏后面扩展有SD卡和FLASH芯片接口,慕司板把引脚引到了单片机上,感兴趣的小伙伴可以自己写一下驱动。

最基本的是SPI初始化、液晶初始化(由LCD厂家提供)和画点函数,有了画点函数,就能画线,画圆,画矩形,显示文字和图形了。

为便于理解,把演示程序的代码贴过来作为本例程的参考(显示图片和汉字会在后面的演示程序中给出,本例程是没有的):

/*2.2寸、320*240分辨率、SPI接口的LCD初始化,使用STC的硬件SPI,LCD驱动芯片为ILI9340C*/
    LCD_LED=0;      //LCD背光最亮
    SPI_Init();     //IAP15硬件SPI初始化,切换到了SPI的第二通道:SS/P24、MOSI/P23、MISO/P22、SCK/P21
    LCD_Init();     //LCD初始化,厂家提供

    /*LCD休眠演示*/
    LCD_Sleep();    //LCD进入休眠状态
    Delay_ms(100);  
    LCD_ExitSleep();//LCD退出休眠状态
    /*LCD刷屏演示:红橙黄绿青蓝紫 白黑*/
    LCD_Clear(Red); 
    LCD_Clear(Orange);
    LCD_Clear(Yellow);
    LCD_Clear(Green);
    LCD_Clear(Cyan);
    LCD_Clear(Blue);
    LCD_Clear(Purple);
    LCD_Clear(White);
    LCD_Clear(Black);
    /*LCD画线、英文、汉字、数字显示测试*/
    /*液晶屏左上角坐标为(0,0),右下角坐标为(239,319)*/
    POINT_COLOR=Green; //全局变量
    BACK_COLOR=Black;   //前景色类似于在黑板写字的各种颜色的粉笔,黑板的颜色就是背景色 
    LCD_ShowString(0,0,"Hello,world!"); //从(0,0)坐标开始显示字符串“Hello,World!”
    POINT_COLOR=Blue;                   //可以随时更改画笔颜色,显示不同颜色的数字
    LCD_DrawLine(100,0,240,15);         //画一条线段,起始坐标(100,0),终点坐标(240,15)
    LCD_Show2Num(0,16,65535,5);         //从(0,16)坐标开始显示0~65535的数字,5为数字位数,即显示5位数字
    LCD_ShowNum(100,16,987654321,9);    //从(100,16)坐标开始显示unsigned long型数字(0~4294967295),10为数字位数,即10位数字
    POINT_COLOR=Yellow;
    for(i=32;i<320;i+=16)
    {
        LCD_ShowString(0,i,"abcdefghijklmnopqrstuvwxyz!");
    }
    LCD_LED=1;      //LCD背光关闭
    Delay_ms(500);
    LCD_LED=0;      //LCD背光最亮
    Delay_ms(500);
    LCD_Clear(Black);                   //清屏:黑色
    //LCD_Fill(120,120,160,160,Yellow); //在矩形区域填充色块,在函数处按F12可以查看函数原型
    LCD_ShowImage(gImage_musi,80,120,78,80);//显示彩色图像: 慕司LOGO
    Delay_ms(2000);
    LCD_Clear(Black);
    POINT_COLOR=Red;
    LCD_DrawRectangle(0,0,239,60);   //画矩形:对角坐标(左上、右下)为(0,0),(239,60)
    POINT_COLOR=Purple;
    LCD_ShowString(80,2,"慕司");   //显示16*16汉字
    LCD_ShowString(16,22,"为一线微茫憧憬一意孤行,");
    LCD_ShowString(8,42,"这众生芸芸谁不曾如此任性!");
    POINT_COLOR=Cyan;
    LCD_ShowGB3232(80,160,"青春");
    POINT_COLOR=Green;
    LCD_DrawCircle(112,176,48);

完整工程参见资源汇总帖.

原作于 2014年10月
CSDN发表于2016年4月
weifengdq

你可能感兴趣的:(SPI,LCD,慕司板,IAP15L2K61)