触摸屏驱动毕业论文.doc

上传人:来看看 文档编号:3965941 上传时间:2019-10-11 格式:DOC 页数:29 大小:1.89MB
返回 下载 相关 举报
触摸屏驱动毕业论文.doc_第1页
第1页 / 共29页
触摸屏驱动毕业论文.doc_第2页
第2页 / 共29页
触摸屏驱动毕业论文.doc_第3页
第3页 / 共29页
触摸屏驱动毕业论文.doc_第4页
第4页 / 共29页
触摸屏驱动毕业论文.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《触摸屏驱动毕业论文.doc》由会员分享,可在线阅读,更多相关《触摸屏驱动毕业论文.doc(29页珍藏版)》请在三一文库上搜索。

1、盐 城 师 范 学 院毕业设计 20122013学年度 基于S3C44B0X的触摸屏驱动程序的设计 学生姓名 谢云峰 学 院 物理科学与电子技术学院 专 业 电子信息工程 班 级 09(4)班 学 号 09223346 指导教师 施文娟 2013年 5 月 27 日 盐城师范学院毕业设计 基于S3C44B0X的触摸屏驱动程序的设计摘 要随着电子设备的不断智能化,传统的键盘、鼠标等人机交互方式已经无法满足人们的需求,人们想要更加方便准确的人机交互工具。而触摸屏通过手指触摸就能实现操作定位,大大简化了电子设备的输入方式,真正实现零距离操作,因此触摸屏得到了越来越广泛的应用。本文介绍了基于ARM7T

2、DMI内核的高性能微处理器S3C44B0X的基本功能,阐述了触摸屏的组成与基本工作原理,并在分析触摸屏嵌入式系统的基础上,针对触摸屏驱动控制程序的难点,提出了具体的解决方案,最终完成了基于微处理器S3C44B0X的触摸屏驱动控制程序的设计。【关键词】人机交互,S3C44B0X,触摸屏,嵌入式系统Driven design of touch screen based on S3C44B0XAbstractWith the intelligent electronic devices, Traditional keyboard, mouse and other human-computer int

3、eraction has been unable to meet peoples needs,People want to have more convenient and accurate human-computer interaction tool. And touch screen can be realized positioning operation by fingers touch,This greatly simplifying the input mode of the electronic equipment and realizing zero distance ope

4、ration, so the touch screen has been more and more widely used.This article describes the basic functions of high-performance microprocessor S3C44B0X based on the ARM7TDMI core, Describes the composition and the basic working principle of the touch screen.For the the drive control programs difficult

5、ies of touch screen,I proposed the specific solutions based on the analysis of the touch-screen embedded system .Finally,I completed the touch screens driver control program design based on S3C44B0X. Key words Human-Computer Interaction,S3C44B0X,Touch screen,Embedded system目 录引 言41 S3C44B0X芯片介绍41.1

6、S3C44B0X简介41.2 S3C44B0X的特性51.3 S3C44B0X引脚图与嵌入式结构图82 触摸屏原理102.1触摸屏简介102.1.1 电阻式触摸屏结构112.1.2 电阻式触摸屏相关技术112.2 触摸屏工作原理132.2.1触摸屏系统组成132.2.2 触摸屏控制器工作原理143 软件设计163.1驱动程序实现流程163.2中断处理程序173.3 触摸屏按键的坐标算法184 触摸屏驱动程序的测试194.1 测试准备194.2 运行结果19结束语21参考文献22致 谢23附 录24引 言 随着电子信息技术发展以及数字化设备的普及,基于嵌入式系统的各种产品得到越来越广泛地应用,功

7、能也越来越强大。在巨大市场需求的驱使下,人们对各类电子产品的人机交互界面也有了越来越高的要求。触摸屏正在逐渐取代键盘和鼠标,成为人们所使用的主要的输入设备。触摸屏作为一种最新的输入设备,它是目前最简单、方便、自然的一种人机交互方式,它赋予了多媒体以崭新的面貌,是极富吸引力的全新多媒体交互设备1。触摸屏在我国的应用范围非常广阔,主要是公共信息的查询,如电信局、税务局、银行、电力等部门的业务查询,城市街头的信息查询,此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等2。最近几年随着智能手机和平板的飞速发展,触摸屏最为其最重要的人机交互介质,正在以更快的速度走进我们

8、的生活。S3C44B0X微处理器是三星公司研发的基于ARM7TDMI核的高性能嵌入式处理器,由于其在拥有高性价比的同时内嵌了多种接口,因此在消费类电子和手持电子设备中了的应用越来越广泛。本文介绍了基于ARM7TDMI内核的高性能微处理器S3C44B0X的基本功能,阐述了触摸屏基本工作原理,并在分析触摸屏嵌入式系统的基础上,针对触摸屏驱动控制程序的难点,提出了具体的解决方案,最终完成了基于微处理器S3C44B0X的触摸屏驱动控制程序的设计。1 S3C44B0X芯片介绍1.1 S3C44B0X简介Samsung公司的S3C44B0X是国内应用广泛的基于ARM7TMDI内核的SoC。该芯片功能强大,

9、片上资源丰富,是Samsung公司为手持设备等应用提供的高性价比解决方案3。S3C44B0X采用0.25m CMOS的制作工艺,最大工作主频可达66MHz。三级流水线结构高达0.9MIPS MHz。CPU的核心电压为2.5V,I O口的电压为3.33.6V,内核带有8KB的缓存。由于采用了低电压技术,芯片运算速度很快,但功耗却很低。S3C44B0X还采用了一种新的总线结构,那就是SAMBA ( 三星ARM CPU 嵌入式总线结构)。同时,此芯片还内置了LCD 控制器,其带有LCD专用的DMA控制器,支持最大到256 色的双层超扭曲向列(DSTN)液晶屏。这是现在应用较多的一种点阵式液晶显示器件

10、,“超扭曲”顾名思义,即液晶屏中液晶分子的排列扭曲角很大,超过了90。S3C44B0X提供通用与全面的片上外设,大大减少了系统电路中除处理器以外的其他元器件配置,从而最小化了系统的成本4。 片上集成的主要功能如下:*2.5V ARM7TDMI 内核,带有8K缓存(SAMBA II总线体系结构,主频高达66MHZ);*外部存储器控制器(FP/EDO/SDRAM控制器,片选逻辑);*LCD控制器(最大支持256色DSTN),并带有1通道LCD专用DMA;*双通道通用DMA,2通道外设DMA 并具有外部请求引脚;*双通道UART带有握手协议(支持IRDA1.0,具有16-byte FIFO)/1通道

11、SIO;*单通道多主IIC-BUS控制器;*单通道IIS-BUS控制器;*5个PWM定时器和1个内部定时器;*看门狗定时器;*71个通用I/O口/8通道外部中断源;*功耗控制:具有正常,低速,空闲和停止模式;*8通道10位ADC;*具有日历功能的RTC;*带PLL的片上时钟发生器。1.2 S3C44B0X的特性1) 体系结构1 集成了通用嵌入式系统应用和手持电子设备的相关解决方案。2 拥有16/32位RISC体系结构和ARM7TDMI处理器内核强大的指令体系。3 集成了Thumb代码压缩机:在最大化代码密度的同时保持了32位指令的性能。4 基于JTAG的片上集成ICE调试支持解决方案。 5 集

12、成了328位硬件乘法器。 6 SAMBAII是一种新型低功耗的总线结构。 2) 系统(存储)管理器 1 支持大端或小端模式。 2 寻址空间:每个地址空间为32M字节(共有256M字节)。 3 所有地址空间可以使用编程将其设置为8位、16位或32位宽的数据对齐访问。 4 拥有7个固定的起始地址及大小可编程的地址空间。5 拥有8个地址空间。 6 所有的存储器空间的操作周期都可以编程。 7 支持外部等待信号延长总线周期。 8 掉电时DRAM/SDRAM能启动自刷新模式。 9 支持地址对称或抵制非对称的DRAM。 3) Cache存储器和片内SRAM 1 一体化的8K字节缓存。 2 未用的缓存空间用来

13、作为0/4/8K字节的SRAM存储空间。 3 支持LRU替换算法。 4 采用“写穿式”策略来保持主存储器与缓存的内容一致性。 5 写存储器具有4级深度。6 当缓存未命中时,采用“请求数据优先填充”的技术。 4) 时钟和电源管理1 片上PLL使MCU工作时最大达到75MHz。 2 可以通过软件来设置各个功能模块的输入时钟。 3 电源模式:正常、慢速、空闲和停止模式。 4 正常模式:正常工作模式。 5 慢速模式:不加PLL的低时钟频率模式。 6 空闲模式:只停止CPU的时钟。 7 停止模式:停止所有的时钟。 8 通过EINT7:0或RTC报警中断从停止模式唤醒。 5) 中断控制器 1 30个中断源

14、(看门狗定时器、6个定时器、6个UART、8个外部中断、4个DMA、2个RTC、1个ADC、1个IIC、1个SIO)。 2 采用向量化的IRQ中断模式来减少中断的延迟。 3 外部中断通过可选的电平/边沿模式来触发。 4 电平/边沿模式优先可编程。 5 紧急的中断请求通过FIQ为进行服务。 6) 定时器和PWM(脉宽调制) 1 PWM功能的定时器为5通道16位,内部定时器为1通道16位(可进行基于DMA或中断的操作)。 2 可编程的占空比周期、频率和优先级。 3 支持外部中断源。 4 能产生死区。 7) RTC(实时时钟) 1 充分的时钟特性:毫秒、秒、分钟、小时、日、星期、月、年。 2 32.

15、768kHz时钟。 3 定时警报,可用于唤醒CPU。 4 可产生时钟节拍中断。 8) 通用I/O口 1 8个外部中断口。2 71个多功能输入/输出口。 9) UART(异步串行通信) 1 双通道通用UART,可进行基于DMA或中断的操作。 2 支持5位、6位、7位或8位串行数据的传输或接收。 3 可编程的波特率。 4 支持IrDA1.0(115.2Kbps)。 5 测试时采用回馈模式。 6 每个通道都通过两个内部为32字节的FIFO来用于输入和输出。 10) DMA(直接存储器操作)控制器 1 双通道通用的DMA控制器。 2 双通道的桥式DMA(外设DMA)控制器。3 支持I/O到存储器,存储

16、器到I/O,I/O到I/O的DMA请求。 4 同时发生的多个DMA的优先级顺序可编程。 5 采用猝发式的传输模式以提高FPDRAM、EDODRAM和SDRAM的数据传输速率。 11) A/D转换器 1 8通道的ADC。 2 10-bit的带宽。 12) LCD控制器 1 支持彩色/黑白/灰度LCD屏。 2 支持单路和双路扫描显示。3 支持虚拟显示屏功能。 4 系统存储器被用来作为显示的缓存。 5 用专门的DMA从系统存储器中获得图像数据。6 灰度等级:16级。7 彩色模式:256色。13) 看门狗定时器 1 16位的看门狗定时器。2 在定时器溢出时会发出中断请求或系统复位。14) I2C总线接

17、口1 1个多主的基于中断操作的I2C总线。2 8位双向串行数据传送器,标准模式速度达到100Kb/S,快速模式达到400Kb/S。15) I2S总线接口1 1路基于DMA操作的音频I2S总线接口。 2 每通道8/16位串行数据传输。 16) SIO(同步串行I/O) 1 1路基于DMA或基于中断的SIO。 2 可编程的波特率。3 支持8位串行数据的传输和接收操作。17) 操作电压的范围1 内核为2.5V,I/O口为3.0V3.6V。 18) 运行频率与封装1 最高达66MHz。 2 160LQFP/160FBGA。1.3 S3C44B0X引脚图与嵌入式结构图如图1-1所示,S3C44BOX拥有

18、71个多功能IO口,其分为7组;每组端口都可以满足不同的系统和设计需要,但在运行程序前必须先对每一个用到的引脚功能进行设置,如果有些引脚的复用功能没有被使用到,就可以将该引脚设置成IO口5。S3C44B0X图1-1 S3C44B0X微处理器引脚图LCD显示基于ARM架构的32位微处理器SamsungS3C44B0X1MB线性Flash(BIOS)SMBSDRM(系统内存)16MB非线性Flash(硬盘)USB接口USBN9603两个RS-232串行通信接口JTAG调试端口键盘输入TCP/IP协议CAN BUSS3C44B0X微处理器的嵌入式结构图如图1-2所示。图1-2 基于S3C44B0X嵌

19、入式结构 2 触摸屏原理2.1触摸屏简介触摸屏是一种附加在显示器表面的透明介质,通过使用者的手指触摸该介质来实现对计算机的操作定位,最终实现对计算机的查询和输入,从而大大简化了计算机的输入方式,真正实现零距离操作6。触摸屏由触摸检测部件和触摸屏控制器组成,触摸检测部件主要完成检测用户触摸位置并传送给触摸屏控制器的功能,而触摸屏控制器则完成触摸信息的转换以及接收处理器的控制命令并执行的功能7。当用户触摸显示器上的内容时,实际上却是触摸到了触摸屏控制器。它能将触摸点转换成触摸点坐标,再将触摸点坐标传送给微处理器。微处理器在接收到触摸信息后就能作出相应的画面更新动作。显示器则用于显示用户数据和画面等

20、。触摸屏检测部件简称为触摸屏,按其工作原理我们可以把它们分为:电容感应式、表面声波式、电阻式和红外线式等几种。它们的特性比较表见表2-1所示。表2-1 触摸屏特性比较表类别特性红外线式触摸屏电阻式触摸屏表面声波触摸屏电容式触摸屏清晰度一般较好很好较差透光率100%75%92%85%分辨率40*324096*40964096*40961024*1024响应速度50300ms10ms10ms1524ms防刮擦好一般非常好一般漂移无无无有防尘不能挡住透光部不怕不怕不怕寿命红外管寿命大于3500万次大于5000万次大于2000万次价格低中高中由此可以看出电阻式触摸屏比较便宜的价格,良好的的定位精度和稳

21、定性已经能够满足普通的使用要求,所以本设计使用的触摸屏为电阻式。2.1.1 电阻式触摸屏结构如图2-1所示,电阻式触摸屏的屏体是一块与显示器表面非常贴合的多层复合薄膜,它的基层是一层玻璃或有机玻璃,表面与内表面都涂了一层透明的导电层,上面再盖一层经过了硬化处理和光滑防刮的塑料层,为了绝缘,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开8。图2-1 电阻式触摸屏结构图如图2-1所示,当你的手指或笔触摸屏幕时,平常相互绝缘的两层导电层就会在触摸点的位置有一个接触,因为其中有一面导电层(顶层)接通了X轴方向的5V均匀电压场,使得检测层(底层)的电压从零变为非零,当控制器侦测到这

22、个接通后,就会进行A/D转换,并将得到的电压值与5V作对比即可得触摸点的X轴从坐标(原点在在靠近接地点的那端)9:Xi=Lx*Vi/V(即分压原理)同理得出Y 轴的从坐标,这就是所有电阻技术触摸屏共同的最基本原理。2.1.2 电阻式触摸屏相关技术电阻式触摸屏的主要部分是一块与显示器表面非常贴合的多层的复合薄膜,它的基层是一层玻璃或有机玻璃,表面上涂有一层透明导电层,上面再盖一层塑料层,并将其进行硬化与光滑防刮处理,同时它的内表面也涂有一层导电层(ITO或镍金)。电阻式触摸屏两层的导电层必须要保持它的完整性,在每个工作面的两条边线上都要涂一条银胶,一端加上5V电压,一端加上0V电压,这样就能形成

23、均匀连续的平行电压分布在工作面的一个方向上。在侦测到有触摸时,立刻对接触点的模拟量电压值进行A/D转换测量,根据5V电压下的等比公式就可以计算出触摸点在这个方向上的位置。透明的导电涂层材料有两种:1) ITO,氧化铟,是一种弱导电体,特性是当厚度降到1800个埃(埃=10米)以下时就会突然变得透明,透光率达到80%,但再薄下去后它的透光率反而会变低,当到300埃厚度时又会上升到80%。但遗憾的是ITO在这个厚度下韧性非常差,很容易产生断裂。ITO是一种所有电阻式触摸屏及电容式触摸屏都会用到的主要透明导电材料,实际上电阻式触摸屏及电容式触摸屏的工作面就是ITO涂层。2) 镍金涂层,拥有极好的延展

24、性,因此镍金涂层材料被作为五线电阻式触摸屏的外导电层,外导电层由于会被频繁触摸,镍金材料良好的延展性的能够有效地延长其使用寿命,但是它的成本比较贵,因此只适合作为触摸屏的透明导体,不适合作为触摸屏的工作面。因为镍金涂层的导电性太好了,所以不能对电阻进行精密的测量,而且金属的厚度很难做到非常均匀。四线电阻式触摸屏的基层大多使用的是有机玻璃,它不仅透光率低、易风化和老化,因为有机玻璃的刚性差,所以在安装时存在一定的风险,而且安装时还不能捏边上的银胶,以免薄薄的ITO和相对厚实的银胶之间会产生脱落破裂,拉或压触摸屏时不可以用力,以免会拉断ITO层。这就是有些四线电阻触摸屏安装后显得不太平整的原因。I

25、TO是一种无机物,有机玻璃是有机物,有机物和无机物无法良好地结合,只要时间一长就容易剥落。如果能够生产出曲面的玻璃板,玻璃是一种无机物,就能和ITO结合的非常好成为导电玻璃,这样电阻触摸屏的寿命就能够得到大大的延长。不管是四线还是五线电阻触摸屏,它们的工作环境都与外界完全隔离,不管是灰尘、水汽还是油污都不怕,你能够使用任何物体触摸它,它能够用来写字画画,比较适合办公室与工业控制领域的人的使用。但电阻触摸屏有一个共同的缺点,那就是不知道的人如果太用力或使用锐器触摸可能会划伤整个触摸屏从而导致报废。不过,在限度之内,划伤只会伤到外导电层,外导电层的划伤对于五线电阻式触摸屏来说并不会产生影响,但对四

26、线电阻触摸屏来说却是致命的。2.2 触摸屏工作原理2.2.1触摸屏系统组成触摸屏系统的组成如图2-2所示,他由S3C44B0X微处理器作为整个系统的控制、数据处理中心。利用ADS7843进行触摸屏信号转换和液晶屏背光对比度控制电路连接处理器,A/D部分负责将模拟量转换为数字量供给处理器单元,由其进行判断、处理和显示,DI/DO部分负责将各种信号报警量采集进来,提供给处理器单元进行判断处理,并且输出控制信号去控制相应的设备动作,扩展串口部分提供了两个扩展的RS-232/RS-485串行接口,可以使用此接口与现场的其他设备交换数据,也可利用现场总线接口进行通信,例如采用Modbus、Devicen

27、et协议通信,显示部分为一个触摸液晶显示屏,除了提供显示功能以外,他还作为输入设备,可替代常规键盘10。液晶屏LCD触摸屏ADS7843背光对比度控制微处理器S3C44B0X现场现场总线接口A/D转换接口DI/DO接口RS-232/RS接口图2-2 触摸屏系统的组成2.2.2 触摸屏控制器工作原理现今被使用的触摸屏控制器有多种,其主要功能均是在微处理器的控制下对触摸屏的两个方向分时施加电压,并将相应的电压信号传送给自身的A/D转换器,在微处理SPI口提供的同步时钟作用下将数字信号读入微处理器。本系统中选用 BB(Burr-Brown)公司生产的触摸屏接口专用芯片ADS7843。ADS7843是

28、一种串行接口芯片,其中内置了l2位A/D转换和低导通电阻模拟开关的。供电电压为2.75.0 V,参考电压为1 V+Vcc,转换电压的输入范围为0Vref,最高转换速率为125 kHz。在125kHz 吞吐速率和2.7V电压下的功耗为750W,而在关闭模式下的功耗仅为0.5W。由于具有低功耗和高速等特性,所以被广泛应用,ADS7843之所以能实现对触摸屏的控制,是因为其内部结构实现了电极电压的切换,并能进行快速A/D转换11。SA2A1A0Modeser/derPD1PD0图2-3 ADS7843 控制字ADS7843的控制字如图2-3所示,其中s为数据传输起始标志位,该位必须为1。A2A0为通

29、道选择位。MODE用来选择A/D转换的精度:“1”选择 8 位,“0”选择 l2 位。SER/DFR用于选择参考电压的输入模式。PD1和PD0选择省电模式:“00”为省电模式允许,在两次A/D转换之间掉电,且中断允许;“01”与“00”相同,只是不允许中断;“10”为保留;“11”禁止省电模式。为了完成一次电极电压切换和A/D 转换,需要先经过串口往ADS7843发送控制字,转换完成后再通过串口读出电压转换值。标准的一次换需要24个时钟周期,由于串口支持双向同时进行传送,并且在一次读数与下一次发送控制字之间可以重叠,所以转换速率可以提高到每次16个时钟周期12。ADS7843的控制流程如图2-

30、4所示。按触摸屏PENIRQ置为低电平向S3C44B0X发送中断请求S3C44B0X响应中断,将CS置低向ADS7843串行送人测量控制字调ADS7843测量程序测量坐标串行读出坐标值,将CS置高返回图2-4 ADS7843 控制流程图3 软件设计3.1驱动程序实现流程开始触摸屏的初始化内核线程判断是否有触摸动作?读取X/Y的电压值放入相应的数据结构内核线程判断是否还有触摸动作?读取触摸结束时X/Y的电压值放入相应的数据结构其他处理NYYN本设计是通过THUS-1型嵌入式(ARM)实验/开发系统来完成的。驱动控制电路软件设计中最为关键的就是根据ADS7843芯片内部原理及时序关系控制其实现对X

31、Y坐标的采集,同时将信息通过RS232串行通信发送到计算机上13。触摸屏驱动程序实现流程如图3-1所示。图3-1 触摸屏驱动程序实现流程3.2中断处理程序触摸屏的驱动核心是中断处理程序,响应中断并提供相应服务的程序称为中断处理程序。在触摸屏驱动中,中断服务程序的主要功能就是加载定时器处理程序和指定执行程序的时间点14。定时器处理程序的主要任务为通过ADS7843的X+,X-,Y+,Y-端子分别读取触摸屏X轴和Y轴的A/D转换坐标值,并对其进行判断,获得真实结构,达到对触点定位的目的。定时器处理程序流程如图3-2所示。开始设置GPIOx(x=1,2,.,6)寄存器有中断配置GPIOx(x=1,2

32、,.,6)寄存器送接收X坐标A/D转换值的命令字接收X坐标A/D转换值送接收Y坐标A/D转换值的命令字接收Y坐标A/D转换值结果一样对A/D转换值做处理返回NYYN图3-2 定时器处理程序流程3.3 触摸屏按键的坐标算法ADS7843的转换精度有8位和12位两种,可以精确到X或Y方向上的1/256和1/4096。触摸屏的坐标如图3-3所示。其中,(X,Y)是按键的中心坐标,(X,Y)是按键右下角坐标,(X”,Y”)是其左上角的坐标。在触及屏幕时,触点只要在(X,Y)和(X”,Y”)矩形区域内均认为是触摸该按键有效15。XY(X”,Y”)(X,Y)(X,Y)图3-3 触摸屏的坐标实际采用固定参考

33、电压模式,SER/DFR= 1。程序首先检测PENIRQ是否为低电平,只有当触摸屏有接触时此位才会为低电平。利用软件模拟DIN,DOUT和DCLK上的三线串行传输时序,将读取X或Y坐标值的控制字串行送入 ADS7843,然后再串行读出坐标值。其中,Test-Touch()函数发送控制字并读取结果,程序流程图如图3-4 所示。开始DCLK置低判断并传送8位控制字等待一个时钟后开始接收数据顺序取得DIN上的前11位坐标数据(高位在前)DCLK置高,接收最后1位数据等待半个时钟周期,DCLK清零返回接收结果图3-4 读取坐标流程图4 触摸屏驱动程序的测试4.1 测试准备1) 用并口线正确连接电脑并口

34、和配套仿真器,用14针(或20针)的排线连接仿真器和实验箱的JTAG口;用串口线连接实验箱上的串口1单元与计算机的COM1(或COM2)。2) 在PC机上运行windows 自带的串口通信程序“超级终端”(波特率为57600、8位数据位、无奇偶校验位、1位停止位、无数据流控制)。3) 打开系统电源,运行仿真器驱动程序,使用ARM STD2.51集成开发环境打开程序,下载并运行。4) 在PC上观察“超级终端”主窗口显示。4.2 运行结果1) 程序运行时,如图4-1所示。图4-1 触摸屏运行图2) 当触摸某一个数字时,超级终端接收到坐标,得到反馈结果,如图4-2所示。图4-3反馈结果结束语在嵌入式

35、智能设备中,触摸屏正在逐渐取代传统的鼠标、键盘等设备,成为最主要的人机交互输入设备,本文完成了基于S3C44B0X的触摸屏的驱动控制。并实验证明的程序的稳定可靠,达到了预期的效果。本文为人机交互中的触摸屏驱动控制提供了一种实用解决方案,可应用于其他的嵌入式系统中。参考文献1 赖诚.触摸屏原理及在单片机系统的应用J. 商场现代化,2006,471.2 李力,黎敏等.一种基于MIS 的触摸屏汉字输入方法的设计J.微机算机与 信息,2006.23:91-98.3 田泽.嵌入式系统开发与应用教程M.北京:北京航空航天大学出版社, 2010.4 Samsung Electronics Users Man

36、ual S3C44B0X 32BitRISC Microprocessor Z. 2003.5 李岩,荣盘祥. 基于S3C44B0X嵌入式CLinux系统原理及应用M.北京: 清华大学出版社,2005.6 韩兵.触摸屏技术及应用M.北京:化学工业出版社,2008.7赵昌永,王勇,陈抗生一种基于嵌入式Linux 的视频采集系统J仪 器仪表学报,2005,26(8):53558 陈赜.ARM嵌入式实践教程M.北京:北京航空航天大学出版社,2005.9 皮大能单片机课程设计指导书M北京:北京理工大学出版社,2010.10 王田苗.嵌入式系统设计与实例开发M.北京:清华大学出版社,2003.11 AD

37、S7843 touch screen controllerS.Burr-Brown Corporation,1998.12 张茹,孙松林,于晓刚.嵌入式系统技术基础M.北京:北京邮电大学出版 社,2005.13 于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程M.北京:电子 工业出版社,2006.14 于明,曾祥烨.ARM9嵌入式系统设计与开发教程M.北京:电子工业大学 出版社,2006.4.15 张绮文,谢建雄,谢劲心.ARM嵌入式常用模块与综合系统设计实例精讲M. 北京:电子工业出版社,2007.1.致 谢在论文完成之际,我首先向关心帮助和指导我的指导老师施文娟表示衷心的感谢并致以崇

38、高的敬意! 在学校的学习生活即将结束,回顾四年来的学习经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!在论文工作中,遇到了许许多多这样那样的问题,有的是专业上的问题,有的是论文格式上的问题,一直得到施文娟老师的亲切关怀和悉心指导,使我的论文可以又快又好的完成,施文娟老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘我的施文娟老师对我的亲切关怀和悉心指导,再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向施文娟老师致以最崇高的谢意! 最后,衷心地

39、感谢在百忙之中评阅论文和参加答辩的各位专家、教授!附 录触摸屏驱动部分源程序:主程序:#include 44b.h#include 44blib.h#include def.h#includeLcdlib.h#includeLCDTest.h#include glib.h#include touch.hvoid AutoTest(void);void Isr_Init(void);void HaltUndef(void);void HaltSwi(void);void HaltPabort(void);void HaltDabort(void);#define M5D(n) (n) & 0x1

40、fffff)#define ARRAY_SIZE_COLOR (SCR_XSIZE/1*SCR_YSIZE)#define HOZVAL(LCD_XSIZE/4-1)#define HOZVAL_COLOR(LCD_XSIZE*3/8-1)#define LINEVAL(LCD_YSIZE-1)#define MVAL(13)#define CLKVAL_MONO (13) /60Mhz, CLKVAL=19 -78.6Hz#define CLKVAL_G4 (9) /40Mhz, CLKVAL=9 -110Hz#define CLKVAL_G16 (10) /40Mhz, CLKVAL=10

41、 -101Hz / 9 -112Hz#define CLKVAL_COLOR (10) /60Mhz void LcdInit(int color);unsigned int (*frameBuffer256)SCR_XSIZE/4;#define MVAL_USED 0void Lcd_Init(int depth) if(U32)frameBuffer256=0) /The total frame memory should be inside 4MB. /For example, if total memory is 8MB, the frame memory /should be in

42、 0xc0000000xc3fffff or c400000c7fffff. /But, the following code doesnt meet this condition(4MB) /if the code size & location is changed. frameBuffer256=(unsigned int (*)SCR_XSIZE/4)malloc(ARRAY_SIZE_COLOR); rLCDCON1=(0)|(25)|(MVAL_USED7)|(0x38)|(0x310)|(CLKVAL_COLOR12); / disable,8B_SNGL_SCAN,WDLY=8

43、clk,WLH=8clk,rLCDCON2=(LINEVAL)|(HOZVAL_COLOR10)|(1021); /LINEBLANK=10 (without any calculation) rLCDSADDR1= (0x322)1); / 256-color, LCDBANK, LCDBASEUrLCDSADDR2= M5D(U32)frameBuffer256+(SCR_XSIZE*LCD_YSIZE)1) | (MVAL21);rLCDSADDR3= (LCD_XSIZE/2) | ( (SCR_XSIZE-LCD_XSIZE)/2)9 );/The following value has to be changed for better display.rREDLUT =0xfdb96420;rGREENLUT=0xfdb96420;rBLUELUT =0xfb40;rDITHMODE=0x0;rDP1_2 =0xa5a5; rDP4_7 =0xba5da65;rDP3_5 =0xa5a5f;rDP2_3 =0xd6b;rDP5_7 =0xeb7b5ed;rDP3_4 =0x7dbe;rDP4_5 =0x7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1