通过研究主控IC为R61509V的彩色液晶屏 单片机控制3.2寸TFT(测试已通过)(一)
2014-09-21 13:52
846 查看
单片机型号:STC90C51 16RD+ TFT型号:3.2寸普中科技彩屏,驱动IC型号:R61509V
本人是单片机爱好者,虽然学的专业与此无关,但因为个人兴趣,开始自学单片机。通过blog记录学习经验,希望可以帮到和我一样对单片机喜欢的初学着。由于水平有限,个人对R61509V的认识,难免会有错误,希望高手勿喷。
一、硬件部分:
1.TFT与MCU的接口介绍
R61509V的Block Diagram如下
![](http://img.blog.csdn.net/20140921141812920?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140921142053038?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
引脚很多,很复杂,但是我们真正要关心的部分却只是MCU接口,本TFT中即模块中的system interface 接口。
本块TFT总共引脚有20个,其中主要与MCU有关的为WR(读)、RD(写)、CS(片选)、RS(寄存器选择)、RST(重置)、8位数据接口。
![](http://img.blog.csdn.net/20140921142846109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140921143632565?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140921143847864?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
引脚功能表
CS=0时主控IC才能进行操作
WR=0时才可写入
RD=0时才可以读
RS=0时,才可以写index到IR寄存器中
RS=1时,才可以写数据到控制寄存器或GRAM(图像的数据存放区)
RESTX=0时,主控IC才可以重置
************************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
2.主控IC指令介绍
1>.Index(IR)
![](http://img.blog.csdn.net/20140921144452110?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在写指令参数或者GRAM数据到IC之前必须先使用本指令选中要操作的寄存器。
![](http://img.blog.csdn.net/20140921144953159?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在Device code read(R000h)中的000h就是所操作的寄存器编号,在写数据之前要先写编号(该编号为16进制数 )
2>Driver Output Control (R001h)
![](http://img.blog.csdn.net/20140921145614798?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
此指令中SS位与Entry Mode (R003h)中的BGR位一起控制屏幕像素的书写次序
3>Entry Mode (R003h)
![](http://img.blog.csdn.net/20140921150036379?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在往GRAM中写数据时,GRAM地址会自动跟新,设置AM位可以控制跟新方向
![](http://img.blog.csdn.net/20140921150209812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
DFM位设置每个像素组成方式,TRI位设置每像素点数据传送次数
对于8位接口的TFT,采用DFM=1,TRI=0控制较为方便
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
4>Display Control 1 (R007h)
![](http://img.blog.csdn.net/20140921150924097?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
对BASEE位,设为1时,基底图片才会显示
5>Panel Interface Control 1 (R010h)
![](http://img.blog.csdn.net/20140921151332543?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
通过设置改寄存器,可以设置液晶面板每刷新一行像素所花去时间
6>Power Control 3 (R102h)
![](http://img.blog.csdn.net/20140921151924573?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
电源设置,其中在电源启动后,PON与PSON位必须被设置,要按照电源供应次序来设置改位,否则不能正常操作TFT
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
7>RAM Access
![](http://img.blog.csdn.net/20140921152712652?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这两个寄存器分别控制GRAM中要开始书写的具体横坐标与纵坐标,写数据前需要设置。
液晶屏左上角为(0,0)点
8>GRAM Data Write (R202h)
![](http://img.blog.csdn.net/20140921153102222?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
写完这条指令后就可以立即往GRAM中大量写数据了!!
9>NVM Data Read / NVM Data Write (R280h)
![](http://img.blog.csdn.net/20140921153342341?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
该指令可以写数据VCM[6:0]: Used to control VCOMH,用于临时设置电源参数,断电参数不能保存。
UID[3:0]: Used to temporarily store NVM data such as used identification code,可以作为读取NVM的标志
NVM 介绍:
![](http://img.blog.csdn.net/20140921160104056?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
NVM是一种特殊用途存储器,可以保存18位数据供用户使用,即使电源断电数据也不会丢失。
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
10>Window Address Control
![](http://img.blog.csdn.net/20140921160241859?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140921160439649?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
该4寄存器用于设置窗口显示区域,分别设置窗口左边沿与右边沿坐标及窗口上边沿和下边沿坐标。即可确定一个显示窗口。
11>Base Image Display Control
![](http://img.blog.csdn.net/20140921160857281?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
关于基图的设置
12>NVM Control
![](http://img.blog.csdn.net/20140921161846808?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
该寄存器功用如下图:
![](http://img.blog.csdn.net/20140921161837968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
从上图中可以看出R6f1h作用:通过向R6f1h寄存器写数据,可以被永久的保存在NVM中,然后写入R280h寄存器
以配置电源参数。
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
3.Reset Function
![](http://img.blog.csdn.net/20140921163226480?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在操作IC之前应该先RESET主控IC,以初始化IC配置
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
4.Interface and Data Format
本TFT采用的是以下接口:
![](http://img.blog.csdn.net/20140921163901614?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
数据传动方式是分两次送入TFT,先送入高字节,再送入低字节,输入是指令时内部如下进行:
![](http://img.blog.csdn.net/20140921163917718?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
输入是GRAM时内部如下进行:
![](http://img.blog.csdn.net/20140921164152937?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
5.Data Transfer Synchronization in 8-bit Bus Interface operation
![](http://img.blog.csdn.net/20140921164302921?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
读写的操作时序图,写驱动程序时需要用到
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
6.RAM Address and Display Position on the Panel
设置BASEE与PTDE可以控制是全屏显示还是局部显示,局部显示可以降低功耗。
![](http://img.blog.csdn.net/20140921164907534?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以下是GRAM地址和TFT面板像素点位置对照图:
![](http://img.blog.csdn.net/20140921165328991?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140921165152781?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
7.Power Supply Setting Sequence
以下是电源供应开启次序图,很重要,TFT初始化程序应该按照此次序进行,不然不能正常控制TFT
![](http://img.blog.csdn.net/20140921165626609?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140921165836202?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以下为显示开启次序图:
![](http://img.blog.csdn.net/20140921170226692?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeWlkaWFubGl1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
完成了以上次序操作,TFT可以正常开启,就可以往GRAM中写入大量数据了。
二、软件部分
在下篇中继续》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
本人是单片机爱好者,虽然学的专业与此无关,但因为个人兴趣,开始自学单片机。通过blog记录学习经验,希望可以帮到和我一样对单片机喜欢的初学着。由于水平有限,个人对R61509V的认识,难免会有错误,希望高手勿喷。
一、硬件部分:
1.TFT与MCU的接口介绍
R61509V的Block Diagram如下
引脚很多,很复杂,但是我们真正要关心的部分却只是MCU接口,本TFT中即模块中的system interface 接口。
本块TFT总共引脚有20个,其中主要与MCU有关的为WR(读)、RD(写)、CS(片选)、RS(寄存器选择)、RST(重置)、8位数据接口。
引脚功能表
CS=0时主控IC才能进行操作
WR=0时才可写入
RD=0时才可以读
RS=0时,才可以写index到IR寄存器中
RS=1时,才可以写数据到控制寄存器或GRAM(图像的数据存放区)
RESTX=0时,主控IC才可以重置
************************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
2.主控IC指令介绍
1>.Index(IR)
在写指令参数或者GRAM数据到IC之前必须先使用本指令选中要操作的寄存器。
在Device code read(R000h)中的000h就是所操作的寄存器编号,在写数据之前要先写编号(该编号为16进制数 )
2>Driver Output Control (R001h)
此指令中SS位与Entry Mode (R003h)中的BGR位一起控制屏幕像素的书写次序
3>Entry Mode (R003h)
在往GRAM中写数据时,GRAM地址会自动跟新,设置AM位可以控制跟新方向
DFM位设置每个像素组成方式,TRI位设置每像素点数据传送次数
对于8位接口的TFT,采用DFM=1,TRI=0控制较为方便
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
4>Display Control 1 (R007h)
对BASEE位,设为1时,基底图片才会显示
5>Panel Interface Control 1 (R010h)
通过设置改寄存器,可以设置液晶面板每刷新一行像素所花去时间
6>Power Control 3 (R102h)
电源设置,其中在电源启动后,PON与PSON位必须被设置,要按照电源供应次序来设置改位,否则不能正常操作TFT
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
7>RAM Access
这两个寄存器分别控制GRAM中要开始书写的具体横坐标与纵坐标,写数据前需要设置。
液晶屏左上角为(0,0)点
8>GRAM Data Write (R202h)
写完这条指令后就可以立即往GRAM中大量写数据了!!
9>NVM Data Read / NVM Data Write (R280h)
该指令可以写数据VCM[6:0]: Used to control VCOMH,用于临时设置电源参数,断电参数不能保存。
UID[3:0]: Used to temporarily store NVM data such as used identification code,可以作为读取NVM的标志
NVM 介绍:
NVM是一种特殊用途存储器,可以保存18位数据供用户使用,即使电源断电数据也不会丢失。
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
10>Window Address Control
该4寄存器用于设置窗口显示区域,分别设置窗口左边沿与右边沿坐标及窗口上边沿和下边沿坐标。即可确定一个显示窗口。
11>Base Image Display Control
关于基图的设置
12>NVM Control
该寄存器功用如下图:
从上图中可以看出R6f1h作用:通过向R6f1h寄存器写数据,可以被永久的保存在NVM中,然后写入R280h寄存器
以配置电源参数。
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
3.Reset Function
在操作IC之前应该先RESET主控IC,以初始化IC配置
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
4.Interface and Data Format
本TFT采用的是以下接口:
数据传动方式是分两次送入TFT,先送入高字节,再送入低字节,输入是指令时内部如下进行:
输入是GRAM时内部如下进行:
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
5.Data Transfer Synchronization in 8-bit Bus Interface operation
读写的操作时序图,写驱动程序时需要用到
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
6.RAM Address and Display Position on the Panel
设置BASEE与PTDE可以控制是全屏显示还是局部显示,局部显示可以降低功耗。
以下是GRAM地址和TFT面板像素点位置对照图:
***********************************************************************************************************************************
店铺地址 http://shop108408772.taobao.com/
************************************************************************************************************************************
7.Power Supply Setting Sequence
以下是电源供应开启次序图,很重要,TFT初始化程序应该按照此次序进行,不然不能正常控制TFT
以下为显示开启次序图:
完成了以上次序操作,TFT可以正常开启,就可以往GRAM中写入大量数据了。
二、软件部分
在下篇中继续》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
相关文章推荐
- 通过研究主控IC为R61509V的彩色液晶屏 单片机控制3.2寸TFT(测试已通过) (二)
- 单片机控制LCD1602显示字符(测试通过)
- 单片机控制DS18B20自制简易电子温度计(测试通过)(二)
- 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
- 通过ESP8266手机或电脑浏览器网页能控制远程任意组任意路继电器开关并收发单片机指令 测试OK
- 单片机控制DS18B20自制简易电子温度计(测试通过)(一)
- 单片机控制雷达测距模块HC-SR04测量距离(通过测试)
- 控制发送SMS信息的C51程序[GSM模块(M22)通过串口与单片机相连]
- 单片机读取SD卡中BMP图片文件并送往TFT彩屏上显示(测试成功)(二)
- js 控制textbox enter 回车 禁止提交功能(ie9,firefox,ie8,chrome测试通过)
- Android NDK——App端通过串口通信完成实时控制单片机上LED灯的颜色及灯光动画特效
- 单片机基于2.4G无线收发模块NRF24L01的无线通信(基本测试通过)
- 单片机基于2.4G无线收发模块NRF24L01的无线通信(基本测试通过)续
- CRC16 单片机版(C语言版) VC版 android版(java) 测试通过
- 通过MSP430F1232最小系统测试单片机AD10程序
- 【QA测试技术研究】性能测试场景设计--混合业务场景下的脚本比例控制
- 通过instruments针对IOS压力测试研究总结
- 基于C8051F040单片机的CAN总线测试模式研究
- 单片机读取SD卡中BMP图片文件并送往TFT彩屏上显示(测试成功)(一)