基于arm929t内核的三星s3c2410芯片的电子黑板的软件和硬件设计毕业论文(编辑修改稿)内容摘要:
1 .8100pFC 3 9100pFC 4 0V D D 3 3V C C1 0 u F / 1 6 VC 4 1V D D 1 8 图 44 S3C2410A 电源电路图 LDO 是一种低电压差电源芯片,而 SPX1117 系列 LD0 芯片输出电 流可达 800mA,输出电压的精度为,还具有电流限制和热保护功能,其输出端的 10 F 的钽电容用来改善瞬态响应和稳定性。 字模函数 LCD 液晶显示的方法有很多种,通常可分为段式、字符式、点阵式,在本系统的设计过程中,为了对使用者作出必要的提示,需要在 LCD 上显示汉字,所以有必要对其作一研究。 汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码,一般用字模提取软件来获得。 我们将显示汉字函数定义为 void GUI_Disp ( uint16 x, uint16 y, uint16 w, uint16 h,uint16 *buffer),其中 x, y是汉字显字的起始点, w,h 分别是汉字显示的长度和宽度, buffer 是要显示的汉字的点阵码。 在该函数当中,首先对显示区域参数过滤,如果在该区域,则对要显示的汉字的点阵码送到 LCD 缓冲区,进行显示。 其关键点在于点阵码的提取和分块显示。 触摸屏驱动程序 触摸屏驱动程序是通过设置 ADC 寄存器来实现的,一般在 15 S3C2410 中,将其设置成中断模式,具体程序框图如图 51所示: 图 45 程序框图 在该框图中,我们可以得到,当触笔接触到触摸屏时, S3C2410将响应中断,即进入中断函数,然后首先将关闭中断,然后通过ADCDATA0 寄存器的最高位来判断触笔是提起状态还是按下状态,如果是按下状态,那么将首先对 X 轴进行采样、转换,最后将 X轴对应的坐标值寄存在 ADCDAT0 寄存器的低 8位,同理,接着对Y 轴对应的坐标值进行采样、转换 ,最后将 Y 轴对应的坐标值寄存在 ADCDATA1寄存器的低 8位。 这样就得到一个采样点的坐标值,最后将这一个坐标点送给 LCD 画点驱动程序,将其在 LCD 显示屏 16 上显示出来。 当然了,这只是问题研究的第一步,因为我们的最终目的是要通过获取对应坐标点,在触摸屏上画出各种不同的图形符号和进行必要的坐标范围判定。 这样我们又提出一个问题,即是否每次都能准确获得相应触点的坐标。 坐标点校准 当用触笔在触摸屏发生点击动作时 ,将能返回触摸屏的坐标数据 .问题是如何将触摸屏的坐标数据转换成液晶屏的坐标数据呢 ? 这里有多种解决方案 : 触摸屏芯片的资料中应该有解决方案,或者找其相近的触摸屏,查看他人是怎么处理类似情况的; 如果液晶的显示没有问题,就是得到触摸屏的坐标后如何处理,现在我假定已经了解触摸屏的物理原理了,点击触摸屏上下顶点,获得两个坐标,( x1, y1)和( x2, y2), x1 = x2,记录下来,然后随便点击一个位置,获得的 y 值肯定在 y1和 y2 之间,根据比例算出位置,然后映射到液晶上,根据比例显示出来就可以,大致的过程就是这样, x 的值也可以这样计算出来,期间需要注意的是消除抖动。 用公式进行计算 ,在触摸屏数据与其位置偏移关系且屏幕像素与其位置偏移关系同为线性关系假设情况下,触摸屏返回的位置信息与像素位置信息之间成 2D坐标变换关系。 则对于触摸屏按下点的触摸屏坐标 (Tx,Ty)与其在显示设备位置关系上匹配的点的屏幕坐标 (Sx,Sy)之间的转换关系,可以通过下述坐标变换表示: 17 Sx、 Sy 是预先知道的, Tx、 Ty 是通过测量得到的,即通过三个点就可以确定 A1, B1, C1 和 A2, B2, C2。 本人用的是第二种方法,由实验得到的数据可知, LCD 上的原点坐标是( 0, 0),最大坐标是( 640,480);而触摸 屏上的原点坐标是( 0,0),最大坐标是( 1000,1000)。 所以由测量得到的值( adcx,adcy) ,需要进行如下转换: 6 4 0%1 0 0 0%adcxA dcx ( 13) 480%1000%adc yA dc y ( 14) 但在转换过程中,并没有出现对应的转换关系,而是横轴转换成( 0640) +( 0320),纵轴转换成( 0480) +( 0480),什么原因,有 两种可能,一种是数据类型设置的小,在乘法计算过程中数据溢出而丢失;另一种就是在除法运算过程中,数据省略而丢失。 但这两种可能都不是。 画线函数算法 在上一节中,我们对 LCD 画点的问题以及触摸屏获取点的问题进行了一定的研究,但问题的关键是我们要画出不同的图形,需要对一系列的点进行操作,这样就涉及到了对大量点的收集问题,也就是点收集的实时性。 一般有两种情况,一种是逐点收集,即触摸屏响应一次中断,收集一次点,然后延时一定的时间,如果在延时时间内,没有中断,则将收集到的所有点一并显示出来,另一 种情况就是在中断 18 程序里面做文章,因为如果把触摸屏设置成中断模式,我们可以通过 DATAn 的最高位来判断触笔是否提起,如果触笔一直处于按下状态,那么我们就在一直进行采样,并将采样到的各个点显示出来,这样就可以达到实时性的要求。 所以我采用第二方法,即边采样边显示的方法。 系统软件设计 本设计是基于 S3C24210A 处理器,该芯片具有丰富的软硬件资源,我们通过在软件中定义其各自的寄存器,来完成设计要求,在设计过程中,我们主要用到了 LCD 模块和触摸屏模块,所以在软件的主函数当中,首先要对其进行初始化,然 后进入一开始界面,并且将 LCD 停留在该界面,等待触摸屏的中断。 当触笔被按下时,就会转入中断子程序,开始触点坐标值的采样,直到触笔抬起为止。 19 第五 章 系统测试结果与分析 系统概述 该软件系统是在基于 ARM920内核的三星公司 S3C2410为处理器 ,通过外置触摸屏和 LCD 显示屏,可以把在触摸屏上画出的点线即各种图形符号,显示在 LCD 显示屏上,其主要可以实现以下几个功能: 画图 即可以在屏幕上画出各种图形的功能; 清屏 即当在屏幕上画的各种符号较多或需要重新画图时,将屏 幕清除的功能; 取色 即可以根据个人的需要,预先设定图形符号的颜色的功能。 软件运行截图 系统软件运行具体流程图如图 61所示,刚开始时,系统处在主菜单中,然后往复循环,判断是否启动画图面板,如果启动,则进入画图面板,在这个界面,我们有两种选择:画图选择和取色选择。 如果选择取色功能,则将进入取色界面,在这里,我们提供了多种颜色,而且在这个界面,只能选择颜色,不可以进行画图,用户可以多次选择颜色,但以最后一次为准,当取完合适的颜色后,点击返回选项,系统将会自动返回画图界面,进行再次操作;否则 一直将会停留在取色界面。 如果选择画图功能,则打开画图面板,可以进行画图。 在进行画图的过程中 ,用户可以使用清屏选项, 再次更换相应的颜色 如图 51所示。 20 图 51 系统软件流程图 电子黑板成功图如图 52 和 53 图 52 软件清屏效果界面图 图 53 调试成功图 21 第七章 设计总结与展望 通过本学期对《嵌入式系统》这门课程的学习, 对基于ARM929T 内核的三星 S3C2410 芯片的电子黑板的软件和硬件方面的设计进行了研究,并对可以实现的各种功能进行了验证。 课堂学习主要 注重于理论知识,而我们要将所学 每一次课程设计都会学到不少东西,这次当然也不例外。 不但对自动控制原理的知识巩固了,这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在自己和同学相互协助下,终于迎刃而解了。 课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程. ” 千里之行始 22 于足下 ” ,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础. 同样十分感谢老师在此次实 验中给我提出的建议与不足,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。 而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。 参考文献 [1]北京博创兴业科技有限公司 .NETARMt3000 说明书 .北京博创兴业科技有限公司 .20xx [2]邓超 .带有 CAN 总线的嵌入式工控触摸屏系统 [D]. 吉林大学信号与信息处理专业硕士论文 [3]李健无线点菜系统的研究 [D] 天津大学硕士学位申请论文 [4]罗雪莲,宋树祥 .基于 ARM 的嵌入式系统触摸屏设计 [J].电器时代 .: 7273 [5]倪天龙,邓。基于arm929t内核的三星s3c2410芯片的电子黑板的软件和硬件设计毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。