S3C2440裸机------LCD_LCD控制器编程

发布者:水墨人生最新更新时间:2021-10-09 来源: eefocus关键字:LCD 手机看文章 扫描二维码
随时随地手机看文章

我们通过配置LCD控制器的相关寄存器实现这三个函数


struct lcd_controller s3c2440_lcd_controller = {

.init    = s3c2440_lcd_controller_init,

.enalbe  = s3c2440_lcd_controller_enalbe,

.disable = s3c2440_lcd_controller_disable,

};


具体代码及相关寄存器注释如下:


1.s3c2440_lcd_controller.c

#define HCLK 100

 

void jz2440_lcd_pin_init(void)

{

/* 初始化引脚 : 背光引脚 */

GPBCON &= ~0x3;

GPBCON |= 0x01;

 

/* LCD专用引脚 */

GPCCON = 0xaaaaaaaa;

GPDCON = 0xaaaaaaaa;

 

/* PWREN */

GPGCON |= (3<<8);

}

 

 

/* 根据传入的LCD参数设置LCD控制器 */

void s3c2440_lcd_controller_init(p_lcd_params plcdparams)

{

int pixelplace;

unsigned int addr;

 

jz2440_lcd_pin_init();

/* [17:8]: clkval, vclk = HCLK / [(CLKVAL+1) x 2]

*                   9   = 100M /[(CLKVAL+1) x 2], clkval = 4.5 = 5

*                 CLKVAL = 100/vclk/2-1

* [6:5]: 0b11, tft lcd

* [4:1]: bpp mode

* [0]  : LCD video output and the logic enable/disable

*/

int clkval = (double)HCLK/plcdparams->time_seq.vclk/2-1+0.5;

int bppmode = plcdparams->bpp == 8  ? 0xb :

  plcdparams->bpp == 16 ? 0xc :

  0xd;  /* 0xd: 24bpp */

LCDCON1 = (clkval<<8) | (3<<5) | (bppmode<<1) ;

 

/* [31:24] : VBPD    = tvb - 1

* [23:14] : LINEVAL = line - 1

* [13:6]  : VFPD    = tvf - 1

* [5:0]   : VSPW    = tvp - 1

*/

LCDCON2 = ((plcdparams->time_seq.tvb - 1)<<24) |

            ((plcdparams->yres - 1)<<14)         |

((plcdparams->time_seq.tvf - 1)<<6)  |

((plcdparams->time_seq.tvp - 1)<<0);

 

/* [25:19] : HBPD = thb - 1

* [18:8]  : HOZVAL  = 列 - 1

* [7:0]   : HFPD = thf - 1

*/

LCDCON3 = ((plcdparams->time_seq.thb - 1)<<19) |

((plcdparams->xres - 1)<<8)       |

((plcdparams->time_seq.thf - 1)<<0);

 

/* 

* [7:0]   : HSPW = thp - 1

*/

LCDCON4 = ((plcdparams->time_seq.thp - 1)<<0);

 

    /* 用来设置引脚极性, 设置16bpp, 设置内存中象素存放的格式

     * [12] : BPP24BL

* [11] : FRM565, 1-565

* [10] : INVVCLK, 0 = The video data is fetched at VCLK falling edge

* [9]  : HSYNC是否反转

* [8]  : VSYNC是否反转

* [7]  : INVVD, rgb是否反转

* [6]  : INVVDEN

* [5]  : INVPWREN

* [4]  : INVLEND

* [3]  : PWREN, LCD_PWREN output signal enable/disable

* [2]  : ENLEND

* [1]  : BSWP

* [0]  : HWSWP

*/

 

pixelplace = plcdparams->bpp == 24 ? (0) : |

             plcdparams->bpp == 16 ? (1) : |

             (1<<1);  /* 8bpp */

LCDCON5 = (plcdparams->pins_pol.vclk<<10) |

          (plcdparams->pins_pol.rgb<<7)   |

          (plcdparams->pins_pol.hsync<<9) |

          (plcdparams->pins_pol.vsync<<8) |

    (plcdparams->pins_pol.de<<6)    |

  (plcdparams->pins_pol.pwren<<5) |

  (1<<11) | pixelplace;

 

/* framebuffer地址 */

/*

* [29:21] : LCDBANK, A[30:22] of fb

* [20:0]  : LCDBASEU, A[21:1] of fb

*/

addr = plcdparams->fb_base & ~(1<<31);

LCDSADDR1 = (addr >> 1);

 

/* 

* [20:0] : LCDBASEL, A[21:1] of end addr

*/

addr = plcdparams->fb_base + plcdparams->xres*plcdparams->yres*plcdparams->bpp/8;

addr >>=1;

addr &= 0x1fffff;

LCDSADDR2 = addr;//

}

 

void s3c2440_lcd_controller_enalbe(void)

{

/* 背光引脚 : GPB0 */

GPBDAT |= (1<<0);

/* pwren    : 给LCD提供AVDD  */

LCDCON5 |= (1<<3);

/* LCDCON1'BIT 0 : 设置LCD控制器是否输出信号 */

LCDCON1 |= (1<<0);

}

 

void s3c2440_lcd_controller_disable(void)

{

/* 背光引脚 : GPB0 */

GPBDAT &= ~(1<<0);

 

/* pwren : 给LCD提供AVDD  */

LCDCON5 &= ~(1<<3);

 

/* LCDCON1'BIT 0 : 设置LCD控制器是否输出信号 */

LCDCON1 &= ~(1<<0);

}

 

struct lcd_controller s3c2440_lcd_controller = {

.init    = s3c2440_lcd_controller_init,

.enalbe  = s3c2440_lcd_controller_enalbe,

.disable = s3c2440_lcd_controller_disable,

};

关键字:LCD 引用地址:S3C2440裸机------LCD_LCD控制器编程

上一篇:S3C2440裸机------LCD_LCD设置
下一篇:S3C2440裸机------LCD_抽象出重要结构体

推荐阅读最新更新时间:2024-11-06 10:29

HD4478U显示LCD与51单片机驱动程序
#include SST89x5x4.H #include absacc.h #include intrins.h sbit LCDRSPIN = P3^7; sbit LCDRWPIN = P3^6; sbit LCDEPIN = P2^6; #define UCHAR unsigned char void delay(unsigned int i) { UCHAR j; for(i; i 0; i--) for(j = 200; j 0; j--); } /////////////////////////////// //控制LCD unsigned char XPOS,YPOS; //测
[单片机]
基于MSP430单片机的LCD1602显示
首先我们先安装IAR for MSP430,这里注意不要下载错了IAR for ARM版本的就不能用。 贴上下载链接:https://pan.baidu.com/s/1P7qAhhjYFYnpz6gWZQ6_Pg 提取码:0j24 IAR的安装见:https://blog.csdn.net/qq_41860526/article/details/103411695 安装完成后我们就开始实验啦 先说仿真吧,不细说了,直接贴图,一切从简 嗯这时候开始码代码吧 也直接贴上吧,工程创建参考:https://blog.csdn.net/klaus_x/article/details/80957189 我把我的例
[单片机]
基于MSP430单片机的<font color='red'>LCD</font>1602显示
4LCD投影技术原理及其发展解析
   光学 三原色为红色、绿色和蓝色,染料三原色为红色、黄色和蓝色。四色技术为何物?四色是不是噱头?四色是否能颠覆传统的三原色理论?可能还有人在迷惑何谓三原色?   2010年7月,AQUOS 液晶电视 搭载了夏普的“四色技术”。这一技术核心就是加入黄色,这一崭新的色彩概念颠覆了传统的红、蓝、绿三色技术,在液晶电视行业掀起了一场色彩的革命。   通过ZOL 家电 频道的实拍对比照片,我们可以看出采用四色技术的液晶电视比传统的三原色电视,画面更加艳丽,色彩更加丰富。这个效果对比,证明四色液晶电视技术确有功效,不是噱头也不是凭空炒作。 左边为三色电视 右边为四色电视   四色电视技术在一片鼓掌与赞美声中,
[电源管理]
4<font color='red'>LCD</font>投影技术原理及其发展解析
韩媒:三星LCD产线加快转换至OLED产线,A4-2线或Q3开始运营
三星显示去年年初关闭的LCD工厂A4-2线(L7-2)正在转换为第6代OLED生产线,公司已从第一季度开始引进显示加工设备,预计将在第三季度开始运营。 据ETNews报道,三星显示对该厂的投资额约为1万亿韩元,计划通过新的OLED生产线,将第6代OLED面板的年生产能力增加18万块,预计将给显示器行业带来暖风。 A4-2工厂更像是补充投资,而不是新建工厂。三星显示的投资是为了用新技术消除A3、A4等第6代OLED工厂之间的质量差异。三星显示正在开发具有触摸一体机的A3·A4、LTPO等技术。因此,现有的第6代OLED制造能力下降。 设备业界对三星显示扩大OLED投资表示欢迎。在显示面板企业的大规模投资沉寂了一段时间后,预计从A4-
[手机便携]
触控屏与LCD显示屏的结合指日可待
  自从苹果手机iPhone上市热 卖以后,越来越多触控产品开始占领市场,从而导致对触控芯片/模块的需求迅速增长,触摸IC顿时成为被关注的焦点。目前,全球触控IC市场中出货量较大的包括苹果、新思国际(Synaptics)、赛普拉斯(Cypress)、爱特梅尔(Atmel)等国际大厂,以及敦泰科技(FocalTech)等本土企业。   由于手机市场发展较早,已成为触控IC最大的应用市场,这也正是众多企业竞相争取的目标。敦泰科技(深圳)有限公司总经理胡正大博士日前接受本刊记者专访时表示,敦泰科技在市场上主要面临三个竞争对手:新思、赛普拉斯,以及爱特梅尔。   胡博士认为这些公司的技术都不错,“不过敦泰的技术不比他们差,甚至在有些方
[手机便携]
戴尔收回LCD面板采购权 压榨显示器厂家利润
  台湾显示器制造商表示,由于戴尔、Acer、优派和联想等品牌LCD显示器厂商收回采购权,他们的收益被压榨了不少。   台湾OEM们指出,戴尔开始其LCD显示器的buy-and-sell商业模式后,其他领先的LCD厂商如Acer、优派和联想也紧跟其后实施,优派和联想在今年的第二季度也开始在台湾生产显示器。   在buy-and-sell模式中,戴尔公司自己采购LCD显示器面板,通过优化组合其笔记本电脑和台式机显示器的需求,可以得到更便宜的报价,然后把这些面板卖给那些愿意接受这种商业模式的显示器OEM厂家。消息指,在该商业模式下,厂商限制了系统制造商面板采购的利润,将其毛利润从10%降至3%,以前台湾显示器OEM厂家可以根据客户
[焦点新闻]
国内LCD面板发展迅速,杉杉股份拟收购LG化学偏光片业务
据悉,宁波杉杉股份有限公司拟以超过 7.7 亿美元的基准购买价,通过增资的方式取得持股公司 70%股权,间接购买 LG 化学在中国大陆、中国台湾和韩国的 LCD 偏光片业务及相关资产。 目前,我国已成为全球最大、增长速度最快的 LCD 市场。受益于我国下游面板行业的迅速发展,作为面板的核心材料之一的偏光片需求量稳步增长。杉杉股份通过本次收购进入全球仅由少数几家公司主导的 LCD 偏光片市场,并继续维持原 LG 化学在 LCD 偏光片市场的领先地位,利用其关键解决方案及技术来扩大市场占有份额。 本次交易标的为 LG 化学旗下在中国大陆、中国台湾和韩国的 LCD 偏光片业务及相关资产,具体包括:(1)北京乐金 100%
[嵌入式]
国内<font color='red'>LCD</font>面板发展迅速,杉杉股份拟收购LG化学偏光片业务
LCD面板缺得紧,SDI、LGD旧产线传延后除役
大尺寸LCD面板缺货,传南韩面板厂三星SDI与LG Display(LGD)不约而同,均打算延后汰除老旧LCD产线时程。 南韩科技媒体ETnews.com报导,SDI与LGD将第六代LCD面板厂升级成OLED厂计划,基本上已经喊停,目前将持续专注于生产LCD面板。 另外,LGD考量第二季LCD面板需求仍然吃紧,旗下3.5代、4代与5代厂原定去年底停产,目前也都再一次延后至今年上半年。 SDI原本计划在去年底关闭七代厂(L7-1)后,跟着停止六代厂作业,不过受破于夏普突如停止供货,三星为确保LCD货源,现在七代厂停产计划也已暂时搁置。 不过,产业人士预期下半年面板缺货情况就会有所改善,因此SDI与LGD升级旧厂计划应会视当时情况再做
[电源管理]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved