LCD动态图片显示Word格式.docx
《LCD动态图片显示Word格式.docx》由会员分享,可在线阅读,更多相关《LCD动态图片显示Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
![LCD动态图片显示Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/23/09075723-da21-4fa8-9a29-ca312dd1d18b/09075723-da21-4fa8-9a29-ca312dd1d18b1.gif)
当通电时导通,排列变的有秩序,使光线容易通过;
不通电时排列混乱,组织光线通过。
让液晶如闸门般的阻隔或让光线穿透。
从技术上简单地说,液晶面板包含了两篇相当精致的无钠玻璃素材,中间夹着一层液晶。
当光束通过这层液晶时,液晶本身会排排站立或扭转呈不规则状,因而组个或是光束顺利通过。
大多数液晶都属于有机复合物,有长棒状的分子构成。
在自然状态下,这些棒状分子的长轴大致平行。
将液晶倒入一个经精良加工的开槽平面,液晶分子会顺着槽排列,所以假如那些槽非常平常,则各分子也是完全平行。
液晶显示器的显像原理,是将液晶置于两片导电玻璃之间,靠两个电极间电场的驱动,引起液晶分子扭曲向列的电场效应,以控制光源透射或遮蔽功能,在电源开关之间产生明暗而将影像显示出来,若加上彩色滤光片,则可显示彩色影像。
,在两片玻璃基板上装有配向膜,所以液晶会沿者沟槽配向,由于玻璃基板配向膜沟槽偏离90度,所以液晶分子成为扭转型,挡玻璃基板没有夹加入射电场时,光线透过偏光板跟着液晶做90度扭转,通过下方偏光板,液晶面板显示面板显示白色;
挡玻璃基板加入电场时,液晶分子产生配列变化,光线通过液晶分子空隙维持原方向,被下方偏光板遮蔽,光线被吸收无法透出,液晶面板显示黑色。
液晶显示器便是根据压电有无,使面板达到显示效果。
一直以来,追求更完美的视觉享受都是我们桌面显示设备的目标,回顾近年的显示技术发展历程,我们不难发现它都是围绕着同样一个主题-“追求更佳的人类肉眼视觉舒适性”!
09年LED背光的液晶产品得到了消费者强烈的关注。
在外观上还是功耗上,它比传统的CCFL背光都有不小的优势,相信随着技术的越来越成熟,LED背光的液晶产品必然会在市场上取得很大的成功,市场的潜力也非常巨大的,而且对于大多数人来说外观还是选择显示器的首要因素,超薄时尚节能也是未来的主流。
1.2本课题研究主要内容
通过利用DMTool字模提取工具提取图片字模,使用SPCE061A核心及周边电路模块和LCD显示模组模块,来实现液晶显示器动态图片,从而让我们看到图片的动态变化,提高视觉效果。
利用C语言编写主程序和中断服务程序,调用驱动程序。
在液晶显示器上动态显示已经提供的图片,这里显示凌阳科技的标识(sunplus的所有9张图片)。
从第一张图象依次显示到第九张图象之后,再从第九张图象依次显示第一张图象,每张图象显示刷新时间为0.2s,也就是说图像显示的顺序是:
图1-1图像顺序
0.2s的刷新时间要求利用IRQ4_1KHz中断实现。
把每一个图象显示称为一帧图象显示,则根据实验要求,在显示一个完整的凌阳标识的旋转时需要显示18帧图象,则表示图像帧的顺序是:
图1-2图像帧的顺序
第2章硬件设计
2.1各部分元件介绍
SPCE061A是继μ’nSP™(MicrocontrollerandSignalProcessor)系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。
与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。
较高的处理速度使μ’nSP™能够非常容易地、快速地处理复杂的数字信号。
因此,与SPCE500A相比,以μ’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。
SPCE061A的开发是通过在线调试器PROBE实现的。
它既是一个编程器(即程序烧写器),又是一个实时在线调试器。
用它可以替代在单片机应用项目的开发过程中常用的软件工具——硬件在线实时仿真器和程序烧写器。
它利用了SPCE061A片内置的在线仿真电路ICE(In-CircuitEmulator)接口和凌阳公司的在线串行编程技术。
PROBE工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上SPCE061A相应管脚,直接在目标电路板上的CPU---SPCE061A调试、运行用户编制的程序。
PROBE的另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机IDE集成开发环境软件包下,完成在线调试功能
LCD模组,是指将玻璃和LCD驱动器集成到一起的LCD显示产品。
lcd模块能提供用户一个标准的LCD显示驱动接口(有4位、8位、VGA等不同类型),用户按照接口要求进行操作来控制LCD正确显示。
液晶显示器,或称LCD(LiquidCrystalDisplay),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。
液晶显示器功耗很低,因此倍受工程师青睐,适用于使用电池的电子设备。
它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。
2.2硬件原理图
从图中可以看出SPCE061A的结构比较简单,在芯片内部集成了ICE仿真电路接口、FLASH程序存储器、SRAM数据存储器、通用I/O端口、定时器计数器、中断控制、CPU时钟、模/数转换器A/D、数/模转换器DAC输出、通用异步串行输入输出接口、和低电压监测低电压复位等若干部分。
其中各部分之间存在着直接或间接的联系。
SPCE061A共提供两个16位通用的并行I/O口,IOA0-IOA15,IOB0-IOB15。
这两个口的每一位都可以通过编程单独定义为输入或输出口,其中A口的IOA0-IOA7具有触键唤醒的功能,可以应用于低功耗的场所,
SPLC501A内置8580位显示RAM。
RAM中的一位数据控制液晶屏上的一个象素点的亮、暗状态:
“1”亮“0”暗。
具有65行驱动输出和132列驱动输出(注:
模组中的液晶显示面板仅为64行、128列)。
SPLC501液晶显示模组的显示器上的显示点与驱动控制芯片中的显示缓存RAM是一一对应的;
SPLC501A芯片中共有65(8Page×
8bit+1)×
132位的显示RAM区。
而显示器的显示点阵大小为64×
128点,所以实际上在SPLC501液晶显示模组中有用的显示RAM区为64×
128位;
按byte为单位划分,共分为8个Page,每个Page为8行,而每一行有128位(即128列)。
SPCE061A核心及周边电路图如图2-1所示。
图2-1SPCE061A核心及周边电路原理图
实际上就是通过对某点所对应的显示RAM区中的某一位进行置1操作;
所以就要确定该点所处的行地址、列地址。
SPLC501液晶显示模组的行地址实际上就是Page的信息,每一个Page应有8行;
而列地址则表示该点的横坐标,在屏上为从左到右排列,Page中的一个Byte对应的是一列(8行,即8个点),共128列。
从而点亮LCD屏上的某一个点时,可以根据这样的关系在程序中控制LCD显示屏的显示,LCD显示模组模块如图2-2所示。
图2-2LCD显示模组模块结构图
图2-3电源
2.3硬件连接
硬件连接图如图2-4所示,分别用实验箱跳线连接IOB4与AO,IOB5与RWP,IOB6与EP,IOB9与/CS,IOA8~IOA15与D0~D7;
VR、C86和PS都与V3短接,把SPLC501液晶显示模组的时序选择为6800时序。
即用跳线把实验箱JP6的所有引针全部短接。
硬件连接图如图2-4所示。
图2-4硬件连接图
2.4本章小结
SPCE061A是凌阳科技推出的又一款16位结构的微控制器。
在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,而且具有较高的处理速度。
LCD模组,是指将玻璃和LCD驱动器集成到一起的LCD显示产品,是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。
通过SPCE061A核心及周边电路模块和LCD显示模组模块进行接口的连接,利用所提供的图片来实现液晶显示器动态图片,从第一张图象依次显示到第九张图象之后,再从第九张图象依次显示第一张图象,每张图象显示刷新时间为0.2s,来实现动态图片的显示。
第3章软件设计
3.1程序的设计流程
主程序流程图如图3-1,初始化LCD,设置为取反并覆盖的显示模式,显示图片sp1;
进入显示循环,显示图片sp1,延时0.2s;
显示sp2,延时0.2s,依次显示到sp8,延时0.2s;
显示sp8,延时0.2s,显示sp7,延时0.2s,依次显示到sp0,延时0.2s。
每帧图象都显示在(48,10)位置上。
图3-1主程序流程图
中断服务流程图如图3-2,在中断服务程序里,只需要让中断计数器加1即可,那么在主程序里,只要计数器等于200,说明0.2s的定时已到,可以进行图像的刷新。
图3-2中断服务程序流程图
3.2DMTool字模提取工具
DMTool是针对unSP系列16位单片机的字模数据提取工具;
用户可以利用此工具提取汉字字模、BMP位图字模,还可以很方便地提取ASCII码字模;
用户还可以利用此工具对所要取的汉子、位图等进行编辑;
生成字模数据用以Word数据为基本单元,并以数组的形式保存。
字模数据导出时,可以导出一个.c文件和一个.h的头文件,用户可以直接把这两个文件加载到用户的工程中,供汉字显示‘位图显示使用。
DMTool主要有字符导入编辑、单色BMP图像的导入和编辑、图像和字符的字模数据生成以及字模数据文件导出等主要功能。
图3-3为打开后的DMTool工具的主窗口。
图3-3DMTool打开后界面
使用过程如下:
首先,在开始菜单中,运行DMTool工具;
其次,点击菜单栏上的[File]中的[New],新建工程(*.prj文件);
然后,输入字符或导入图像编辑图像;
最后,点击[File]中的[Save],以保存改动后的工程。
3.3SPLC501液晶显示模组函数及显示位置移动
SPLC501液晶显示模组汉字显示API函数介绍:
SPLC501液晶显示模组动态图片显示相关的API函数:
voidLCD501_Init(unsignedintInitialData)//初始化液晶显示
voidLCD501_ClrScreen(unsignedintMode)//点亮屏幕或清屏
voidLCD501_SetPaintMode(unsignedModeCode)//设置图形显示模式
unsignedintLCD501_GetPaintMode(void)//获取图形显示模式
voidLCD501_Bitmap(unsignedintx,unsignedinty,unsignedint*word)//显示汉字或者位图的字模数据
SPLC501液晶显示模组显示位置移动图片
当想要让图片在屏幕上移动时,事实上就是让图片在屏幕上的位置改变,比如:
图片在(0,30)位置上显示,如果想让图片向右移动50个像素点,只要让图片在(50,30)位置上显示即可。
如图3-3。
图3-3位置的改变
3.4SPLC501液晶显示模组显示图片
利用SPLC501液晶显示模组显示BMP位图和显示汉字的过程基本相同。
SPLC501液晶显示模组先初始化LCD,再设置图形显示模式,从而来实现显示BMP位图。
过程图如图3-5所示。
图3-5SPLC501液晶显示模组显示BMP位图的过程
利用SPLC501液晶显示模组显示BMP位图的操作过程为:
新建一个工程,在已知BMP位图的基础上,利用字模提取工具提取字模数据,把字模数据文件保存在工程文件夹,添加字模数据文件到工程,拷贝并添加驱动程序文件,编写程序,运行显示。
如图3-6所示。
图3-6利用SPLC501液晶显示模组显示BMP位图需要的操作过程
3.5本章小结
基于硬件器件的连接,进行程序设计以及计数器,DMTool字模提取工,SPLC501液晶显示模组等一些软件设计来完成液晶显示器动态图片的显示功能。
第4章结论与体会
作为近几年才突然新兴起的新产品,液晶显示器已经全面取代笨重的CRT显示器成为现在主流的显示设备。
由于优点众多,LCD从1998年开始进入台式机应用领域。
它的主要原理是为以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。
液晶显示器的工作原理与传统CRT显示器完全不同。
它最基本的显示组件是液晶材料。
液晶平面显示器大规模批量生产的特性非常好,生产规模大,成品率高,自动化程度高;
集成化程度高,可靠性强。
动态显示逐步实现普及化。
控制电路和驱动电路可以集成到玻璃基板上,大幅度降低生产成本和维修成本。
随着材料科学、光源技术和半导体工艺技术的同步发展,为降低成本留下了广阔的空间。
我们还更加充分的认识到,单片机这门课程在科学发展中的至关重要性,通过本次课程设计,在设计中遇到了很多问题,最后在同学的辛努力帮助下,终于游逆而解。
同时,从他人的身上我学得到很多实用的知识。
这次课程设计,虽然短暂但是让我得到多方面的提高:
1.提高了我们的逻辑思维能力,使我们在课程设计的分析与设计上有了很大的进步。
加深了我们对知识的认识,进一步增进了对一些常见器件的了解。
另外,2.查阅参考书的独立思考的能力以及培养非常重要,我们在设计流程图时,遇到很多不理解的东西,有的我们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。
3.相互讨论共同研究也是很重要的,经常出现一些问题,比如开始并不理解原理,但是和其他的专业同学讨论后,理解了基本原理后,很快的设计了流程图。
总体来说,这次实习我受益匪浅。
在摸索该如何设计程序使之实现所需功能的过程中,特别有趣,培养了我的设计思维,增加了实际操作能力。
在让我体会到了设计的艰辛的同时,更让我体会到成功的喜悦和快乐。
通过一周的努力,在老师和同学们的指导帮助下,本次的设计顺利完成了。
这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后的学习中激励我继续进步。
不积跬步何以至千里,本设计能够顺利完成,也归功于导师的认真负责,是我能够很好的掌握和运用专业知识,并在设计中得以体现。
真是有了他们的悉心帮助和支持,才能是我的设计论文顺利完成。
参考文献
[1]高传善.接口与通信[M].上海:
复旦大学出版社,1989.
[2]李传福.复华8098单片机及其应用系统设计[M].北京:
清华大学出版社,1992.
[3]马忠梅等.单片机的C语言应用程序设计[M].北京:
北京航空航天大学出版社,1998.
[4]王福瑞等.单片微机测控系统设计大全[M].北京:
[5]潘新民.王燕芳.单片微型计算机实用系统设计[M].北京:
人民邮电出版社,1992.
附录
程序设计:
unsignedintIRQ1KHz_Counter;
//定义一个全局的变量,作为计数的Counter
intmain(void)
{
unsignedintuiTemp;
inti=1;
LCD501_Init(0x00);
//初始化液晶
*P_SystemClock=0x0088;
//设置系统时钟以及CPU时钟
LCD501_SetPaintMode(4);
//设置LCD显示模式
uiTemp=*P_INT_Ctrl_New;
//...
uiTemp=uiTemp|0x0010;
*P_INT_Ctrl_New=uiTemp;
//打开1KHz中断
__asm("
IRQON"
);
//打开IRQ中断
LCD501_Bitmap(48,10,(unsignedint*)BMP_Cartoon3[1]);
//先显示第一帧
IRQ1KHz_Counter=0;
//计数器清零
while
(1)
{
if(IRQ1KHz_Counter>
=200)//到达预定时延时
{//到达预定时间时,更换一帧画面
IRQ1KHz_Counter=0;
//清Counter
LCD501_Bitmap(48,10,(unsignedint*)BMP_Cartoon3[i]);
//显示第i帧图像
i++;
//自加
if(i==19)//到达上限,
{
i=1;
//i重新指为1
}
}
*P_Watchdog_Clear=0x0001;
//清看门狗
}
}
//=====================================================================//
//语法格式:
voidBMP_Play_IRQ_Service(void)
//实现功能:
计数器Counter自加1
//参数:
无
//返回:
//注意:
动画显示程序中,在1KHz中断需要调用的子函数,作为计数用
voidBMP_Play_IRQ_Service(void)
{
IRQ1KHz_Counter++;
//Counter自加1
voidIRQ4(void)
IRQ4中断入口程序
采用了1KHz中断
voidIRQ4(void)__attribute__((ISR));
voidIRQ4(void)
if(*P_INT_Ctrl&
0x0010)
*P_INT_Clear=0x0010;
BMP_Play_IRQ_Service();
//调用动画显示的中断服务程序