基于ARM触摸屏的实现
基于ARM7支持触摸屏和实时操作系统的开发与应用
b 钩 子 函 数 : C/ ) OS I 为 了 —I
用 户 在 系 统 函 数 中 书 写 自 己 的
代 码 而 预 置 了 一 些 钩 子 函数 ( 如 OS i T cHo k ,这 些 函 数 在 移 植 Tme ik o ) 时 可 全 为 空 函 数 ,可 根 据 用 户 的 需 要
De i n I e s sg d a
责 任 编 辑 :韩 汝 水
基 于 ARM 7 持 触 摸 屏 和 实 时操 作 系 统 的 支 开 发 与应 用
De el v opmen d Appl at ou h n c e d R O S B ed on ARM 7 t an i i of c on T c i g S r en an T as
一
下 ,并 且 必 须 是 满 递 减 堆 栈 ,所 以 在
文 件 中 用 来 定 义 堆 栈 增 长 方 式 的 常 量
OS S K G O T 的 值 为 l T R W H : c 1需 对 外 部 函 数 声 明 : 如 在 “ OS I . 文 件 中 , 有 些 耍 C/ .Ih头 移 植 的 函 数 已 经 声 明 ,包 括 :
先 根据处理 器的结 构和特点确 定任务
的堆栈结构 :
步 增 强 了 AR 控 制 系 统 的 性 能 。 M
另 外 ,新 版 本 的  ̄ / — 已 经 通 过 了 L 0S一 嵌 入 式 操 作 系 统 的 移 植 c osI I L C, ¨
F A认 证 ,很 适 合 应 用 于 对 实 时 性 要 A
一
OS ak tli ) T sSknt 、OSnC xw(od 、 ( It tS vi) OStr g R yv i) Sat h d (od 。 Hi
【ARM芯片控制LED显示屏
ARM芯片控制LED显示屏基于ARM的LED显示屏的控制系统的设计与实现摘要近年来,LED(light emiting diode,发光二极管)显示屏作为一种高科技产品日益引起人们的重视。
它可以实时显示或循环播放文字、图形和图像信息,具有显示方式丰富、观赏性强、显示内容修改方便、亮度高、显示稳定且寿命长等多种优点,被广泛应用于商业广告、体育比赛、交通信息报导等诸多领域.LED显示屏的核心技术主要集中在控制器中。
目前,大部分异步显示屏采用的是8位或16位的微控制器,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下得到良好的动态视觉效果。
针对以上情况,本文研究开发了一种全新的,由32位高性能ARM微处理器组成的LED显示屏控制系统,就控制平台、硬件结构和软件开发实现给出了驱动部分和控制部分的详细分析与设计。
关键词:LED显示屏,控制系统,ARM,LPC2294芯片,串口通信,RS232接口The LED display control system design and implementationbased on ARMAbstractLED panel systems gains rapid development in the design,machine and application from nineties ages.It went thorugh from single color and two colors to image LED panel.As a high technology production,LED panel can realize real time and sequential displaying textuer,graghic and images. LED panel has many special feature such as high reliability, long life,high performance, low cost, and more important high acclimatization. Moreover, with the technique of color panel perfect increasingly,LED panel is widely used in many fields. The coer techniqe for a LED panel is mainly centralized on its contorller.At present,the majority of asynchronous display panel use the 8 or the 16 micro-controllers,because the processing speed, the system construction, the addressing scope, the periphery connection resources and so on many limits, in request demonstration many picture elements, the demonstration content frame frequency has been with dificulty high, in the dynamic demonstration efect complex situation, obtains the good dynamic visual efect.In view of above situation,This paper redesign and developed one kind new display system.It is composed by 32 high performance ARM microprocessor.The control platform,hardware structuer and softwaerimplementation of the LED panel controller are analyzed and designedKey Words:LED panel systems,control system, ARM, LPC2294micro-controllers, serial communication, RS232 serial interface目录1.绪论 (1)1.1LED显示屏的研究现状及发展趋势 (1)1.2 LED显示屏控制系统的研究现状与发展趋势 (3)1.2.1 基于单片机的LED显示屏控制系统 (3)1.2.2 基于SOPC的LED显示屏控制系统 (4)1.3本课题的研究背景及意义 (5)1.4本论文的主要内容 (6)2 LED显示系统的基本原理 (7)2.1LED显示屏 (7)2.1.1 LED显示屏的显示原理 (7)2.1.2 LED显示屏的驱动原理 (7)2.1.3 LED显示屏的优点 (8)2.2基于ARM的控制板 (9)2.3串口通信协议 (11)3.基于ARM的LED显示屏控制系统的总体设计 (13)3.1整体思路 (13)3.2芯片选型: (14)3.2.1 ARM控制模块 (14)3.2.2 串口通信模块 (15)3.2.3 LED显示模块 (17)3.2.4 电源模块 (18)3.2.5 时钟模块 (19)3.3原理简介 (20)4.系统硬件设计 (21)4.1电源模块的设计 (21)4.2ARM控制模块的设计 (23)4.3串口通信模块的设计 (26)4.4LED显示模块 (27)5 系统的软件设计 (28)5.1ARM ADS集成开发环境的介绍 (28)5.2软件的控制流程分析 (30)5.2.1握手信号的流程与通信数据帧格式 (30)5.2.2 通信实例分析 (32)5.3ARM主程序的设计 (33)5.3.1 主程序的简要分析 (33)5.3.2 主程序流程图 (33)5.4中断子程序的设计 (34)5.4.1 中断子程序的简要分析 (34)5.4.2 中断子程序流程 (35)5.5LED控制器的工作流程 (37)结论 (38)致谢 (39)参考文献 (40)附录A (42)1.绪论1.1 LED显示屏的研究现状及发展趋势进入新世纪LED 显示屏的技术和产业都取得了长足的发展,作为重要的现代信息发布媒体之一LED显示屏在证券交易、金融、交通、体育、广告等领域被广泛地应用。
单片机与触摸屏的接口技术及实现方法
单片机与触摸屏的接口技术及实现方法一、引言随着科技的不断发展,触摸屏已经成为现代电子设备中不可或缺的一部分。
触摸屏使用起来方便,操作灵活,广泛应用于智能手机、平板电脑、工业控制、医疗设备等领域。
而单片机作为嵌入式系统中的重要组成部分,负责接收、处理和控制各种外设设备,与触摸屏的接口技术及实现方法是我们需要关注和深入了解的内容。
二、单片机与触摸屏的接口技术1. 串行接口串行接口是常见的单片机与触摸屏的连接方式。
其中,常用的有SPI(串行外设接口)、I2C(串行外设接口)等。
串行接口具有简单、灵活、适用于长距离传输的特点。
2. 并行接口并行接口是单片机与触摸屏之间的另一种常用的连接方式。
并行接口通过多根线传输数据,使得数据传输速度更快,但是需要占用更多的引脚和硬件资源。
3. USB接口USB接口(通用串行总线接口)是一种高速、热插拔的接口方式。
通过USB接口连接单片机和触摸屏,可以快速传输数据,适用于需要高速数据传输的场合。
三、单片机与触摸屏的实现方法1. 软件实现在软件实现中,我们可以使用单片机的GPIO(通用输入输出)端口将触摸屏的接口引脚与单片机相连。
通过程序编写,实现单片机对触摸屏的控制和数据读取。
2. 硬件实现硬件实现包括通过外部电路芯片来实现单片机与触摸屏的连接。
常见的外部电路芯片有ADS7843、ADS7846等。
这些芯片可以通过SPI接口或I2C接口与单片机进行通信,实现对触摸屏的控制和数据读取。
四、单片机与触摸屏的典型应用1. 智能手机智能手机是单片机与触摸屏技术最广泛应用的领域之一。
通过单片机与触摸屏的接口技术,实现对手机触摸屏的控制和数据读取,使得用户可以通过触摸屏方便地进行操作和控制。
2. 平板电脑平板电脑是另一个需要单片机与触摸屏技术配合的领域。
通过单片机与触摸屏的接口技术,实现对平板电脑触摸屏的控制和数据读取,使得用户可以通过平板电脑触摸屏进行多点触控操作。
3. 工业控制单片机与触摸屏的结合在工业控制领域也得到了广泛应用。
基于ARM的触摸屏驱动设计
采 用外 部晶 体管 接 触摸 屏, 中 断到 来 以后 中 断服 务 程序 立 即屏 蔽 掉中 断 , 使中 断 不能 再 次进 入.由于 触 摸 屏在 一 段时 间 内被 连 续按 下, 所以 还 需要 设 置一 个
触摸屏
� 触摸 屏根 据所 用介 质及 工作 原理 可分为 表面 声波 式 电容 式 红 外线 式和 电阻 式四 种.
� � � 1 表面 声波 触 摸屏 : 其边 角有 轴 声 波发 射器 和接 收 器,表 面有 � � 屏 幕被 触摸 时,声 波从 触摸 点 开始 的部 分被 吸 收,控 制器 根 据到 达
和 红外 接收 管,一 一对 应形 成 横竖 交叉 的 红外 线 矩阵 . 当 有触 摸 时,手 指或 其 他物 体 就会 挡 住经 过 该处 的 横
4 电 阻式 触 摸屏 : 一 个多 层 的复 合 膜,由 一层 玻 璃或 有 机玻 璃 作为 基 层,表 面 涂 有 一层 透 明 的导 电 层,
上 面再 盖 有一 层 塑料 层. 它的 内 表面 也 涂有 一 层透 明 的导 电 层,在 两层 导 电 层之 问 有 许多 细 小 的透 明 隔 离 � 点 把它 们绝 缘隔 开. 工 业中 常 用 I TO I T O ,氧 化锡 导 电层 . 当手 指 触摸 屏 幕时 ,平常 绝 缘的 两 层 导 电层 � 在触 摸 点位 � 置 就有 了 一个 接 触,控 制器 检 测到 这 个接 通 后,其 中 一面 电 层接 通 轴 方向 的 5 电� 场,另 一导 电 层将 接 触 点的 电 压引 至 控制 电 路进 行 A/D 转 换,得 到电 压 值后 与 5 均匀
硬件结构
系 统的 硬 件结 构 如图 1 所示 .A 7连 接 触摸 屏 的 X P 引脚 , 而 A 5 连 接触 摸 屏 的 YP 引脚 , 要 控 制触 摸 屏
基于ARM的LCD触摸屏系统设计策
基于ARM的LCD触摸屏系统设计策
随着嵌入式系统技术的飞速发展,工业设备产品也越来越现代化,普遍要求可视化操作。
LCD触摸屏低耗能.散热小,成本低,纤薄轻巧,外形尺寸小,安装容易。
使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低产品的成本。
而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本瓶且延长了产品的上市周期。
本文设计的基于
S3C44BOX的人机交互界面是一种可定制、简单易用、性能优良的通用型人机交互界面,能很好地解决上述问题。
1 系统结构
系统主要包括三个部分,分别为PC机、S3C4480X微处理器和LCD 触摸屏模块。
系统结构框图如图1所示。
基于ARM处理器的TSC2046触摸屏控制器的应用
基于ARM处理器的TSC2046触摸屏控制器的应用作者:吴青萍沈凯来源:《现代电子技术》2011年第23期摘要:触摸屏技术经过十几年的发展已经成为一种方便、经济的人机界面输入手段。
TSC2046是四线电阻式触摸屏控制器,其核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器。
以飞利浦公司的ARM芯片为基础,通过TSC2046触摸屏控制器和四线电阻式触摸屏构成硬件基础,在此基础上,开发了触摸屏面板控制程序。
该触摸屏已应用于实际项目中,触摸效果良好。
关键词:TSC2046; 触摸屏; LPC2132芯片; 控制器中图分类号:文献标识码:A文章编号:Application of TSC2046 Touch Screen Controller Based on ARM Processor, SHEN Kai(School of Electronic and Electrical Engineering, Changzhou College of Information Technology, Changzhou 213164, China)Abstract: After a decade of development, touch screen technology has become a convenientouch screen controller, whose core is a 12 b successive approximation A / D converter with sample and hold function. In this paper, through the Philips ARM chip, TS2046 touch screen controller andbase, in this basis, a touch screen panel control procedures was developed. The touch screen with good effect has been applied to actual projects.Keywords: TSC2046; touch screen; LPC2132 chip; controller收稿日期:引言随着信息技术的不断发展,嵌入式系统正在越来越广泛地应用到消费类电子、通信设备等便携式电子类产品中。
ARM嵌入式系统中触摸屏的中断控制方法
2 2 中 断 与 中 断 服 务 程序 .
中 断 的硬 件 逻辑 将 检 测 到 的 中 断 , 以某 种 方 式 指 向 中 断 服 务 程 序 的 地 址 , 地 址 在 头 文 件 中以 宏 定 义 的 形 式 出 该 现 。用 户 在 自己 的程 序 中 , 中断 服 务 程 序 的 地址 赋 给 该 将 指 针 , 而将 中 断 与 中 断 服 务 程 序联 系起 来 。 从 为 了方 便 使 用 高 级 语 言 编 写 异 常 处 理 函数 , ARM
常处理机制 。
备 越来 越 多 , 而外 围设 备 与处 理 器 之 间 多采 用 中 断 方 式 进
行通信 , 即使 在 没有 操 作 系统 的 情 况 下 , 常 需 要 对 多 个 也 外 围设 备 的 中断 处 理 例 程 进 行 动 态 加 载 , 而实 现 对 多个 从
外 围 设 备 的 集 中 动 态 管 理 。 同 时 , 断 功 能 可 以 解 决 中
译 器 对 异 常处 理 函数 作 了 特 定 的 扩 展 , 要 使 用 关 键 字 只
一
¥ C 4 0 触 摸屏 的 外 接 电 路 主 要 是 控 制 上 下 两 层 3 21A 导电层 的通 断 情 况 以及 取 电压 , 电压 之 后 还 需 要 将 这 个 取 模 拟 量 转 换 成 数 字 量 , 部 分 _ 作 主 要 是 靠 ¥ C2 1 A 芯 这 T 3 40
复 的需 要 。
2 A M 嵌 入 式 操 作 系统 中断处 理 方 法 R
I NTP ND( tru tp n igrgse) 中断 挂 起 寄存 器 ; i er p e dn e i r , n t
基于ARM处理器的显示屏控制器的设计
基于ARM处理器的显示屏控制器的设计1 引言LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕,主要应用在公众场合的信息发布。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
本文提出了一款基于32 位高性能ARM 处理器和μC/OS-II 的显示屏控制器的设计方案。
它充分利用了μC /OS-II 高效的多任务管理功能和ARM 处理器强大的运算能力,实现了单屏幕多窗口的任意位置显示,使得屏幕显示内容变得更加丰富,显示方式变得更加灵活。
从而使得控制器同步化。
2 控制器硬件总体结构设计本控制器的硬件结构框图如图1 所示。
数据处理模块由MCU,一片SRAM 和一片FLASH 存储器组成。
MCU 选用基于32 位ARM 内核的LPC2214 处理器, 它有着丰富的外围接口资源和强大的运算能力,是整个控制器的核心。
SRAM 作为MCU 进行特技处理时的缓存使用。
FLASH 存储器用于存储显示的点阵信息和一些必要的参数。
扫描控制模块由CPLD 和显存组成。
显存为一片SRAM,它用于保存当前正在显示的一帧数据。
通信模块包括以太网模块和串口通信模块, 可以实现PC 与控制器的RS232、RS485 以及工业以太网通信。
图1 控制器的硬件结构框图3 控制器硬件详细设计1、RTC 电路。
LPC2214 内部集成了RTC 功能模块,但由于其时钟源为VPB 时钟,故其不能在芯片断电时使用,故其不适合由电池供电的系统。
故我们在这里采用了外置的RTC 芯片--HOLTEK 公司生产的低功耗串行实时时钟芯片HT1381。
HT1381 采用串行传输方式与微处理器接口,只需三根引线就可以实现。
ARM7嵌入式触摸屏的设计
连 ,通 过 设 置 P ON 控 制 寄存 器可 以使 P 、0口工 作 在 I- C G 03 n
I tOu p t EN 3等 不 同 的模 式 下 。 p / t u/ I T u 3 液 晶 显 示 控 制器 S D1 3 E 35
触 摸 检 测 部 件 安 装 在 L 液 晶 屏 前 面 ,用 于 检 测 用 户 触 摸 位 CD 置 , 用户触摸信息送往触摸屏控制器 , 转换成触 点坐标 , 把 并 送 给 MCU(P 2 O 。MC 在 接 收 到触 摸 信 息 后 进 行 相 应 画 面 L C2 9 ) U 的更 新 。L CD液 晶 屏用 于显 示 用 户 画 面和 数 据 。
关键 词 : M 8 3 触 摸 屏 , E 1 3 F 74 , S D35
Absr t tac
Ths ape it i p r nr odu es t e o hn s e n r c i FM7 4 c h tuc ig cren co tol hp 8 3 p icpl o wor as rn i e f k. wel as t ARM 7 l wih mir c tol co onr l er L C2 O o e inTh l i c y t bo u e bewe n he SED1 3 c tol r nd h LP 2 nn c i el ti ci P 29 c nn ct . e i d r sal x s s o qu t e t 3 5 on r l a te e C2 90 co e t on ecrc r — cutM oeo eralo ito l 。 r v s n rduc s t e t u ig c e pr ci e o r .n el r ts t e t u ig c e an te i i c s e h o chn s r en i pl f wo ka d abo ae h o chn s r en n d h l d r — qu y t l iply a ds a mo e n e a e al r h wi m ph si。 dul it grt d go i m t e t h a s Ke wors: y d FM78 3. c n s e , 4 t hig crenSED1 3 ou 3 5
基于ARM9的触摸屏控制器系统硬件模块设计与实现
基于A M9 R 的触摸屏控制器系统
马 雅
( 阳机 车技 师 学 院 , 河 南 洛 阳 4 10 ) 洛 7 0 0
摘
要: 随着我 国工业 化的 高速 发展 ,对工 业 自动控 制 的要 求也在不 断地增 长和提 高。触摸屏 ,作 为一种 可视 化 的人机
摸 屏 与P 机 相连 ,以 实现 组态 画 面和 系 统软 件 的下 载更 c 新 。 ( )L D 示模块 。L D 5 C显 C 显示 器 负责信 息 的 图形 化显 示 。 ( )触摸屏模块 。提供 了除鼠标 ,键盘外 的另一种简 6 便 的人机 交互 方式 。 ( )键 盘模 块 。采用4 的键 盘设 7 X4 计 ,方便0 数字及一些功 能键 的输 入。 ( )串口模块 。 ~9 8
方 向及 功 能 需求 , 有 针 对 性 地 对 各 种 外 设 进 行 了 扩 展 , 包
括 以太 网接 口、 大 容 量 存 储 器 等 功 能 。 同 时A 9 S  ̄ 2 1 T 1 A9 6 处
理器提 供 了非 常丰富的外 围接 口控 制器,但是 在设计过程
中 需 要 有 取 舍 性 地 应 用 ,对 于 在 触 摸 屏 控 制 器 中 并 无 实 际
接 口 , 以 其 小 体 积 和 高 可 靠 性 的特 点 逐 步取 代 传 统 的按 钮 控 制 和 仪 表 监控 ,成 为 工控 界 人 机 接 口 的主 流 。 本 文 以模 块 化 和 结 构 化 的 思 想 设 计 为 基础 ,分 析 了触 摸 屏 控 制 器 中 的主 要 硬 件 模 块 , 给 出 了硬 件 设 计 方 法 及 电路 实 现 。
基于ARM-Linux的触摸屏驱动及其应用研究
口及 图形界面 的应用 。
[ 关键词 ]A M一 i x iG I 设 备驱动 R ,n ;mn U; Lu i
[ 中图分类号]T31 P9
【 文献标识码]A
2 系统 设计 与 实现
下 面对 系统 的主要 三个方 面进 行介 绍 , 即触摸 屏驱动 模型 、 iiU 的移 植和 图形界 面应 用 。 mn I G
2 1 基于 A — i x . M R L u 的触摸屏驱动模型 n “ u 系统的一大特点是支持 内核模块的动态加载及卸载[ 从而通过一系列离散的模块来完成各种功 nx 引,
一
起, 完成整个输入输出设备的功能, 因此 , 在图中以硬件部分作为一个整体来描述。
涉及的触摸屏部分主要函数如下 :
・
31 ・
v i u h od t c o
[ 文章编号]10 —1 X 21)3 03 一 4 08 7 (010 — 00 o 8
嵌入式系统在 当今社会信息生活中的作用越来越大, 各种便携式嵌入式平 台进入到人们生活的各个方面 , P A 笔记本、 D、 智能手机等众多消费类电子产品都开始采用触摸屏作为输入设备。触摸屏设备具有优越 的人机 交互特性 , 操作方便灵活 , 输入速度快 , 因而在工控等领域也获得了广泛的应用。嵌入式 L u i x系统 因其成本 n
l 系统 总体 框 架
整个 系统硬件由一块基于 A M 核心 的嵌入式平台 ¥C40 C M R9 3 2 1、 D A模块、 M 00以太网卡和触摸屏组 D 90
成 , 件 结构 如 图 1 示 。¥C 40核 心板 包 括 A M 2T P 、4 B内存 、6 B L S 硬 所 321 R 90 C U 6M 1M F A H存 储 器 、 扩接 口包 括 外
基于ARM的触摸屏TFT液晶显示电路设计
i le tt. S tc n a h e et eg a fe eg a ig.Th rn i l fte tu h p n li lods u sd.Es e il ewo kn r cpe o o c n se p sae o i a c iv h o lo n ry s vn e p cpe o h o c a e sas ic se i p cal t r ig pi il ftu h yh n
单扫描或双扫描 st ) io 彩色液晶屏颜色逼真透亮 广泛用 于制作 成计算机 、 MA发送过来的数据变换为合适 的格式 ( sr
【 关键词 】T lW C T 3T 3# 0 ;3 24 A微 处理器 ; E" X A 4 一 G 0 1¥C40 ; 触摸 屏 ; X 2 M 69
De i n o T sg fTF LCD t Tou h Pa lDipl y Cic i s d o ARM wih c ne s a r u tBa e n
液 晶屏 ( iu r t i l ,C 按显示原理分 为 Lq i Cy a Ds a L D) d sl p y
主要功能是将其 中的 l 可编程 的寄存器组 和 26×1 7个 5 6
S N和 T T两种 , T F r 由于 T T 薄膜 晶体 管 ,hnFl rn F( T i i Ta — 调色板 内存用于配置 L D控制器 。V D R S将 L D D m C IP C CC.
CHENG iga Jn to
(hn gtn s ciaT hc o g, i n301Ci ) Sa ii d t V ao le naCl e an 00, n xL hI ur o tn c il l T y 0 y e a ha
基于ARM9的触摸屏驱动开发及LCD显示程序设计
但是 这种方 法有个弊 端 , 就是 N S不是每 次都 自 F
上 [。
将这个默认 的空文件修改为只有如下一行 内容 :
/( v r) v
2 2 R^ . A ^ 概述
然后保存退 出 (w ) 然后执行 如下命 令 : :q ,
/ t/ c d i t d ns r sa e c r . /n . / f e r i t t
在 嵌 入 式 系 统 应 用 领 域 , R ( da c d R C A M A v ne I S
面返 回到命令提 示符 下。
v / t/ x a s i ec e p r m t
多数 C U 包括 I e, P ,S , LH 6 K P WE P, n l MI A I A P A, 8 , O R t S C
P c等。这 使 L u i x几 乎 可 以 嵌 入 到 各 种 硬 件 设 备 n
配置 完成后 , 可用如 下办法简 单测试 一 下 N S是 F
否配置好 了 :
在宿主机上 自己 mo n ut自己 , 看是 否成功就 可 以
维普资讯
20 年 第 6 期 07
计 算 机 系 统 应 用
判断 N S是否配好 了。 F
: j c ( e aea e n m(a O ,a 1 ,a 2 ) ; X= g t v rg — u x [ ] x [ ]x [ ] ) _ : j c ( e v rg — u y [ ] y [] y [ ] ) Y= g taea e n m(a 0 ,a 1 , 2 ) ; a / 取 三次采样 的平均 /
触摸屏学习及触控程序开发(一)
触摸屏学习及触控程序开发(一)2009-05-09 15:22:56 来源:环球触摸屏网作者: 【大中小】浏览:319次评论:0条为标准触摸屏编写驱动程序尽管触摸屏正在迅速普及开来,但大多数开发人员以前从来没有开发过触摸屏产品。
本文详细介绍了触摸屏产品的设计步骤,指导读者了解使触摸屏首次工作需要的软硬件细节。
触摸屏如今随处可见。
工业控制系统、消费电子产品,甚至医疗设备上很多都装备了触摸屏输入装置。
我们平时不经意间都会用到触摸屏。
在ATM机上取款、签署包裹,办理登机手续或查找电话号码时都可能会用到触摸屏。
本文介绍了二种较新的CPU,它们都内建了对触摸屏输入的支持。
本文将介绍如何编写软件驱动程序,从而能够使用这些微处理器配置、校准触摸屏以及对触摸屏输入持续响应。
最终将提供可免费下载和使用的工作代码,作为读者进一步设计的基础。
触摸屏作为输入手段的优点和缺点没有一种输入方式是十全十美的,对某些特定的应用和产品类型来说,触摸屏不是最好的输入手段。
为了让读者清楚的了解触摸屏的特性,下面先概括使用触摸屏作为输入手段的优点和缺点。
首先是优点:触摸屏不可否认的具有酷的感觉,立刻就能使产品的使用变得更有乐趣。
同时触摸屏也非常直观。
当用户想要选择A选项时,他伸出手指碰一下A选项就可以了。
这还不够直观吗?连两岁的婴儿都知道怎样伸手去触摸他(或她)想要的东西。
最后要说的是,触摸屏作为输入装置和系统固定在了一起。
如果用户忘记遥控器或鼠标放的位置,就会无法进行输入。
而如果具有触摸屏的设备放在用户前面,用户马上就可以用触摸屏进行输入。
再说缺点,触摸屏可能会在不合适的场合下被错误的使用。
这里我是指对安全性要求严格的设备,对于这些设备,如果没有适当的预防措施,使用触摸屏会非常危险。
下面我将概括一些最明显的潜在的问题,如果读者想作更进一步的了解,可以参考更多的资料。
第一个问题是视差,即屏幕上看到的对象的位置与其在触摸面板上的实际有效位置之间的差异。
带触摸屏的ARM开发板驱动基于AS3992芯片的RFM-x系列RFID读写模块
点击“RFID”图标,进入 RFID 扫描界面,点击“开始”,开始扫描并显示标签。
点选其中一个标签号,反显,再次点击,可以进入写标签界面。 进入写标签界面,输入新标签号,点“确定”就 OK 了。
#define OUT_WRITE_REG_ID #define IN_WRITE_REG_ID
0x1A 0x1B
#define OUT_READ_REG_ID #define IN_READ_REG_ID
0x1C 0x1D
#define OUT_INVENTORY_IDSize #define IN_INVENTORY_IDSize
#define OUT_WRITE_REG_IDSize #define IN_WRITE_REG_IDSize
0x05 0x02
#define OUT_READ_REG_IDSize #define IN_READ_REG_IDSize
0x02 0x05
5.3.2 节选主程序中盘点标签的例程
//发 inventory Tag 命令 if((RFID_START&0xC0)==0xC0) { LED3=1; USART1_TX_BUF[0]=OUT_INVENTORY_ID; USART1_TX_BUF[1]=OUT_INVENTORY_IDSize+1; USART1_TX_BUF[2]=0x01; USART1_SEND(USART1_TX_BUF);
带触摸屏的 写模块
凡夫
RFM-x 模块是高集成度的 RFID 读写模块,软件功能强大,有关 EPC 协议的 电子标签的所有操作以及标签防碰撞算法都已封包在软件中了,用户应用层软件 无需深入了解 RFM-x 模块与电子标签之间的具体通信协议,驱动模块的软件很简 单,只要掌握几个基本指令,就能开发出应用层软件。
具体分析触摸屏实验代码(1)--触摸屏接口寄存器介绍(ARM9 2440)
具体分析触摸屏实验代码(1)--触摸屏接口寄存器介绍在分析触摸屏代码前,我们首先来了解下S3C2440的Datasheet中关于触摸屏接口这部分的内容(详细见16部分ADC & TOUCH SCREEN INTERFACE)。
S3C2440专门有ADC和触摸屏接口,可以实现10位A/D转换(8通道),其中有4个引脚直接可以与触摸屏相连,如果不用作触摸屏,这4个引脚也可当作普通A/D转换输入。
触摸屏接口模式共有4种模式:正常转换模式、分离XY坐标转换模式、自动(连续)XY坐标转换模式、等待中断模式,后面再详细介绍这几种模式。
下面先来看下触摸屏接口几种重要的特殊寄存器。
1.ADC控制寄存器(ADCCON)2.ADC触摸屏控制寄存器(ADCTSC)处于等待中断模式时,XP_SEN必须设为1(XP接模拟输入),PULL_UP 必须设为0(使能上拉)。
AUTO_PST设为1时,必须处于自动(连续)XY 坐标转换模式。
下面详细介绍下触摸屏控制器的4种模式:1).普通转换模式:不使用触摸屏时,处于这种模式。
2).分离XY坐标转换模式:设置ADCTSC寄存器为0x69进入x轴坐标转换模式,x坐标转换完后被写入ADCDAT0,然后发出INT_ADC中断;同理,设置ADC寄存器为0x9A进入y轴坐标转换模式,y坐标转换完后被写入ADCDAT1,然后发出INT_ADC中断。
3).自动(连续)XY坐标转换模式:设置ADCTSC寄存器为0x0C,触摸屏就会自动转换触点的x,y坐标,并分别写入ADCDAT0和ADCDAT1中,然后发出INT_ADC中断。
4).等待中断模式:设置ADCTSC寄存器为0xD3。
这时等待屏被按下,当按下后发出INT_TC中断信号,这时触摸屏控制器转入2,3模式中的一种读取坐标。
3.ADC开始延时寄存器(ADCDLY)A=D*(1/X-Tal Clock) or A=D*(1/External Clock)B=D*(1/PCLK)C=D*(1/PCLK)D=ADCDL Y寄存器的DELAY值4.ADC转换数据寄存器0(ADCDAT0)5.ADC转换数据寄存器1(ADCDAT1)上面介绍了我们使用触摸屏需要用到的几个重要寄存器,并给出这些寄存器的地址以及每一位的用途,后面对于实际程序的分析再加以详细描述。
触摸屏控制实验设计报告
触摸屏控制实验设计报告序随着中国工业化的快速发展,对工业自动化控制的要求也在不断提高和完善。
触摸屏作为一种可视化的人机界面,以其体积小、可靠性高的特点逐渐取代传统的按钮控制和仪表控制,成为工业控制中人机界面的主流。
本文分析了触摸屏设备的特点、国外现状和发展趋势,设计了一种基于嵌入式实时操作系统WinCE5.0和ARM9系列AT91SAM9261为核心处理器的大型触摸屏控制器。
考虑到触摸屏设备的功能需求,提出了本课题的设计指标,制定了触摸屏控制器的总体设计方案,具体体现在控制器硬件设计和操作系统移植两个方面。
硬件平台采用模块化、结构化的思想进行设计和实现。
分析了触摸屏控制器中的主要硬件模块,包括处理器核心模块、存储模块、触摸屏模块、键盘模块、以太网模块和USB主从模块,并给出了硬件设计方法和电路实现。
硬件测试环境的建立是为了调试我弟弟的硬件模块。
基于搭建的硬件平台,本文重点研究了嵌入式操作系统WinCE 5.0的移植和BSP的开发。
分析了WinCE 5.0操作系统的架构和移植原理,在了解了三星公司的S3C2410 BSP之后,给出了基于AT91SAM9261的WinCE 5.0 BSP的开发过程。
详细分析了WinCE 5.0 Bootloader的工作原理和体系结构。
根据触摸屏系统的功能需求和硬件资源的分配,设计了触摸屏设备的Bootloader,并给出了具体的开发步骤。
深入研究了OAL的功能和原理,详细给出了OAL开发中的重要功能和主要模块。
针对触摸屏控制器的主要硬件模块,在分析WinCE 5.0中断模型和中断机制的基础上,开发了触摸屏驱动程序、矩阵键盘驱动程序和USB主机驱动程序。
在开发的BSP的基础上,利用WinCE 5.0操作系统定制工具Plarform Builder 对操作系统内核进行定制和编译,并对操作系统的性能进行测试。
测试结果表明,WinCE 5.0操作系统能够成功移植到触摸屏控制器上,能够满足工业现场的实时性要求。
基于ARM的Samsung S3 C44BOX触摸屏接口设计
基于ARM的Samsung S3 C44BOX触摸屏接口设计
杨于镭
【期刊名称】《计算机应用》
【年(卷),期】2006(26)9
【摘要】ARM体系结构继承了RISC结构的加载/存储体系结构、固定长32位指令和三地址指令格式等特性.基于ARM架构的Samsung S3C44B0X微处理器一方面具有ARM处理器的低功耗、高性能等优点,同时又具有非常丰富的片上资源,非常适合嵌入式产品的开发.当满足一定的条件时,就可将实时操作系统μC/OS-Ⅱ移植到ARM处理器S3C44B0X.触摸屏的控制是使用的低功耗和高速率的
ADS7843芯片,ADS7843通过同步串口与ARM通讯,通过一些函数及坐标变换,得到体现LCD坐标的触摸屏位置.在此基础上进行触摸屏接口的硬件与软件设计,并给出控制程序流程图.
【总页数】3页(P2264-2266)
【作者】杨于镭
【作者单位】国防科学技术大学,理学院,湖南,长沙,410072
【正文语种】中文
【中图分类】TP302
【相关文献】
1.基于ARM S3C2410与TMS320C6416的接口设计 [J], 陈育林;张秦艳
2.基于ARM微处理器的液晶触摸屏的接口设计 [J], 梁明亮;张惠敏;徐冰
3.基于ARM处理器的LCD控制及触摸屏接口设计 [J], 蒙智明;屈百达;徐保国
4.基于ARM920T的Samsung S3C2440A嵌入式系统实时时钟的分析与研究 [J], 续蕾
5.基于嵌入式微处理器S3C44BOX的触摸屏接口设计 [J], 田奕;杜志伟
因版权原因,仅展示原文概要,查看原文内容请购买。
基于ARM的Samsung S3C44B0X触摸屏接口设计
基 于 A M 的 Smsn 3 4 B X触 摸 屏 接 口设 计 R a u g¥ C 4 O
杨 于 镭
( 防科 学技 术大 学 理 学 院 , 南 长 沙 4 07 ) 国 湖 10 2
摘
( u0 2 @yho cn. n y y9 8 a o .o a ) 要 : R 体 系结构 继承 了 R S AM IC结构 的加 载/ 存储 体 系结构 、 固定长 3 2位指 令和 三 地 址指 令
Abtat R ss m su t e i e t sc h r t so IC( e ue nt ci e C m ue) a la/t e s c:A M yt t c r n rs u hc a c r fR S R d cd Is ut n St o p t r e r u h i ae r o r s od s r o
格式等特性。基于 A M 架构的 Sm ug¥ C4 0 R a sn 3 4 B X微处理器一方面具有 A M 处理 器的低功耗、 R 高 性能等优点 , 同时又具有非常丰富的片上资源 , 非常适合嵌入式产品的开发。 当满足一定的条件时, 就 可将 实时操 作 系统 C O . 移植 到 A M 处理 器 ¥ C4 0 / SI I R 3 4 B X。 触摸 屏 的控 制是使 用的低 功 耗和 高 速 率 的 A S8 3芯 片 , D 74 D 74 A S83通 过 同步 串 口与 A M 通 讯 , 过 一 些 函数 及 坐标 变换 , 到 体 现 R 通 得 L D 坐标 的触摸 屏位 置 。在 此基础 上 进行 触摸屏 接 口的硬 件 与软 件设 计 , C 并给 出控 制程序 流程 图。
it 3 4 B X. h o t lo o c ce n i a z d t r u h ADS 8 3 c p wh c s o o o rc n u t n a d h g no S C 4 0 T e c n r t u h s r e s r l e h o g o f e i 7 4 h i h i f l w p we o mp i i h i s o n se . p e ADs 8 3 c mmu l ae i RM y s n h n z t n s r l a d t e b an o i o o c c e n wh c a d 7 4 o ncts wt A h b y c r iai e a , n h n o t is p st n o t u h s r e i h C o o i i f n e r e tc o d n ts o C rp s n o r i ae f L D. Ac o i gy t e h r wa e a d s f r f tu h s r e n e a e w r e in , a d t e e c r n l , h ad r n ot e o o c c n it r c e d g e d wa e f e s d n h l f wc a t o t lp o e u S it . o h r o c n r rc f o d r Wa l e e sd
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ucos II+ucGUI+s3c2410+LCD+触摸屏整合作者:佚名来源:不详录入:Admin更新时间:2008-8-18 14:57:54点击数:240【字体:】环境:ads2.2+ARM9 +s3c2410注意:由于编译器(ads1.2或2.2)对全局变量初始化为0的不完全支持,有时必须手动初始化为0,切记!!!一、ucos II移植到ARM9 s3c2410可从官网下载移植代码,基本无需改动。
在os_cpu_a.s中的函数UCOS_IRQHandler中的bl OSIntEnter和bl C_IRQHandler之间插入如下代码(见邵贝贝,第2版,第104页的说明:L3.18(4)):ldr r0, =OSIntNestingldrb r0,[r0]cmp r0,#1bne XXldr r0,=OSTCBCurldr r1,[r0]str sp,[r1] ; store sp in preempted tasks's TCBXX二、ucGui 390移植到ARM9 s3c24101. Lcd驱动:1)画点函数:对dm2410实验板上的lcd,左上为原点(0,0),函数如下:void LCD2410_SetPixel(int xp, int yp, U16 color, int dindex){*(pLCDBuffer565 + SCREEN_WIDTH*yp + xp) = color;}为了达到更快的显示速度,别忘了开启Cache!!!2)LCD控制器的初始化,对2410函数如下:int LCD2410_Init(void){if(!isLcdInit){InitLcdPort();InitLcdRegs();isLcdInit = 1;return 0;}return 1;}void InitLcdPort(void){// LCD port initialize.s2410IOP->GPCUP = 0xFFFFFFFF;s2410IOP->GPCCON = 0xAAAAAAAA;s2410IOP->GPDUP = 0xFFFFFFFF;s2410IOP->GPDCON = 0xAAAAAAAA;s2410IOP->GPGCON &= ~(3 << 8); /* Set LCD_PWREN as output */ s2410IOP->GPGCON |= (1 << 8);s2410IOP->GPGDAT |= (1 << 4); //* Backlight ONvoid InitLcdRegs(void){s2410LCD->LCDCON1 = (CLKVAL_TFT << 8) | //* VCLK = HCLK / ((CLKVAL + 1) * 2) -> About 7 Mhz(EACH_FRAME << 7) | //* 0 : Each Frame(3 << 5) | // TFT LCD Pannel(12 << 1) | //Y: // 16bpp Mode(0 << 0) ; // Disable LCD Outputs2410LCD->LCDCON2 = (VBPD <<24)| //*VBPD :((32-1)&0xff)=0x1f (LINEVAL_TFT << 14) | //* LINEVAL_TFT : 480 - 1 &bsp;(VFPD << 6) | //* VFPD : ((11-1)&0xff) = 0xa(VSPW << 0) ; //* VSPW : ((2-1) &0x3f) = 0x1 s2410LCD->LCDCON3 = (HBPD <<19)| //*HBPD : (88-1)&0x7f) (HOZVAL_TFT << 8) | //* HOZVAL_TFT : 800 - 1(HFPD << 0) ; //* HFPD : ((40-1)&0xff) s2410LCD->LCDCON4 = (MVAL << 8) | //* MVAL : 13 (HSPW <<0); //*HSPW : ((128-1)&0xff)&bsp;s2410LCD->LCDCON5 = (0 << 12) | // BPP24BL : LSB valid(1 << 11) | // FRM565 MODE : 5:5:5:1 Format(0 << 10) | // INVVCLK : VCLK Falling Edge(1 << 9) | // INVVLINE : Inverted Polarity(1 << 8) | // INVVFRAME : Inverted Polarity(0 << 7) | // INVVD : Normal(0 << 6) | // INVVDEN : Normal &bsp;(0 << 5) | // INVPWREN : Normal(0 << 4) | // INVENDLINE : Normal(1 << 3) | // PWREN : Disable PWREN(0 << 2) | // ENLEND : Disable LEND signal(0 << 1) | // BSWP : Swap Disable(1 << 0) ; // HWSWP : Swap Enables2410LCD->LCDSADDR1 = ((FRAMEBUF_DMA_BASE >> 22) << 21) |((M5D(FRAMEBUF_DMA_BASE >> 1)) << 0);s2410LCD->LCDSADDR2=M5D( (FRAMEBUF_DMA_BASE+(LCD_XSIZE_TFT*LCD _YSIZE_TFT*2))>>1 );s2410LCD->LCDSADDR3=(((LCD_XSIZE_TFT-LCD_XSIZE_TFT)/1)<<11)|(LCD_XSI ZE_TFT/1);s2410LCD->LCDINTMSK|=(3); // MASK LCD Sub Interrupts2410LCD->LPCSEL&=(~7); // Disable LPC3600s2410LCD->TPAL=0; // Disable Temp Palettes2410LCD->LCDCON1 |= 1;}其中,部分变量、常量定义如下:#define LCD_XSIZE_TFT (800)#define LCD_YSIZE_TFT (480)#define HOZVAL_TFT (LCD_XSIZE_TFT-1)#define LINEVAL_TFT (LCD_YSIZE_TFT-1)#define MVAL (13)#define MVAL_USED (1)#define EACH_FRAME (0)//STN/CSTN timing parameter for LCBHBT161M(NANYA)#define WLH (3)#define WDLY (3)#define LINEBLANK (1 &0xff)#define VBPD ((32-1)&0xff)#define VFPD ((11-1)&0xff)#define VSPW ((2-1) &0x3f)#define HBPD ((88-1)&0x7f)#define HFPD ((40-1)&0xff)#define HSPW ((128-1)&0xff)#define CLKVAL_TFT (0)#define M5D(n) ((n) & 0x1fffff)#define SCREEN_WIDTH 800 //800#define SCREEN_HEIGHT 480 //480#define FRAMEBUF_DMA_BASE (0x35000000)U16* pLCDBuffer565=(U16*)FRAMEBUF_DMA_BASE;3)填写配置文件LCDConf.h&nbs;#define LCD_XSIZE (800) /* X-resolution of LCD, Logical coor. */#define LCD_YSIZE (480) /* Y-resolution of LCD, Logical coor. */#define LCD_BITSPERPIXEL (16)#define LCD_CONTROLLER 1#define LCD_SWAP_RB_0 12.触摸屏驱动:触摸屏驱动计算出触摸屏的坐标(x,y),对dm2410实验板上的触摸屏,左下为原点,但不一定是(0,0)。
两个函数:1)设置中断向量,开中断:void SetTSInterrupt(void){rADCDLY = (50000);rADCCON = (1<<14)|(ADCPRS<<6)|(7<<3)|(0<<2)|(0<<1)|(0);rADCTSC = (0<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);pISR_ADC = (U32)TSIrqISR; //rINTMSK &= ~(BIT_ADC);rINTSUBMSK &= ~(BIT_SUB_TC);}2)中断处理函数:static void TSIrqISR(void){int i;U32 Pt[6];rINTSUBMSK |= (BIT_SUB_ADC|BIT_SUB_TC);if(rADCDAT0 & 0x8000){//抬起isDown = 0;rADCTSC &= 0xff; // Set stylus down interruptTX = -1;TY = -1; //抬起触笔时,TX,TY要值成不大于0的数}else //按下{ isDown = 1;rADCTSC=(0<<8)|(0<<7)|(0<<6)|(1<<5)|(1<<4)|(1<<3)|(0<<2)|(1);for(i=0;i<LOOP;i++); //delay to set up the next channelfor(i=0;i<5;i++) //5 times{rADCCON|=0x1; // Start X-position conversionwhile(rADCCON & 0x1); // Check if Enable_start is lowwhile(!(0x8000&rADCCON)); // Check ECFLG&nbs;Pt[i]=(0x3ff&rADCDAT0);}Pt[5]=(Pt[0]+Pt[1]+Pt[2]+Pt[3]+Pt[4])/5;//多次采样取平均值TX = Pt[5];rADCTSC=(0<<8)|(0<<7)|(1<<6)|(1<<5)|(0<<4)|(1<<3)|(0<<2)|(2);for(i=0;i<LOOP;i++); //delay to set up the next channelfor(i=0;i<5;i++) //5 times{rADCCON|=0x1; // Start Y-position conversionwhile(rADCCON & 0x1); // Check if Enable_start is lowwhile(!(0x8000&rADCCON)); // Check ECFLGPt[i]=(0x3ff&rADCDAT1);}Pt[5]=(Pt[0]+Pt[1]+Pt[2]+Pt[3]+Pt[4])/5;// 多次采样取平均值TY = Pt[5];rADCTSC=(1<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);}//cprintf("%d,%d\n",TX,TY);OSMboxPost(TouchMbox, 0);//向处理触摸进程发消息rSUBSRCPND |= BIT_SUB_TC;rINTSUBMSK &= ~(BIT_SUB_TC); // Unmask sub interrupt (TC)ClearPending(BIT_ADC);}3)需要的量:#define LOOP 1#define ADCPRS 0x27int TX=0;//触摸坐标xint TY=0;//触摸坐标yextern OS_EVENT *TouchMbox;int isDown;4)触摸屏校准:Ucgui390中,带有一校准程序(于TOUCH_Calibrate.c中),可以改写为我所用(见下文)。