- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mini2440LCD的应用实验
LCD应用 人机交互是嵌入式系统必须具有的功能。 比较简单的人机交互有按键、LED、蜂鸣器,稍微复杂的有7段数码管和点阵。 但如今这些都不能满足人们的需求了,所以又出现了LCD和触摸屏技术 LCD 接口,可以很好的连接LCD 要想正确使用LCD,必须注意两点: 1、时序; 2、显示缓存区 LCD一般需要三个时序信号: VSYNC、HSYNC和VCLK VSYNC:是垂直同步信号,在每进行一个帧(即一个屏)的扫描之前,该信号就有效一次,由该信号可以确定LCD的场频,即每秒屏幕刷新的次数(单位Hz)。 HSYNC:是水平同步信号,在每进行一行的扫描之前,该信号就有效一次,由该信号可以确定LCD的行频,即每秒屏幕从左到右扫描一行的次数(单位Hz)。 VCLK: 是像素时钟信号。 例如:在320x240的屏,一行有效数据240个点, 一帧包括320行有效数据。 VSYNC 50HZ 才能达到LCD屏不闪烁 HSYNC 50 x 行数 VCLK HSYNC x 一行的点数 s3c2440处理LCD的时钟源是HCLK,通过寄存器LCDCON1中的CLKVAL可以调整VCLK频率大小,它的公式为: VCLK=HCLK÷[(CLKVAL+1)×2] LCD接在哪条总线? HCLK:高速总线 PCLK:低速总线 HCLK的频率为100MHz,要想驱动像素时钟信号为6.4MHz的LCD屏, 则通过上式计算CLKVAL值,结果CLKVAL为6.8,取整后(值为6)放入寄存器LCDCON1中相应的位置即可。 VCLK=HCLK÷[(CLKVAL+1)×2] 由于CLKVAL进行了取整,因此我们把取整后的值代入上式,重新计算VCLK,得到VCLK=7.1MHz。 按理说,对于一个已知尺寸(320x240)的LCD屏,只要确定了VCLK值,行频和场频就应该知道了 但这样还不行的,因为在每一帧时钟信号中,还会有一些与屏显示无关的时钟出现,这就给确定行频和场频带来了一定的复杂性。 如在HSYNC信号先后会有水平同步信号前肩(HFPD)和水平同步信号后肩(HBPD)出现 在VSYNC信号先后会有垂直同步信号前肩(VFPD)和垂直同步信号后肩(VBPD)出现 在这些信号时序内,不会有有效像素信号出现 另外HSYNC和VSYNC信号有效时,其电平要保持一定的时间,它们分别叫做水平同步信号脉宽HSPW和垂直同步信号脉宽VSPW,这段时间也不能有像素信号。 因此计算行频和场频时,一定要包括这些信号 行频:HSF=VCLK÷[(HSPW+1)+(HSPD+1)+(HFPD+1)+(HOZVAL+1)] =7.1÷(6+320)=21.8kHz 场频:VSF=HSF÷[(VSPW+1)+(VBPD+1)+(VFPD+1)+(LINEVAL+1)] =21.8÷(20+10+10+240)=77.8Hz 显示缓存区: 就是一个二维数组 只要把所要显示的数据放入显示缓存区内,就可以在屏幕上呈现内容。 一般我们是通过定义一个与屏幕尺寸大小相同的二维数组来开辟该空间的。 如当屏幕的尺寸为320×240时,可以定义该缓存区为LCD_BUFFER[240][320]。 像素的表示: 24bpp: 8+8+8 即:(8位表示红,8位表示绿,8位表示蓝) 16bpp: 555, 565 两种 由于s3c2440支持16位和24位的非调色板真彩色的TFT型LCD模式,而24位颜色模式是用32位数据来表示的。 所以前面定义的那个二维数据LCD_BUFFER[320][240] 的数据类型应该是半字整型或全字整型的。 unsigned int LCD_BUFFER[320][240] unsigned short LCD_BUFFER[320][240] 例如,在24位颜色模式下,我们想要在尺寸大小为320×240屏幕的中心处设置为: 白色像素, 则:LCD_BUFFER[160][120]=0x00ffffff。 红色像素, 则:LCD_BUFFER[160][120]=0x00ff0000。 我们设置的显示缓存区 LCD_BUFFER[320][240] 数组的地址如何告诉2440 ? LCDSADDR1,LCDSADDR2 实验: 1.用LCD显示不同颜色的屏 2.在LCD上画不同颜色的圆圈
您可能关注的文档
最近下载
- 2024-2025学年四川省成都市第七中学高一(上)月考物理试卷(10月)(含答案).docx VIP
- 育婴员职业守则课件.pptx VIP
- 蔬菜生产技术课程标准.docx VIP
- 2025中考语文现代文阅读总复习-第1部分 专题12:记叙文阅读之主旨把握(讲义)(教师版).docx VIP
- 硅铁冶炼培训课件.pptx VIP
- 水土保持工程监理规划.pdf VIP
- 政务云平台 第4部分:系统部署和迁移要求_地方标准编制说明.pdf
- DB37T-政务云平台监管指标体系及编制说明.pdf VIP
- 高中物理必修二第一章检试测卷.doc VIP
- DB37T 4394.4—2024政务云平台 第4部分:系统部署和迁移要求.pdf VIP
文档评论(0)