OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9030|回复: 1

液晶初始化

[复制链接]

2

主题

100

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
278
金钱
278
注册时间
2012-4-15
在线时间
0 小时
发表于 2012-5-15 21:13:55 | 显示全部楼层 |阅读模式
以下是本人对ID号为4535的液晶初始化程序(板子上带的)的部分注释和理解,如有错误与不当之处肯请您批评指正。希望大家多多交流!

void LCD_Init(void)
{
RCC->APB2ENR |= 1 << 3;
RCC->APB2ENR |= 1 << 4;  //使能时钟一定要用或
JTAG_ModeSet(2);  //JTAG全关
GPIOC->CRH &= 0xfffff000;//液晶IO口初始化
GPIOC->CRH |= 0x00000333;
GPIOC->CRL &= 0x00ffffff;
GPIOC->CRL |= 0x33000000;
GPIOC->ODR |= 0x07c0;
GPIOB->CRH = 0x33333333;
GPIOB->CRL = 0x33333333;
GPIOB->ODR = 0xffff; 
//-----------LCD相关初始化--------------------
Delay_ms(50);
LCD_WriteReg(0x0000,0x0001);//启动液晶内部晶振
Delay_ms(50); 
//电源配置部分(电源部分整体疲软,不甚明白)
LCD_WriteReg(0X15,0X0030);//(RegualControl)   
LCD_WriteReg(0X9A,0X0010);//(FramRataControl)OSC frequency的系数为1.69  
LCD_WriteReg(0X11,0X0020);//(PowerControl2)DC0的启动频率64分频   
LCD_WriteReg(0X10,0X3428);//(PowerControl1)   
LCD_WriteReg(0X12,0X0002);//(PowerControl3)某某系数设为1.37   
LCD_WriteReg(0X13,0X1038);//(PowerControl4)也是设置了系数  
Delay_ms(40);   
LCD_WriteReg(0X12,0X0012);//(PowerControl3)    
Delay_ms(40);   
LCD_WriteReg(0X10,0X3420);//(PowerControl1)   
LCD_WriteReg(0X13,0X3038);//(PowerControl4)  
Delay_ms(70); 
//伽马校正部分(目前还没有深入了解,附件里有相关资料。同时发现用其它ID号初始化的相应部分替换也可正常工作)  
LCD_WriteReg(0X30,0X0000);//   
LCD_WriteReg(0X31,0X0402);//   
LCD_WriteReg(0X32,0X0307);//   
LCD_WriteReg(0X33,0X0304);//   
LCD_WriteReg(0X34,0X0004);//   
LCD_WriteReg(0X35,0X0401);//   
LCD_WriteReg(0X36,0X0707);//   
LCD_WriteReg(0X37,0X0305);//   
LCD_WriteReg(0X38,0X0610);//   
LCD_WriteReg(0X39,0X0610);// 
//显示控制部分  
LCD_WriteReg(0X01,0X0100);//(DriverOutputControl)SS位置位,源极驱动由S720到S1(当SS清0时会使显示左右颠倒)   
LCD_WriteReg(0X02,0X0300);//(LCD DrivingWaveControl)B/C、EOR置1,线反转(目前小尺寸液晶用的方法,大尺寸用点反转)   
LCD_WriteReg(0X03,0X1030);//***(EntryMode)TRI位为1,80总线26万色;AM位为0,水平扫描;ID[0、1]为11,从左到右(该寄存器可控制显示方向)   
LCD_WriteReg(0X08,0X0808);//(DisplayControl2)选择前沿后沿的线数都是8条 (?不太懂)    
LCD_WriteReg(0X0A,0X0008);//开启Fmark功能(我试验时,有没有此功能没有影响,不知Fmark线有没有连)   
LCD_WriteReg(0X60,0X2700);//(DriverOutputControl)NL[5:0]决定显示的行数,如0x27对应320行,0x04对应40行,有兴趣可以试一下   
LCD_WriteReg(0X61,0X0001);//(BaseImageDisplayContor)REV位置1,正常颜色显示(当该位清0时会显示反色)   
LCD_WriteReg(0X90,0X013d);//(Panel InterfaceControl1)TRNI[7:0](对应低两位),要求设值大于0x3c;DIVI[1:0]为1,分频比例为2,好像和计算频率有关。   
LCD_WriteReg(0X92,0X0100);//(Panel InterfaceControl2)   
LCD_WriteReg(0X93,0X0100);//(Panel InterfaceControl3)以上两句都是设置某某period (?不太懂)  
LCD_WriteReg(0XA0,0X3000);//(TestRegister1)设为VCOMH模式(?不太懂)  
LCD_WriteReg(0XA3,0X0010);//(TestRegister2)以上两句为调试寄存器,把它们屏蔽掉也不影响正常工作  
// LCD_WriteReg(0X07,0X0001);//(DisplayControl1)   
// LCD_WriteReg(0X07,0X0021);//(DisplayControl1)   
// LCD_WriteReg(0X07,0X0023);//(DisplayControl1)   
// LCD_WriteReg(0X07,0X0033);//(DisplayControl1)   
LCD_WriteReg(0X07,0X0133);//***(DisplayControl1)(试验时R7只写这一句也行,为什么要有前几次写入呢?)BASEE位置1,base image模式;GON、DTE行线、列线开启;D[1、0]开显示    
LCD_LED_SET;//开背光  
}

gamma校正原理.pdf

1.58 MB, 下载次数: 106

喜欢单片机,没什么道理,就像爱吃水煮鱼,对味而已。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-5-16 00:29:02 | 显示全部楼层
回复【楼主位】爱吃水煮鱼:
---------------------------------
挺有心的...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 23:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表