介绍
刚刚做了一个小项目,用单片机驱动一块TFT LCD,因为单片机已有的80接口不好用,所以决定用I/O模拟的方式,等做完觉得这部分代码非常精简好用,移植方便,特别是驱动LCD很给力,所以拿出来共享,附件里有源码文件和电路图,TFT LCD所有的接口都是用I/O模拟,代码里注释也很清楚,希望可以帮助到需要的人。
功能说明
源码中的功能简单,认真看一下就看得明白,LCD主函数中初始化所有使用到的I/O,将它们初始化为输出模式,并输出默认不工作时的电平,再来调用LCD寄存器初始化函数,等一切就绪调用一个显示bmp图片的函数,图片是存在SPI flash中,此处不涉及SPI FLASH的代码。LCD初始化函数调用LCD寄存器操作函数,将需要修改的寄存器写一遍,这部分代码根据不同的LCD是不同的,初始化完成进入显示数据操作模式。图片显示函数将BMP文件的图像数据转化为LCD需要的显示数据,并写入LCD内部RAM,这部分代码是通用的,只不过要注意BMP图像像素尺寸。整个源码文件完整的完成了LCD从初始化到操作的全过程。
移植
移植起来也很简单,分步骤来 1.LCD主函数中替换所有I/O初始化代码,以及默认电平设置代码 2.源码开头宏定义,把所有控制线操作定义替换,这里只有控制线 3.LCD寄存器操作函数里,把数据线操作语句替换 4.LCD寄存器初始化函数中,把你自己的LCD初始化流程替换上去 5.显示图片函数里,你自己LCD显示数据指针归零的寄存器需要修改 所有这些替换完毕,就可以实现了,哈哈,如果还有问题,就要靠你自己啦。
|