欢迎来到天天文库
浏览记录
ID:40530508
大小:154.46 KB
页数:14页
时间:2019-08-04
《arm9开发板实验报告2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、郑州轻工业学院实训报告实训名称:触摸屏驱动程序设计姓名:张克歌院(系):计算机与通信工程学院专业班级:嵌入式09--01学号:540913090151指导教师:韩雪琴成绩:时间:2011年8月29日至2011年9月7日一、需求说明1.巩固和强化学生的嵌入式系统的基本概念和开发流程,掌握基本知识和基本技能。2.掌握硬件开发平台、开发资源和软件开发环境,尤其是裸机嵌入式系统开发方法。掌握汇编和C语言混合编程技巧,熟悉系统启动引导过程,能够成功移植嵌入式系统引导程序。培养和训练学生综合利用所学基本知识和基本技能进行小型裸机程序开发的技能。3
2、.明确思路和任务,查询相关书籍、资料,重点分析S3C2440的触摸屏接口工作原理和相关寄存器。编写触摸屏初始化函数,确定XY位置转换模式。编写触摸屏中断初始化函数,中断服务函数。编写屏幕校准函数。确定坐标计算公式。编写触点数据采集函数。编写主函数,进入调试。实现触摸屏坐标点x、y的正确读取。二、功能描述通过对AD转换器的配置——触摸屏自动测试x/y位置模式,选择进入到触摸屏驱动函数。在进行触摸屏测试时,先进入函数内判断是否启动A/D转换,如果不是的话就跳出此函数,如果是的话进行下面的判断,看A/D转换是否结束,如果是,跳出函数,如果不
3、是运行程序,并输出x、y的值。再回到触摸屏驱动函数,测试结束,清屏。三、系统设计及实现一.系统设计1.对触摸屏相关寄存器进行初始化,确定XY位置转换模式;2.对中断初始化,设计中断服务函数;3.通过校正函数和坐标计算公式,得出坐标。二.流程图开始在main函数中调用Test_Touchpanel函数对ADC相关寄存器进行配置设置中断,进行数据采集开中断,AD转换是否开启NYAD转换是否结束NY进行数据转换,并输出数据等待中断结束三.实现对ADC相关寄存器,中断进行设置中断服务函数在主函数中直接调用Test_Touchpanel函数最终
4、测试结果,每碰触一下触摸屏,就在终端中显示一对XP,YP值四、实训心得五、附录(代码)/****************************************************************NAME:u2440mon.cDESC:u2440monentrypoint,menu,downloadHISTORY:Mar.25.2002:purnnamu:S3C2400Xprofile.cisportedforS3C2410X.Mar.27.2002:purnnamu:DMAisenabled.Apr.01.200
5、2:purnnamu:isDownloadReadyflagisadded.Apr.10.2002:purnnamu:-Selectingmenuisavailableinthewaitingloop.So,isDownloadReadyflaggetsnotneeded-UARTch.1canbeselectedfortheconsole.Aug.20.2002:purnnamu:revisionnumberchange0.2->R1.1Sep.03.2002:purnnamu:ToremovethepowernoiseintheU
6、SBsignal,theunusedCLKOUT0,1isdisabled.****************************************************************/#defineGLOBAL_CLK1#include#include#include"def.h"#include"option.h"#include"2440addr.h"#include"2440lib.h"#include"2440slib.h"#include"mmu.h"#inclu
7、de"profile.h"#include"memtest.h"externcharImage$$RO$$Limit[];externcharImage$$RO$$Base[];externcharImage$$RW$$Limit[];externcharImage$$RW$$Base[];externcharImage$$ZI$$Limit[];externcharImage$$ZI$$Base[];voidIsr_Init(void);voidHaltUndef(void);voidHaltSwi(void);voidHaltPa
8、bort(void);voidHaltDabort(void);voidClearMemory(void);voidClk0_Enable(intclock_sel);voidClk1_Enable(intclock_s
此文档下载收益归作者所有