实验报告三触摸屏控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南昌大学实验报告
学生姓名:学号:专业班级:
实验类型:□验证□综合■设计□创新实验日期:实验成绩:
综合实验三触摸屏控制
一、实验目的
通过本次实验进一步熟悉MagicARM2410 GPIO、UART、RTC,步进电机,直流电机,IIC的工作原理,能熟悉的编程控制;熟悉触摸屏中断控制,学会s3c2410ADC 的配置。
二、实验基本原理
通过设置GPIO口及液晶触摸屏控制器等相关寄存器来达触摸相应菜单键来
控制直流步进电机的转动、加速减速和改变方向,并同步超级终端。
(一)触摸屏原理
触摸屏按其工作原理的不同分为表面声波屏、电容屏、电阻屏和红外屏几种。而常见的又数电阻触摸屏。
电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一
层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表
面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导
电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。
图 1 触摸屏结构
如图2所示,当手指或笔触摸屏幕时,平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通X 轴方向的5V 均匀电压场(图a),使得检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行A/D 转换,并将得到的电压值与5V 相比即可得触摸点的X 轴坐标为(原点在在靠近接地点的那端):Xi=Lx*Vi / V(即分压原理),同理得出Y 轴的坐标,这就是所有电阻技术触摸屏共同的最基本原理。
图 2 触摸屏构造
使用触摸屏之前,要对触摸屏进行初始化设置。触摸屏中断服务程序,进行ADC 转换后输出显示。
(二)步进电机
步进电机是一种将电脉转化为角位移的数据控制电机,即给它一个脉冲信号,它就按设定的方向转动一个固定的角度。用户可以通过设置脉冲的个数来控制角位移量,从而实现准确的定位操作;另外,通过控制脉冲频率来控制电机转动速度和加速度,从而实现调速的目的。当然,对于步进电机各组绕组(即内部线圈)的控
制脉冲要有一定的顺序,否则电机无法正常旋转。
MagicARM2410试验箱上的步进电机为四项步进电机,电机驱动为18°。S3C2410A的GPIO驱动能力有限,必须通过ULCN2003达林顿集成驱动芯片驱动步进电机,在步进电机和驱动电路之间连接了电阻,防止控制紊乱造成电机的损坏。
(三)S3C2410A
S3C2410A具有4路PWM输出,输出口分别是TOUT0~TOUT3,其中两路带有死区控制功能。为了能够正确输出PWM信号,需要正确设置GPBCON寄存器选择相应I/O 口味TOUTx功能。然后,通过TCFG0寄存器为PWM定时器时钟源设置预分频值,通过TCFG1寄存器选择PWM定时器时钟源。接着,通过TCNMPB0设置PWM占空比。最后,通过TCON寄存器启动PWM定时器,即可输出PWM信号。
(四)直流电机
直流电机的控制相对较为简单。调节PWM的分频,占空比等改变PWM的输出,最终实现电机的调速。根据电路图可以,当TOUT0为低电平的时候,电机反转或者停机;当TOUT0为高电平的时候,电机反转,正转,停机。
(五)设计过程
本实验主要考察对LCD排版及触摸屏触摸点的设置,直流电机和步进电机的控制。实验过程中,现在主函数中对LCD排版,进行JTAG仿真,测试排版中各矩形框的左上角和右下角坐标值。之后把这些坐标值代入主函数相应的语句中,使触摸这个矩形框内任意一点时能选择相应的功能。此时,最好把触摸屏中断服务程序里显示坐标值的语句注掉,以免超级终端上总是显示坐标值,不利于直观地读取超级终端信息。再次进行JTAG仿真即可实现此实验的功能。
三、主要仪器设备及耗材
硬件:PC机一台, MagicARM2410教学实验开发平台一套
软件:Windows98/XP/2000系统,ADS 1.2集成开发环境,超级终端程序,JTAG 仿真器
四、实验步骤
1、安装Wiggler JTAG仿真器并打开;
2、运行超级终端,新建一个连接;
3、启动ADS 1.2,建立工程,在src组中的main.c中编写主程序代码;
4、选用DebugRel生成目标,编译链接工程,选择【Debug】,进行JTAG仿真。
5、根据自己的排版,测量所需要的矩形框的点的坐标,把坐标值代入程序中,使触摸这个矩形框内的任意一点都能进行所需要的操作。
6、再次进行JTAG仿真,按照LCD显示屏上的菜单选择操作;
7、根据LCD显示屏及超级终端上的反馈结果调试程序。
五、实验流程图
图3 原理框图
图4 触摸屏ADC设计
图 5 主函数流程图
六、实验结果
1、主菜单界面:
图 6 主页面2、功能一,点亮小灯:
图7 点亮小灯
图8 步进电机
七、实验总结
在前面两个综合实验的基础上,结合触摸屏控制的源代码及相关资料,实现了触摸屏控制直流、步进电机的加速和减速、正反转,并在超级终端和液晶屏上同步显示转速;本实验还格外增加了一个小灯测试的功能,实验中的每个功能通
过case语句来调用。在前面实验中有关于步进电机跟直流电机的内容,控制转
速跟方向,所以能将之前的程序移植到本实验当中,通过触摸屏上的指令实现对电机的控制,再加上在LCD实验中,能够在屏幕上规划出一块区域再写字,同时也要用到汉字取模和图片取模软件,可以看出每一个实验都是逐渐推进,层层加深的。
实验过程中,先在主函数中对LCD排版,进行JTAG仿真,测试排版中各矩形框的左上角和右下角坐标值。之后把这些坐标值代入主函数相应的语句中,使触摸这个矩形框内任意一点时能选择相应的功能。此时,最好把触摸屏中断服务程序里显示坐标值的语句注掉,以免超级终端上总是显示坐标值,不利于直观地读取超级终端信息。再次进行JTAG仿真即可实现此实验的功能。实验中有几点印象很深刻:一是在左下角设定了一个小区域,能对当前操作进行说明,有四行,可以不断刷新显示新的字符;二是设置了触屏功能,点一下屏幕功能区域会亮,再次点即会灭,通过if条件语句实现该功能;三是数码管显示当前速度级别,通过调用数码管的相关函数,进行同步显示。通过这个实验,学到了触摸屏中断控制,也了解了S3C2410ADC的配置,收获了不少东西,虽然调试过程中遇到一些小麻烦,但通过一步步研究解决遇到的问题,最终完成实验,实现相应的功能,也提高了自己解决问题的能力和学习的能力。