- 43
- 0
- 约2.88千字
- 约 9页
- 2017-09-10 发布于重庆
- 举报
触摸屏驱动程序设计实验报告
触摸屏驱动程序设计一.设计目的1,巩固学习嵌入式软件方面的基本知识,进一步熟悉基本概念。 2,熟练常用控件,文件,图形等方面的操作了解基本的流程。3,运用所用学的嵌入式知识,编写出较为实用的小软件,增进对一些实际问题的软,硬件知识的掌握。4,培养查阅资料,独立思考问题的能力。二、要求:编写从A/D转换器的通道x获取模拟数据,并将转换后的数字量以波形的形式在LCD上显示的程序。三. 实验步骤:项目任务分析,分析实训内容,讲解ARM的中断系统相关知识,引导学生入门。学生具体分析实训题目,明确思路和任务,查询相关书籍、资料,了解ARM的异常类型并理解其响应过程,重点分析ARM的IRQ中断系统结构和中断处理过程。理解ARM异常向量表、IRQ中断向量表、中断向量表的结构和配置。编写IRQ中断分发程序。查阅相关资料,分析S3C2440定时器的工作原理和设置方法,编写定时器初始化函数,定时器中断初始化函数。编写端口初始化程序,编写定时器中断服务子程序。进入调试。继续调试并写出试验结果,写小结报告。四. 基本思路及关键问题的解决方法;基本思路:1. 按照步骤程序设计原理说明,使用”CodeWarrior for ARM Developer Suite”软件编写程序并进行编译,建立一个新的文件单击【File】菜单中的【New File】选项,然后出现下面的对话框,输入文件名(加上后缀“.c”),单击保存按钮,在编译过程中如果出现错误,修改程序直到没有错误为止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。程序编写完成后,将程序所在文件保存到2440test.mcp中,如图所示:2.用开发板测试程序代码:(1)首先设置开发板的拨动开关S2 为Nor Flash 启动,连接好附带的USB 线和电源(可以不必连接串口线)。(2)设置超级终端(3)开机进入BIOS 模式,此时开发板上的绿色LED1 会呈现闪烁状态,其启动界面,如下图:输入”d”(4)安装USB 下载驱动(5)点击DNW 程序的“USB Port”“Transmit”,选择这个2440test.mcp文件,接着点“打开”,这样就开始下载了五、流程图及电路原理图1.绘制所需的流程图:ADS7843与S3C2410的硬件连接如图1所示,图1 触摸屏输入系统示意图触摸屏驱动程序设计触摸屏驱动程序中重要数据结构typedefstruct {unsigned short pressure;unsigned short x;unsigned short y;unsigned short pad;} TS_RET;typedefstruct {unsignedintPenStatus;TS_RET buf[MAX_TS_BUF];unsignedint head, tail;wait_queue_head_twq;spinlock_t lock;} TS_DEV;staticstructfile_operations s3c2410_fops = {owner: THIS_MODULE,open: s3c2410_ts_open,read: s3c2410_ts_read, release: s3c2410_ts_release,poll: s3c2410_ts_poll, };本设计中触摸屏控制器ADS7843的中断输出通过外部中断5接在中断控制器上,当触摸屏上有触摸事件发生时,会引发中断号为IRQ_EINT5的中断服务程序s3c2410_isr_tc()。图3所示为该中断处理程序的流程图。图3 触摸屏硬件中断处理程序流程图在s3c2410_isr_tc()中设定了定时器的定时时间为50ms,并立即激活。因此有触摸屏硬件中断的情况下50ms后就会引发定时中断,中断服务程序为ts_timer_handler(),这个程序实现了触摸屏中断的下半部,即在过了抖动时间之后如果触摸屏确实有有效事件发生则采集触摸屏坐标,并将定时器的时间重新设为100ms并重新激活,这样做的目的是如果触摸笔是拖动的情况,以后每100ms采集一次坐标值,并存入缓冲区,如果不是拖动在采集一次坐标值之后,在第二次进入ts_timer_handler()时,查询管脚的状态值,则变为高电平,就将触摸屏状态tsdev.PenStatus设为PEN_UP,并释放定时器,为下次触摸屏事件做好准备,定时中断服务程序流程图如图4所示。图4 定时中断服务程序流程图在s3c2410_ts_init()中的另一个重要任务是执行接口函数s3c2410_ts_open(),在这个函数中初始化缓冲区的头尾指针、触摸屏状态变量及触摸屏事件等待队列。module_exit()该函数调用s3c2410_ts_exit(),主要任务是撤销驱动
您可能关注的文档
- 腺垂体功能减退症病人的护理教案.doc
- 膜分离技术在水处理中的应用及存在的问题.doc
- 自主创业的十步骤.doc
- 自动化基础试卷和答案.doc
- 自动控制技术-永磁同步电机控制系统的串行通信实现.docx
- 自来水厂设计方案.doc
- 膏体充填采煤技术发展及工艺分析.docx
- 自然辨证法在半导体研究中体现.doc
- 自己整理的互感器行业分析.docx
- 自由落体运动竖直上抛运动教案.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)