人机交互是嵌入式系统必须具有的功能。比较简单的人机交互有按键、LED、蜂鸣器,稍微复杂的有7段数码管和点阵。但如今这些都不能满足人们的需求了,所以又出现了 LCD和触摸屏技术。s3c2440具有LCD和触摸屏接口,可以很好的连接 LCD和触摸屏。这篇文章主要介绍 TFT型 LCD的用法。要想正确使用 LCD,必须注意两点:1、时序;2、显示缓存区。1、时序LCD一般需要三个时序信号:VSYNC、HSYNC和 VCLK。VSYNC是垂直同步信号,在每进行一个帧(即一个屏)的扫描之前,该信号就有效一次,由该信号可以确定 LCD的场频,即每秒屏幕刷新的次数(单位 Hz)。HSYNC是水平同步信号,在每进行一行的扫描之前,该信号就有效一次,由该信号可以确定 LCD的行频,即每秒屏幕从左到右扫描一行的次数(单位 Hz)。VCLK是像素时钟信号。s3c2440处理 LCD的时钟源是HCLK,通过寄存器 LCDCON1中的CLKVAL可以调整 VCLK频率大小,它的公式为:VCLK=HCLK÷[(CLKVAL+1)×2]例如,HCLK的频率为 100MHz,要想驱动像素时钟信号为 6.4MHz的LCD屏,则通过上式计算 CLKVAL值,结果 CLKVAL为 6.8,取整后(值为 6)放入寄存器 LCDCON1中相应的位置即可。由于 CLKVAL进行了取整,因此我们把取整后的值代入上式,重新计算VCLK,得到 VCLK=7.1MHz。按理说,对于一个已知尺寸(即水平显示尺寸 HOZVAL和垂直显示尺寸 LINEVAL已知)的LCD屏,只要确定了 VCLK值,行频和场频就应该知道了。但这样还不行的,因为在每一帧时钟信号中,还会有一些与屏显示无关的时钟出现,这就给确定行频和场频带来了一定的复杂性。如在 HSYNC信号先后会有水平同步信号前肩(HFPD)和水平同步信号后肩(HBPD)出现,在 VSYNC信号先后会有垂直同步信号前肩(VFPD)和垂直同步信号后肩(VBPD)出现,在这些信号时序内,不会有有效像素信号出现,另外 HSYNC和 VSYNC信号有效时,其电平要保持一定的时间,它们分别叫做水平同步信号脉宽 HSPW和垂直同步信号脉宽 VSPW,这段时间也不能有像素信号。因此计算行频和场频时,一定要包括这些信号。HBPD、HFPD和 HSPW的单位是一个 VCLK的时间,而 VSPW、VFPD和 VBPD的单位是扫描一行所用的时间。在 s3c2440中,所有的这些信号(VSPW、VFPD、VBPD、LINEVAL、HBPD、HFPD、HSPW和 HOZVAL)都是实际值减 1的结果。这些值是通过寄存器 LCDCON2、LCDCON3和 LCDCON4来配置,只要把这些值配置成与所要驱动的LCD中相关内容的数据一致即可。例...