实验四 液晶显示实验 昆明理工大学.docx
- 文档编号:13009137
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:14
- 大小:1.17MB
实验四 液晶显示实验 昆明理工大学.docx
《实验四 液晶显示实验 昆明理工大学.docx》由会员分享,可在线阅读,更多相关《实验四 液晶显示实验 昆明理工大学.docx(14页珍藏版)》请在冰点文库上搜索。
实验四液晶显示实验昆明理工大学
昆明理工大学信息工程与自动化学院学生实验报告
(2011—2012学年第2学期)
课程名称:
嵌入式应用及基础开课实验室:
4432014年5月27日
年级、专业、班
物联网111
学号
201110410130
姓名
杨国锋
成绩
实验项目名称
实验四液晶显示实验
指导教师
欧阳鑫
教师评语
该同学是否了解实验原理:
A.了解□B.基本了解□C.不了解□
该同学的实验能力:
A.强□B.中等□C.差□
该同学的实验是否达到要求:
A.达到□B.基本达到□C.未达到□
实验报告是否规范:
A.规范□B.基本规范□C.不规范□
实验过程是否详细记录:
A.详细□B.一般□C.没有□
教师签名:
年月日
一、实验目的:
l初步掌握液晶屏的使用及其电路设计方法。
l掌握S3C44B0X处理器的LCD控制器的使用。
l通过实验掌握液晶显示文本和图形的方法以及程序设计。
二、实验原理:
1.液晶显示屏(LCD,LiquidCrystalDisplay)
主要用于显示文本及图形信息。
它具有重量轻、体积小、耗电量低、无辐射、平面直角
显示以及影像稳定不闪烁等特点,因此在许多电子应用系统中,常使用液晶屏作为人机界面,
而且已广泛应用于各类显示器件上。
主要类型及性能参数
液晶显示按显示原理分为STN和TFT两种:
(1)STN(SuperTwistedNematic,超扭曲向列)液晶显示屏
STN液晶显示器与液晶材料、光线的干涉现象有关,显示的色调以淡绿色与橘色为主。
STN液晶显示器中,使用X、Y轴交叉的单纯电极驱动方式,水平方向驱动电压控制显示
部分的亮或暗,垂直方向的电极则负责驱动液晶分子的显示。
(2)TFT(ThinFilmTransistor,薄膜晶体管)彩色液晶屏
随着液晶显示技术的不断发展和进步,TFT液晶显示屏被广泛用于制作成电脑中的液
晶显示设备。
TFT液晶显示屏既可在笔记本电脑上应用(现在大多数笔记本电脑都使用TFT
显示屏),也常用于主流台式显示器。
(3)液晶显示屏主参数
使用液晶显示屏时主要考虑的参数有外形尺寸、分辨率、点宽、色彩模式等。
2.S3C44B0XLCD控制器
S3C44B0X处理器集成了LCD控制器,支持4位单扫描、4位双扫描和8位单扫描工
作方式。
处理器使用内部RAM区作为显示缓存,并支持屏幕水平和垂直滚动显示。
数据的
传送采用DMA方式,以达到最小的延迟。
支持多种类型的液晶屏,如下:
l单色液晶
l4级或16级灰度屏
l256色彩色液晶(STN液晶)
LCD控制器主要提供液晶屏显示数据的传送、时钟和各种信号的产生与控制功能。
S3C44B0X处理器的LCD控制器主要部分框图如下图所示:
1)LCD控制器接口S3C44B0XLCD控制器接口如下表所列:
2)S3C44B0X支持的扫描模式
a)4位单扫描显示控制器扫描线从左上角位置进行数据显示。
显示数据从VD[3:
0]获得;彩色液晶屏数据位代表RGB色。
b)4位双扫描显示控制器分别使用两个扫描线进行数据显示。
显示数据从VD[3:
0]获得高扫描数据;从VD[7:
4]获得低扫描数据;彩色液晶屏数据位代表RGB色。
c)8位单扫描显示控制器扫描线从左上角位置进行数据显示。
显示数据从VD[7:
0]获得;彩色液晶屏数据位代表RGB色。
3)数据的存放与显示液晶控制器传送的数据表示了一个像素的属性:
4级灰度屏用2个数据位,16级灰度屏用4个数据位,RGB彩色液晶屏使用8个数据位(R[7:
5]、G[4:
2]、B[1:
0])。
显示缓存中存放的数据必须符合硬件及软件设置,即要注意字节对准方式。
4)LCD控制器寄存器S3C44B0XLCD处理器所包含的可编程控制寄存器共有18个,如下表所列:
5)LCD控制器主要参数设定正确使用S3C44B0XLCD控制器,必须设置控制器所有18个寄存器。
控制器信号VFRME、VCLK、VLINE和VM要求配置控制寄存器LCDCON1/2;液晶显示屏的显示与控制以及数据的存取控制,则要求配置其他相关寄存器。
详细配置情况可参考教材及其他参考资料。
6)灰度屏的支持与设置S3C44B0X中的LCD控制器支持两种灰度模块:
2位象素(4级灰度)、4位象素(16级灰度)。
对于4级灰度屏(2位象素),LCD控制器通过设置BLUELUT[15:
0]指定使用的灰度级,并且从0~4级使用BLUELUT的4个数据位。
16级灰度屏使用BLUELUT的每一位来表示灰度级别。
7)液晶(LCD)电路设计设计液晶显示屏控制电路时必须提供电源驱动、偏压驱动及LCD显示控制器。
由于S3C44B0X处理器自带LCD控制器,而且可以驱动实验板所选用的液晶屏,所以控制电路的设计可以省去显示控制电路,只需进行电源驱动和偏压驱动的电路设计即可。
其结构如图3-6所示。
电源驱动与偏压驱动参考电路实验板所选用的液晶屏的驱动电源是21.5V,因此,直接使用实验系统的3V或5V电源时需要电压生压控制。
实验系统采用MAX629电压管理模块,以提供液晶屏的驱动电压。
偏压电源可由系统升压后的电源分压得到。
S3CEV40的电源驱动与偏压驱动参考电
路如图3-7所示。
三、实验内容
1.LCD液晶屏:
320*240像素,16级灰度,单扫描模式,首地址为0xC300000,偏移点数2048(512个字节)
VLINE=垂直尺寸-1=240-1=0xEF
PAGEWIDTH=320*4/16
OFFSIZE=512
LCDBANK=0xC300000>>22
LCDBASEU=0x100000>>1
LCDBASEL=LCDBASEU+(PAGEWIDTH+OFFSIZE)*(LINEVAL+1)
如是双扫描则LINEVAL和LCDBASEL变化。
三、实验代码
1)寄存器初始化
voidLcd_Init(void)
{
rDITHMODE=0x12210;
rDP1_2=0xa5a5;
rDP4_7=0xba5da65;
rDP3_5=0xa5a5f;
rDP2_3=0xd6b;
rDP5_7=0xeb7b5ed;
rDP3_4=0x7dbe;
rDP4_5=0x7ebdf;
rDP6_7=0x7fdfbfe;
1.抖动模式寄存器(DP1_2、DP4_7、DP3_5、DP2_3、DP5_7、DP3_4、DP4_5、DP6_7和DITHMODE,前8个使用初始值,最后使用定值)
rLCDCON1=(0x0)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);
2.LCD控制寄存器1:
首先定义八位单扫描显示模式;频率由MVAL决定;WDLY=16CLOCK;WLH=16CLOCK.
rLCDCON2=(LINEVAL)|(HOZVAL_COLOR<<10)|(10<<21);
3.LCD控制器2:
设置320*240;扫描空闲时间为10MCLK
rLCDCON3=0;
4.禁止LCD自动刷新
rLCDSADDR1=(0x3<<27)|(((unsignedint)aLcdActiveBuffer>>22)<<21)|M5D((unsignedint)aLcdActiveBuffer>>1);
rLCDSADDR2=M5D((((unsignedint)aLcdActiveBuffer+(SCR_XSIZE*LCD_YSIZE))>>1))|(MVAL<<21);
rLCDSADDR3=(LCD_XSIZE/2)|(((SCR_XSIZE-LCD_XSIZE)/2)<<9);
5.帧缓冲起始地址寄存器1/2/3
rREDLUT=0xfdb96420;
rGREENLUT=0xfdb96420;
rBLUELUT=0xfb40;
6.颜色查找表寄存器:
前两个高16位后为1,低十六位后为0;蓝的高8位后为两个1,低8位后为两个0
rLCDCON1=(0x1)|(2<<5)|(MVAL_USED<<7)|(0x3<<8)|(0x3<<10)|(CLKVAL_COLOR<<12);
7.重置为8为单扫描
rPDATE=0xfe;
8.打开背光灯
Lcd_Clr();
}
2)清屏函数
voidLcd_Clr(void)
{
INT32Ui;
INT32U*pDisp=(INT32U*)aLcdActiveBuffer;
for(i=0;i<(SCR_XSIZE*SCR_YSIZE/4);i++)
{
*pDisp++=ALLWHITE;
}
}
3)画水平和垂直线函数
voidLcd_Draw_HLine(INT16usX0,INT16usX1,INT16usY0,INT8UucColor,INT16UusWidth)
{
INT16usLen;
if(usX1 { GUISWAP(usX1,usX0); } while((usWidth--)>0) { usLen=usX1-usX0+1; while((usLen--)>0) { LCD_PutPixel(usX0+usLen,usY0,ucColor); } usY0++; } } voidLcd_Draw_VLine(INT16usY0,INT16usY1,INT16usX0,INT8UucColor,INT16UusWidth) { INT16usLen; if(usY1 { GUISWAP(usY1,usY0); } while((usWidth--)>0) { usLen=usY1-usY0+1; while((usLen--)>0) { LCD_PutPixel(usX0,usY0+usLen,ucColor); } usX0++; } } 注: 由此,可以画矩形框,只要定好四个顶点,随后画出两对水平和垂直线就可以了: voidLcd_Draw_Box(INT16usLeft,INT16usTop,INT16usRight,INT16usBottom,INT8UucColor) { Lcd_Draw_HLine(usLeft,usRight,usTop,ucColor,1); Lcd_Draw_HLine(usLeft,usRight,usBottom,ucColor,1); Lcd_Draw_VLine(usTop,usBottom,usLeft,ucColor,1); Lcd_Draw_VLine(usTop,usBottom,usRight,ucColor,1); } 1)汉字字符串 voidLcd_DspHz16(INT16Ux0,INT16Uy0,INT8UForeColor,INT8U*s) { INT16i,j,k,x,y,xx; INT8Uqm,wm; INT32UulOffset; INT8hzbuf[32],temp[2]; for(i=0;i { if(((INT8U)(*(s+i)))<161) { temp[0]=*(s+i); temp[1]='\0'; break; } else { qm=*(s+i)-161; wm=*(s+i+1)-161; ulOffset=(INT32U)(qm*94+wm)*32; for(j=0;j<32;j++) { hzbuf[j]=g_auc_HZK16[ulOffset+j]; } for(y=0;y<16;y++) { for(x=0;x<16;x++) { k=x%8; if(hzbuf[y*2+x/8]&(0x80>>k)) { xx=x0+x+i*8; LCD_PutPixel(xx,y+y0,(INT8U)ForeColor); } } } i++; } } } 2)字符串 voidLcd_DspAscII8x16(INT16Ux0,INT16Uy0,INT8UForeColor,INT8U*s) { INT16i,j,k,x,y,xx; INT8Uqm; INT32UulOffset; INT8ywbuf[16],temp[2]; for(i=0;i { if((INT8U)*(s+i)>=161) { temp[0]=*(s+i); temp[1]='\0'; return; } else { qm=*(s+i); ulOffset=(INT32U)(qm)*16;//Heretobechangedtomorrow for(j=0;j<16;j++) { ywbuf[j]=g_auc_Ascii8x16[ulOffset+j]; } for(y=0;y<16;y++) { for(x=0;x<8;x++) { k=x%8; if(ywbuf[y]&(0x80>>k)) { xx=x0+x+i*8; LCD_PutPixel(xx,y+y0,(INT8U)ForeColor); } } } } } } 3)本实验结果: 首先对18个寄存器进行初始化,在串口到超级终端可输出LCD测试选项,接着在LCD上显示蓝色的“EmbestS3CEV40”和“英蓓特三星实验平台”和“ShenZhenEmbestInfo&TechCo.,LTD”以及四个矩形。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 液晶显示实验 昆明理工大学 实验 液晶显示 昆明 理工大学
![提示](https://static.bingdoc.com/images/bang_tan.gif)