历史上的今天
今天是:2025年06月03日(星期二)
2018年06月03日 | STM32学习之路-LCD(2)
2018-06-03 来源:eefocus
这些天一直在研究LCD的初始化函数,因为不过是用IO口模拟时序还是用FSMC来驱动LCD,都必须要弄好LCD的初始化
其实LCD的初始化就是跟着LCD IC的datasheet来写寄存器,大部分都使用上面的默认值,网上有很多修改的例子,这里就不
放出来了.但是我想写下一些比较重要的东西。
这是从网上下载来的一个文件的前半部分:
当然,别的型号的IC也是有这些东西的,不过可能有些地址不同而已.
R0,这个命令有两个功能,如果对它写,则最低位为OSC,用于开启和关闭振荡器。而如果对它读操作,
则返回的是控制器的型号。这个命令最大的功能是通过读它可以得到控制器的型号,而我们的代码知道了控制器的型号之后,
可以针对不同型号的控制器,进行不同的初始化。因为93xx系列的初始化,其实都比较类似,我们完全可以用一个代码兼容好几个控制器。
R3,入口模式命令。我们重点关注的是I/D0、I/D1、AM这三个位,因为这三个位控制了屏幕的显示方向。
AM:控制GRAM更新方向。当AM=0的时候,地址以行方向更新。当AM=1的时候,地址以列方向更新。
I/D[1:0]:当更新一个数据之后,根据这两个位的设置来控制地址计数器自动增加/减少1,其关系如下:
通过这几个位置的设置,我们就可以控制屏幕的显示方向了。
还有一点就是关于是否要硬件复位这里, 这里要看芯片的datasheet,看Bus Interface这里是否要求硬件复位
R61509就明确要求了这一点:
所以在初始化函数开头是要加上复位的代码的
GPIO_ResetBits(GPIOE, GPIO_Pin_1); //硬件复位
Delay(0x1AFFf);
GPIO_SetBits(GPIOE, GPIO_Pin_1 );
Delay(0x1AFFf);
还有一点就是关于伽马校准寄存器的配置,实在是看不懂为要这样设置这些参数
[cpp] view plain copy
LCD_WR_CMD(0x0300, 0x00C00);//gamma
LCD_WR_CMD(0x0301, 0x05A0B);
LCD_WR_CMD(0x0302, 0x00906);
LCD_WR_CMD(0x0303, 0x01017);
LCD_WR_CMD(0x0304, 0x02300);
LCD_WR_CMD(0x0305, 0x01700);
LCD_WR_CMD(0x0306, 0x06309);
LCD_WR_CMD(0x0307, 0x00C09);
LCD_WR_CMD(0x0308, 0x0100C);
LCD_WR_CMD(0x0309, 0x02232);
而且不同的IC芯片的伽马校正设置参数也不一样.. 或许看到这篇文章的大虾又刚好知道这里是怎么回事的话,那就请拉小弟一把,解释下什么原因
剩下的还有就是其他一下显示图片,字符的函数什么的了, 下次再写下来,因为还没研究多少呢.
史海拾趣
|
指导老师太刻薄了~~论文改了又改还是过不了~~我都快急死~~我好声好气跟他说~~他说什么我的论文没达到标准 还说什么让我再读一年~~拜托好心人帮帮忙~~ 我的邮箱: 289651662@qq.com [ 本帖最后由 vbnm 于 2009-5-26 23:21 ...… 查看全部问答> |
|
我使用-Os优化选项,发现编译后程序没法用。查看汇编代码,发现delay函数被优化没了。生成的汇编代码看起来很奇怪 如果不优化程序是没问题的。 请教是怎么回事?我该怎么办? 下面是我的代码: #include #define uchar unsigned char #defin ...… 查看全部问答> |
|
error LNK2019: 无法解析的外部符号 SHGetPathFromIDListW, 我把VC6.0下的一个目录浏览程序在VS2005中打开后,移植到我的程序中!我开发的是wince下的程序,用VS2005开发!编译后出现链接错误:如下我错误信息!我已经把该包含的头文件都包含了啊!哪位知道请指教一下! 正在链接... CEView ...… 查看全部问答> |
|
在pc中可以用RegisterHotKey,这个函数在ppc中也有,但是效果和pc中的好像不一样。 不能实现在其他软件中也能侦听到这个热键。 在pc中任何界面下都可以侦听到用RegisterHotKey注册的热键。 但是在ppc中用RegisterHotKey注册的热键,比如点一下音 ...… 查看全部问答> |
|
windows的或者linux上做过开发的都行 我们想买一套来开发BLDC电机控制程序。但是不清楚具体是否好使,现在评估软件很不好使,编译也因为license通不过 据说这家公司只有十几个人,写信去问想买软件也没人理我 昏倒啊… 查看全部问答> |
|
测控系统常常需要处理所采集到的各种数字量信号。通常测控系统采用通用MCU完成系统任务。但当系统中采集信号量较多时,仅依靠MCU则难以完成系统任务。针对这一问题,提出一种基于FPGA技术的多路数字量采集模块。利用FPGA的I/O端口数多且可编程设置 ...… 查看全部问答> |




