基于C8051F021和ADS7846的触摸屏系统设计

发布者:心灵之舞最新更新时间:2009-12-07 来源: 电子元器件应用关键字:触摸屏  接口  C8051F021  ADS7846 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  随着现代电子产品设计技术的不断发展,电子产品的设计,尤其是人机交互界面的设计越来越趋向于人性化。触摸屏凭借其独特的操作特性,应用日益广泛,它配合微控制器使用,能使嵌入式设备或手持式设备具有更加良好的人机交互界面,操作更加方便快捷。本文给出了一个基于C8051F021单片机和ADS7846 触摸屏控制器的触摸屏控制系统的设计方法。

  1 触摸屏工作原理

  触摸屏有电阻式、电容式、红外线式、表面声波式等多种。其中电阻式触摸屏是目前应用较为广泛的一种,可分为四线、五线、七线等几类。其中四线制电阻式触摸屏采用的是四线电阻模拟量技术,即两个阻性层工作时,每层均加有5 V恒定电压,一个竖直方向,一个水平方向,含四根导线;其特点主要是传输反应快,解析度高,稳定性好,一次校正,不易漂移,比较适合于工业控制领域,但使用时要注意防止外导电层被划伤。

  电阻式触摸屏实际上是一种传感器,它采用分压器原理将矩形区域中的触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压,图1所示是其原理图。四线制触摸屏一般包含两个阻性层:其中一层在屏幕的左右边缘各有一条垂直总线,而另一层在屏幕的底部和顶部各有一条水平总线。为了在X轴方向进行测量,可将左侧总线偏置为0 V,右侧总线偏置为VREF,并将顶部或底部总线连接到ADC,这样,当两个阻性层相接触时(即有触摸时)即可作一次测量;为了在Y轴方向进行测量,可将底部总线偏置为0 V,顶部总线偏置为VREF,并将左侧或右侧总线连接到ADC,这样,当两个阻性层相接触时,即可对电压进行测量;该屏最理想的连接方法是将偏置为 VREF职的总线接在ADC的正参考输入端,而将偏置为OV的总线接在ADC的负参考输入端。

电阻式触摸屏

  2 系统的硬件设计与实现

  2.1 C8051F021的主要功能特点

  本系统选用性能优良且成本较低的SOC单片机C8051F021作为控制核心。它是完全集成的混合信号系统级MCU芯片,具有32个数字I/O引脚。其主要的内部资源有8通道12位ADC,2通道12位DAC,4 KB的RAM,64 KB的FLASH,以及硬件实现的SPI、SMBus/I2C和两个UART串行接口,同时带有时钟振荡器,看门狗定时器,VDD监视器,温度传感器等。其所有模拟和数字外设均可由IDE软件使能/禁止和配置。同时,它还采用了与8051兼容的CIP-51微控制器内核,因采用流水线结构,其指令执行速度有了很大的提高。此外,C8051F021还配置了标准的JTAG接口,在IDE软件的支持下,可对安装在最终产品上的MCU进行非侵入式、全速、在系统调试。该器件的封装为TQFP-64,可在工业温度范围内(-45℃~+85℃)使用2.7~3.6 V的电压工作。

  2.2 ADS7846的主要功能和特点

  ADS7846是BB公司生产的一种四线制触摸屏控制器。可广泛应用在电阻式触摸屏系统中。ADS7846的核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器,其转换速率可达125kHz.且分辨率可编程为8位或12位。该器件不仅具有X、Y坐标测量功能,还具有电池电压、芯片温度、触摸压力和外模拟量4种测量功能,其工作方式可由控制字决定,片内的6选1模拟多路开关可根据微控制器送来的命令字来选择6个电压量之一(X+、Y+、Y-、 VBAT、TEMP、AUX-IN),并将其送入A/D转换器转换,然后再通过SPI接口将转换值送入微控制器。此外,ADS7846还集成有触摸识别电路,当检测到有触摸时,该电路会在PENIRQ(笔中断)引脚输出一个低电平信号,并以该信号向微控制器提出测量触点坐标的中断请求。该芯片采用单电源供电,工作电压为2.2~5.25 V,且内部自带+2.5 V的参考电压。

  2.3 C8051F021和ADS7846的硬件接口

  基于C8051F021单片机和ADS7846触摸屏控制器的触摸屏控制系统的硬件接口电路如图2所示。

C8051F021和ADS7846的硬件接口

  图2中。TX+、TX-、TY+、TY-为位置输入端,分别对应四线制电阻式触摸屏的四线制接口:

BUSY为忙信号指示,可在数据转换时持续一个时钟周期的高电平状态,当TCS为高时,BUSY为高阻状态:
TCS为片选输入,只有当TCS为低时,串行数据才可以从DIN读入;
DIN为串行数据输入,在DCLK的上升沿读入数据;
DOUT为串行数据输出,用于输出转换后的触摸点位置数据,12位工作方式下,其最大为4095,可在DCLK的下降沿输出数据,当TCS为高时,DOUT为高阻状态;
DCLK为外部时钟输人引脚,其输入时钟信号的频率决定了电路的转换速度,其推荐占空比为40%~60%;
PENIRQ为笔中断引脚。工作时应通过10~100 kΩ电阻器上拉,当有触摸事件发生时,可向微控制器申请中断服务;
VREF为A/D参考电压输入;

   TCS、DCLK、 DIN、 BUSY、DOUT、PENIRQ分别接C8051F021的P1.0、P1.1、P1.2、P1.3、P1.4、PO.3。另外,IN3、IN4为两个附属A/D输入通道,本系统没有用到,使用时可将其接地。

  3 系统软件的设计与实现

  ADS7846可通过片内模拟多路开关的切换,将X+/Y+端接VCC,将X-/Y-端接地,并将X+/Y+和X-/Y-以差分形式接到A/D转换器的输入端。这样,当点击触摸屏的不同位置时,输入到A/D转换器中的电压就不相同,然后再经A/D转换后,就可得到触点的输出值,该输出值与触点的位置成近似线性关系。ADS7846通过一般控制字来设置工作方式,其控制字如表1所列。

控制字

  在表1中,S为数据传输起始标志位,该位必为“1”;A2~A0用于通道选择;MODE用来选择A/D转换精度: “1”选择8位, “0”选择12位;SER/DFR选择参考电压的输入模式;PD1、PD0选择省电模式: “00”为省电模式,可在两次A/D转换之间掉电,且允许中断,而“01”同“00”相似,但不允许中断; “10”为保留; “11”为禁止省电模式。

  ADS7846与C8051F021之间通过标准的SPI接口相连。并由C8051F021启动3次SPI传送来完成转换。第1次SPI传送由 C8051F021向ADS7846发送控制字,含起始位、通道选择、8/12位模式选择、差分/单端选择和掉电模式选择;后两次SPI传送则是 C8051F021读取A/D转换后的结果数据,至此便完成了ADS7846和C8051F021之间的一次通信。其数据传送时序如图3所示。

数据传送时序

  本系统中的触摸屏应用流程图如图4所示。

触摸屏应用流程图

  在编程过程中,通常应该注意以下问题:

(1) C8051F021的初始化,一般还会包括显示模块的初始化等;
(2)DS7846的初始化,一般包括寄存器和笔中断的初始化等;
(3)防止抖动和连击,通常需要加入消抖子程序和延时子程序;
(4)减小测量误差,往往应采用多次测量并加入软件滤波子程序;
(5)触摸屏与液晶屏的坐标系不一致,还必须加入坐标变换子程序。

  4 结束语

  本文给出了一个基于C8051F021单片机和ADS7846触摸屏控制器的触摸屏控制系统的设计方法。讨论了在触摸屏控制系统开发过程中的若干软、硬件问题。在工程实际中,本系统经过多次测试,效果良好。

关键字:触摸屏  接口  C8051F021  ADS7846 引用地址:基于C8051F021和ADS7846的触摸屏系统设计

上一篇:8位单片机控制的经济型温湿度监控仪研制
下一篇:基于STC89C52的程控恒流源的设计

推荐阅读最新更新时间:2024-03-16 12:27

串口0作为调试端口,怎么改变为接收数据接口
我们在使用嵌入式linux调试板子时候必须要有调试接口,一般是串口0. 我就以我使用的S3C2416的板子为例: 启动u-boot打印如下: SMDK2416 # printenv bootcmd=nand read c0008000 900000 300000;bootm c0008000 bootdelay=3 baudrate=115200 ethaddr=00:40:5c:26:0a:5b gatewayip=192.168.1.1 netmask=255.255.255.0 bootargs=root=/dev/mtdblock3 rootfstype=yaffs2 init=/init console=ttySAC
[单片机]
住友电工集团发布新一代TYPE-81C 触摸屏光纤熔接机
日本东京--(美国商业资讯)--住友电工集团(TOKYO:5802) (ISIN:JP3407400005)发布消息称:新一代纤芯直视型TYPE-81C 光纤熔接机即将投放市场。该机器是秉承 “任何环境下超速熔接”的概念开发研制的,同时兼具小型,轻量,坚固的特点,TYPE-81C 实现最迅捷的熔接过程。触摸屏操作和通过英特网实现的远程技术支持为用户提供了极大的方便,操作更加简单,服务更多样灵活。 住友电工集团在中国的子公司-住亚贸易(深圳)有限公司总经理增池克弥这样评价: “TYPE-81C是由具有30年光纤熔接机制造历史的日本住友电工集团开发的新一代产品。它包含许多创新改革,相比目前市场上的熔接机,更加简化了用户和操作者的使用
[半导体设计/制造]
艾迈斯半导体推出具有PSI5接口的新型 汽车级磁位置传感器
全球领先的高性能传感器解决方案供应商艾迈斯半导体公司今天宣布推出具备双线PSI5接口的AS5172A/B磁位置传感器,可实现精确旋转位置测量数据的快速及安全传输。 新的AS5172A和AS5172B系统级芯片(SoC)是360度非接触式的旋转磁位置传感器,能够提供14位高分辨率的绝对角度测量。根据汽车安全标准ISO26262,这两款传感器被开发为SEooC设备,并以广泛的片上自诊断系统为特色。这使AS5172A/B成为对安全性有较高要求的汽车应用的理想选择,帮助汽车系统满足最高级别的ASIL安全要求。 此外,AS5172A / B组件中的PSI5接口符合PSI5最新标准1.3和2.1的规定。 经AEC-Q100认
[半导体设计/制造]
IDT全球首推真正的单层多点触摸投射电容式触摸屏技术
     兼具模拟和数字优势技术、提供领先的混合信号半导体解决方案的供应商 IDT 公司(Integrated Device Technology,Inc) 推出全球第一个用于尺寸达 5 英寸屏幕的真正的单层多点触摸投射电容式触摸屏技术。应用于 IDT PureTouch系列的最新技术简化了触摸屏传感器的制造,而且消除了自电容式多层解决方案中常见的多点触摸的重影现象。      IDT 的单层多点触摸传感器设计是一个真正的单层设计,不需要用于传感器交叉点隔离和传感器矩阵线桥接的额外掩模步骤。由于消除了其他多点触摸技术所需的额外的铟锡氧化物(ITO)层,IDT 新的解决方案提高了透光率,简化了触摸屏传感器的制造,同时降低了触摸屏
[传感器]
一种用于ISA总线计算机1553B接口模块的设计
引言   MIL-STD-1553B数据通信技术已被航空、航海乃至装甲武器系统所接纳,其技术从1553B总线通信接口的设计到构造大的通信应用系统已被众多设计师所掌握。但是由于传统的MIL-STD-1553B总线通信接口模块结构复杂,功能庞大(逻辑框图如图1所示),使得该模块的成本很高,有碍于新系统的设计、开发、仿真与研究,目前该技术的应用被局限在军工项目中。在工业控制领域,实验室装配等方面由于接口模块成本的因素,还没有很好地应用起来。为了迅速充实该领域,需要一种能满足应用、价廉的可插入通用IBM-PC或工业控制机的1553B-小型、集成、开发、仿真(以下简称1553B-SIDE)装置,用于各种类型的MIL-STD-1553B通
[嵌入式]
熟悉又陌生 USB接口标准全解析
提及USB大家肯定是既熟悉又陌生,熟悉是因为我们每天都在使用,陌生是因为它繁杂的分类,让很多人都分不清楚。那么,如何准确辨别USB?   其实了解USB接口主要从传输标准与接口标准两个方面:传输标准主要指的是传输速率,接口标准对应其接口外观。   USB(Universal Serial Bus)总线协议是以Intel为主,并有Compaq,Microsoft,IBM,DEC,Northern Telecom以及日本NEC等共七家公司共同制定的串行接口标准,主要有四种:   1、USB的出生—USB 1.0   1996年正式提出USB1.0规格,但频宽仅有12Mbps,约1.5MB/s,速度非常慢,而且在当时支持USB的周边设备
[嵌入式]
电路中7个常用接口类型之要点说明
我们知道,在电路系统的各个子模块进行数据交换时可能会存在一些问题导致信号无法正常、高质量地“流通”,例如有时电路子模块各自的工作时序有偏差(如CPU与外设)或者各自的信号类型不一致(如传感器检测光信号)等,这时我们应该考虑通过相应的接口方式来很好地处理这个问题。 下面就电路设计中7个常用的接口类型的关键点进行说明一下: (1)TTL电平接口: 这个接口类型基本是老生常谈的吧,从上大学学习模拟电路、数字电路开始,对于一般的电路设计,TTL电平接口基本就脱不了“干系”!它的速度一般限制在30MHz以内,这是由于BJT的输入端存在几个pF的输入电容的缘故(构成一个LPF),输入信号超过一定频率的话,信号就将“丢失”。它的驱动能
[嵌入式]
跳频与扩频:无线机器对机器接口
无线机器对机器接口代表了计算机发展的第三次浪潮。第一次浪潮是企业计算机、昂贵的主机以及只有大企业才有能力购买的超级计算机。这一阶段为上世纪的六十和七十年代。第二次计算机浪潮开始于1981 年,当时IBM 推出了个人计算机(PC)。这一时期为上世纪的八十和九十年代。新世纪带来了第三次计算机浪潮。在此期间成本降低、新技术不断涌现,使计算机中采用嵌入式处理器及无线通信像烤箱一样普及。这些处理器独立工作时可提供特定的功能,但当它们在无人为干预时,自身间相互通信时作用更大。随着小型廉价计 算机的发展,无线技术应运而生。无线移动电话技术的出现领导了这些进步技术。这些技术包括用于手机的无线网络和增长迅速的无线热点现象(图1)。 尽管M2M (机器
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved