触摸屏技术在16位单片机中的应用

最新更新时间:2013-10-13来源: OFweek电子工程网关键字:触摸屏技术  单片机 手机看文章 扫描二维码
随时随地手机看文章

  本文分析了8096系列中的80196单片机在电力系统配电变压器智能检测终端设备中的人机交互界面接口应用问题, 通过实例详细介绍了该类单片机与触摸屏芯片的软、硬件接口的应用技巧, 分析了其工作特性, 指出在应用中需注意的问题, 并给出了触摸芯片的部分程序。

  随着科学技术的日新月异, 人类对文明生活需求的进步, 带来对电能的需求越来越高, 也带来了对电力系统的设备有更高的要求, 由此电力系统配电变压器的功能及检测设备受到各方面的密切关注。在市场上各种各样的电力检测设备不断翻新, 其功能也向实用性、高科技性方向发展, 但配电变压器具有触摸方式的人机友好界面功能及检测的设备很少有报道, 为此, 在经过多方面的调研, 我们提出研制使用触摸方式、具有GPRS无线通信功能的配电变压器智能检测设备的任务。该设备在满足配电功能要求的前提下, 采用触摸显示方式提高检测设备的可操作性, 使用GPRS无线通信提高设备的先进性、满足现代信息社会的管理需求, 使其具有一定独特优势, 能够占领一定的市场领域。

  1  系统设计

  系统的核心是采用先进的INTEL96 系列16 位单片机80196, 配以液晶显示触摸屏、大规模门阵列逻辑集成电路xilinx95144, 通过串口驱动电路MAX232外接GPRS模块等, 组成结构简单、功能完整、扩充性强、布局合理, 使用芯片少, 体积小, 具有高可靠性和保密特性的设备系统, 原理图如图1所示。

图1   系统原理图

  1. 1  各功能模块主要作用

  ( 1) CPU80196在系统中主要承担着控制中心及16位数据的算术、逻辑运算的任务, 该单片机具有丰富的软硬件资源及运行速度快的指令系统, 非常适合于电力系统的仪表设计。

  ( 2) 大规模逻辑电路芯片X ilinx95144主要完成: 地址锁存、数据总线驱动、控制信号总线驱动及逻辑电平转换、片选信号发生等, 它有144个宏单元3200 个逻辑门, 100个管脚,81数据输入输出脚, 4个在线编程脚, 可以完成10000次的在线编程。

  ( 3) MAX232串口驱动: 完成串口电平TTL至RS232转换功能。

  ( 4) GPRS模块: 是一种新型的移动数据通信业务, 在移动用户和数据网络之间提供一种连接, 给移动用户提供高速无线IP服务。它采用完全透明数据传输, 永远在线, 按流量计费, 克服了通讯距离短, 性能不稳定的缺点, 真正实现全国无缝覆盖, 特别适用于无人看守的区域。

  ( 5) 27512EPROM 程序存储器, 提供64KByte 的程序存储空间, 主要是存放系统程序。

  ( 6) 62256静态RAM 数据存储器, 提供64KBy te的数据存储空间, 主要是存放采集的数据, 自带电池, 可以保证数据在掉电的情况下不丢失。

  ( 7) DS1302日历芯片可以根据设置自动完成年\月\日\时\份\秒的计算, 并可以实现闹钟, 它主要使系统能够定时采集数据。

  ( 8) CAN属于总线式串行通讯网络, 具有很强的纠错能力, 支持差分收发, 因而适合高噪声环境, 而且传输距离比较远。在系统中我们采用了SJA1000 芯片, 通过正确连接和设置的, 达到CAN 总线物理层和数据链路层的所有功能的自动完成。

  ( 9) 开关驱动电路: 主要是提供给各种开关电源、交直流电机调速系统的电压与电流。在系统中我们采用数字电路与模拟电路的结合完成。

  ( 10)液晶显示与触摸屏: 提供人机交互友好界面, 我们选择了台湾AM PIRE 公司产DG - 32240 - 27 - SNCW -HCDTC液晶显示触摸屏, 具有320 ?? 240显示象素点, 160 ×110mm 触摸大小, 其显示部分控制芯片是SED1335, 触摸部分控制芯片是ADS7843。  1. 2   系统调试

  在系统的调试中, 一切功能与电气指标都能达到预先设计的要求, 但几次出现触摸屏与单片机之间指令不执行, 甚至烧坏了触摸屏中的芯片ADS7843的问题。

  2   硬件设计分析

  根据硬件连接, 使用的单片机P3、P4口通过X ilinx95144与液晶显示相连, 触摸屏与单片机P1口直接连接, 三者工作电压均为厂商推荐典型值5V。

  2. 1 80196KB单片机结构

  80196KB 是INTEL公司继8位单片机以后推出的16 位单片机MCS_96 系列的产品之一,它与8位单片机相比提高了控制系统的实时性, 与现在的32位相比是真正意义上的单片机, 特别适用于各类自动控制系统。它的内部结构采用普林斯顿( Pr inceton )体系结构, 又称冯。诺曼( Von Neumann) 结构。具有程序存储器与数据存储器合二为一的特点。它的P0口只能用于输入, P1口是一个准双向口, P2 口是一个多功能口, P3、P4口是双向口可作为系统总线。

  在本系统的电路中, 采用P1口与触摸屏接口打交道, P1口内部管脚结构如图2 所示。P1口是一个准双向I/O口, 它由输出缓冲器、内部口锁存器、内部口寄存器和输出缓冲器构成, 与MCS51的准双向口相同, 内部具有上拉电阻结构。如图2所示, 上拉作用由三个FET管产生, 其中p1是强上拉, p3由于高阻存在为弱上拉, p2为更弱上拉, n是低阻下拉FET.

图2 准双向口P1内部结构

  当复位时,P1口呈现微弱上拉。当用作输入输出功能, 其原理是:“输入”: P1口输入数据时实际上是输入到P1口寄存器中, 由寄存器去驱动管脚, 图二上/Q 即为寄存器的输出, CPU 读数据时是直接读管脚。因此在读数据时要保证P1口为输入状态, 应先对P1口寄存器SFR置位, 此时n截止。切记当端口用作输入口时, 决不能向该口写数据“0”。“ 输出”:在此状态下, 当指令对P1. x口的I/O口寄存器输入数据是“0”时, 内部寄存器的/Q输出会打开下拉FET即n, 而关闭全部上拉FET即p1、p2、p3, 这时对应输出脚电平PORT PIN 为“0”; 当指令对P1口的某一个I /O口寄存器输入数据是“1”时, 内部寄存器的/Q输出会关闭n, 打开p1、p2、p3, 这时对应输出脚电平PORT PIN 为 “1”,即输出是一个编程直接“写”的过程。

  2. 2 X ilinx95144

  是一款高品质的Comp lex Prog ramm able Logic Device 复杂的可编程逻辑器件( CPLD), 典型工作电压为3. 3- 5V, 支持ISP即在线编程功能, 编程次数可达上万次, 管脚到管脚信号延迟7. 5ns, 工作频率可达111MH z, 内部有144个宏单元均是ROM 结构, 掉电后内部的逻辑数据不会丢失。每个I /O管脚在输出状态下: 高电平时典型值- 4mA, 低电平典型值24mA; 每个I /O管脚在输入状态下: 高、低电平时均为uA级。因此输出电气特性: 在通常的TTL电平芯片电路中、外接驱动不多的情况下, 可以不使用上拉电阻; 输入电气特性:

  一般的集成芯片都可以直接与其相连, 不会出现驱动力不够现象, 更不会出现损坏。

  2. 3  触摸显示屏

  显示部分的控制芯片是SED1335, 是日本EPSON 公司生产的一款液晶显示屏专用控制器, 与同类产品相比功能最强。其特点主要是: 有较强功能的I /O 缓冲器; 指令功能丰富; 4位数据并行发送; 图形和文本方式混合显示。触摸部分的控制芯片是模拟数据转换器ADS7843, 是美国T i公司生产的具有同步串行接口的8 位、12位数据输出, 四线电阻触摸屏模数转换接口芯片。它通过标准SPI协议和CPU 通信; 精度高, 当使用12位时精度达到0. 04mm, 可以达到X, Y 方向上的1/256, 1 /4096精度; 最大可接受电流? 50mA, 典型值为数uA; 工作电压为- 0. 3- + 6V; 工作时钟典型值2MH z即数量级是uS; 当触摸屏被按下时( 即有触摸事件发生) ,ADS7843会发出中断请求。

  在出现数次问题后, 我们都发现显示部分正常, 而触摸部分不正常, 也就是ADS7843的使用有问题, 其内部结构原理图如图3所示。从图上我们可以看见主要有四通道信号转换器、逐次逼近寄存器( SAR )、电容型数据/转换器( CDAC )、比较器、串行接口与控制器功能模块组成。其中与编程有关的信号是DCLK、/CS、DIN、DOUT、BUSY、/PENIRQ,数据流向见图4所示。

图3 AD7843内部原理结构

图4 ADS7843接口图

  对于ADS7843来说, 除了电源与地线, 输入模拟信号X+ 、X- 、Y+ 、Y - 、IN3、IN4, 输入数字信号DCLK、/CS、DIN;输出数字信号BUSY、DOUT、/PEN IRQ.与编程有关的均是数字信号, 数据输入、输出、时钟输入均为串行方式, 最高转换速率为1/125KH z, 线路设计结构上比较方便只需要6根端口线单片机就可以建立完全的数据交互。

  2. 4 现象分析

  采用80196的P1口的6个端口专门与其打交道, 从硬件上讲是完全可以的。然而由于在编程中P1口有些端口是作输入、有些端口需要作为输出, 80196又没有对位直接进行操作的指令, 对P1某一个端口作输出操作, 通常196会先读P1口的8个管脚, 然后再进行 写!的操作, 根据P1口结构, 必然会带来若作为输入端口的管脚在其外部输入信号为低时, 执行 写!指令后出现了将其输入状态改为了输出状态。此时在80196与ADS7843的DOUT与/PEN IRQ这两根线上都将出现了同一根线上出现两个输出信号、争抢信号的问题, 这是数字电路中绝对不允许的, 它的出现就有可能损坏芯片。

  根据资料介绍, 在编程操作中, 当P1口中有些管脚作为输入, 有些管脚作为输出时要特别注意对P1 口写指令操作,它是一个读、写过程, 最好借助于一些单元。  3 软件设计分析

  对于按键的处理, 系统采用中断方式, 流程如图5所示。

图5按键流程图

  主要相关程序如下:

  /* 触摸屏写控制指令、读数据子程序* /

  LDB R6, # 08H ; 写8位控制指令代码

  CLRC; LDB AL, COM ; 指令代码准备发送

  ADS7843_W: SHLB AL, # 1 ; 数据串行发送

  JC S_D I_1; JMP S_DI_0

  S_DI_1: LDB BL, IOPORT1 ; 将P1 口状态保存在BL 寄存器中

  ORB BL, # 03H ; 将数据出DOUT置高, 数据入DIN 为信号输入状态

  LDB IOPORT1, BL ; 将修改后的状态送至P1口

  JMP SKCLK

  S_DI_0: LDB BL, IOPORT1 ; 将P1 口状态保存在BL 寄存器中

  ANDB BL, # 0FEH ; 将数据出DOUT 置低

  ORB BL, # 02H ; 数据入D IN为信号输入状态

  LDB IOPORT1, BL; 将修改后的状态送至P1口

  SKCLK: LDB BL, IOPORT1 ; 将P1口状态保存在BL寄存器中

  ANDB BL, # 0F7H ; 时钟信号DCLK为低

  ORB BL, # 01H ; 将数据出DOUT 置高

  LDB IOPORT1, BL ; 将修改后的状态送至P1口

  LDB BL, IOPORT1 ; 将P1口状态保存在BL寄存器中

  ORB BL, # 09H ; 时钟信号DCLK 为高, 将数据出DOUT置高

  LDB IOPORT1, BL ; 将修改后的状态送至P1口

  DJNZ R6, ADS7843_W ; 8位指令送完

  LDB BL, IOPORT1 ; 将P1口状态保存在BL寄存器中

  ANDB BL, # 0F7H ; 时钟信号DCLK为低

  ORB BL, # 01H ; 将数据出DOUT 置高

  LDB IOPORT1, BL ; 将修改后的状态送至P1口

  /* 准备接受触摸屏按键读14 位数据数据, 先接受低8位数据* /

  LDB R6, # 08H ; 键值设定方向读低8位数据程序

  DATA_OUT: LDB BL, IOPORT1 ; 将P1口状态保存在BL寄存器中

  ORB BL, # 09H ; 时钟信号DCLK 为高, 将数据出DOUT置高

  LDB IOPORT1, BL ; 将修改后的状态送至P1口

  LDB BL, IOPORT1 ; 将P1口状态保存在BL寄存器中

  ANDB BL, # 0F7H ; 时钟信号DCLK为低

  ORB BL, # 01H ; 将数据出DOUT 置高

  LDB IOPORT1, BL ; 将修改后的状态送至P1口

  SHLB AL, # 1 ; 数据左移一位

  JBS IOPORT1, 0, DI_O_1 ; 判数据入DIN 高?

  ANDB AL, # 0FEH ; 数据入DIN低, 输入0

  JMP DATA_OUT1

  DI_O_1: ORB AL, # 01H ; 数据入DIN高, 输入1

  DATA_OUT1: DJNZ R6, DATA_OUT ; 8位数据读完

  STB AL, FIRST ; 低8位数据保存至FIRST单元同样处理接受数据高4位数据

  …… …… ; 4位数据读完, 数据保存。读14 位数据程序完成后返回

  程序上机调试后再没有出现触摸屏与单片机之间指令不执行, 烧坏触摸芯片的问题。也许你会发现, 在程序编程中, 我们使用了BL寄存器作P1口的过渡保护单元, 对输出信号采用了对位的或、与方式达到输出“1”、 “0”电平。保证P1的输入端口不会因其他P1 端口的操作而改变其状态, 在信号线上出现两个输出、争抢信号的现象。这就是触摸屏出问题的主要原因。

  4   结语

  在项目鉴定时, 专家们给出了系统设计新颖、结构合理、功能比较完善, 扩展性强, 有一定的市场空间。特别提到了每个触摸键设计合理、反映正确的结论。

  在本项目结束时还有一个关于按键的遗留问题: 由于是使用单端模式工作, 且CPU 接到请求后, 为了消除抖动、防止误触发, 延时后再响应其请求, 造成了按键反映迟缓, 这是一个硬件、软件都需改进的问题, 硬件需换模拟数据转换芯片,软件上延时可以短一些。

关键字:触摸屏技术  单片机 编辑:探路者 引用地址:触摸屏技术在16位单片机中的应用

上一篇:一款可调稳压电源电路设计方案
下一篇:PCB设计中的阻抗匹配与0欧电阻

推荐阅读最新更新时间:2023-10-12 22:28

基于单片机的豆浆机定时系统的设计
0 引言 本系统是设计一个由定时开关控制的豆浆机。由于目前市面上一些定时的豆浆机几乎都是定时30min或15min而不能任意进行定时设置。本设计可通过按键预置时间,通过计数器倒计时的方式进行计数。当达到预置时间时,通过单片机控制豆浆机自动开启,从而不用早起,能节约时间,节省资源,当豆浆煮熟以后自动保温或者断电。 1 系统组成 系统由单片机、键盘输入电路、液晶电路、缺水检测电路、溢出检测电路、82废检测电路、报警指示电路等组成。硬件结构框图如图1所示。 1.1 单片机系统 系统采用AT89S52作为控制核心,配备键盘和液晶显示电路。 AT89S52是Atmel公司新推出的一种低功耗、高性能CMOS
[单片机]
基于<font color='red'>单片机</font>的豆浆机定时系统的设计
基于Linux 下ARM 和单片机的串口通信设计
0 引言 数据采集系统中由于单片机侧重于控制,数据处理能力较弱,对采集的数据进行运算处理比较繁琐,如果通过串口与上位机通信,利用上位机强大的数据处理能力和友好的控制界面对数据进行处理和显示则可以提高设计效率。串口通信以其简单的硬件连接,成熟的通信协议,成为上下位机之间通信的首选。移植了Linux 操作系统的s3c2440 可以在Linux 环境下操作串口,降低了串口操作的难度,可以使开发者集中精力开发大规模的应用程序,而不必在操作底层设计上耗费时间。 1 硬件连接 s3c2440 是三星公司生产的基于ARM9 核的处理器,采用3.3 V 电压供电; C8051Fxxx 系列单片机是美国CYGNAL 公司推出的与8
[单片机]
普通51单片机驱动3.5寸TFT的应用实例与源代码!
  前市场流行的3.5寸屏基本上都是只内置了驱动器,而不带控制器,这样给用户的使用造成了一些难度。基本上很多朋友在用彩屏时选择一些带 LCD 控制器的ARM7或ARM9去开发,对于不会ARM开发的朋友来说,只使用普通MCU,这样可以选择的3.5寸TFT模块,就很难找到了。   本文就是基于市场上一款比较使用的3.5寸TFT模块编写的,用户只需要帮该TFT模块当作普通的单色液晶的开发思路来使用,就可以很容易去编程。   一、 硬件选择   1、 MCU:AT89S51   2、 开发编译环境:Keil C51   3、 3.5寸TFT模块型号:MzT35C1   二、 TFT模块基本性能:   1、
[单片机]
普通51<font color='red'>单片机</font>驱动3.5寸TFT的应用实例与源代码!
构建完整工业ADC接口的微控制器和调制器
  设计师们通常使用0至20-mA和0到10V的隔离输入作为工业应用控制的信号。由隔离电源、AnalogDevicesAD7400调制器内置隔离及TexasInstrumentsMSP430微控制器共同为工业设计师要求的一种完整、隔离且牢靠的模拟信号接口创建一种设计。其中精确的信号调节电路生成AD7400所需的较小的差分电压(图1),该电路可生成所需的200-mV差分电压。为清晰起见,图中略去了过压二极管和保护电路。         0至20-mA电流通过一个适当值的电阻R2转换成电压,进入一个精密的运算放大器中。在放大器的正向输入端维持恒定的电压,从而使连接到负向输入的信号电平得到正向偏移。0至10V的信号,如
[工业控制]
基于中颖SH79F085单片机的电子秤设计方案
  目前,市场 上的电子秤系统主 要采用两种方案实现对传感器模拟信号采样:双积分电路和高精度模数转换器(ADC)。   双积分电路是采用一种间接式的A/D转换器,它的基本原理是把待转换的模拟电压变换为与之成比例的时间间隔t,并在t时间内,用恒定频率的脉冲去计数,这就把时间t转换成了数字信号量。双积分电路由于电路复杂,转换时需要软件干预,以及精度较低(一般小于12位)不能满足高端电子秤应用,因此逐渐被市场淘汰。   高精度ADC一般采用Σ-Δ型转换器,通常分辨率在16位以上。∑-Δ转换器又称为过采样转换器,这种转换器由∑-Δ调制器及连接其后的数字滤波器构成,调制器的结构包括1个积分器和1个比较器,以及含有1个1位数模转换
[单片机]
基于中颖SH79F085<font color='red'>单片机</font>的电子秤设计方案
智能无线通信对推进汽车安全系统解决方案
智能无线通信   智能无线通讯要求自动操作,即不需要使用者按任何按钮,系统可以自己检测或发送信号,100%独立,在不同的环境下可以自学习和自适应,在有噪音的环境下可以排除噪音正常的工作。   上述智能无线通讯系统有很多的要求,第一个要求是体积小、成本低,解决方案用一个智能的单片机来实现,单片机由数字和模拟前端组合成一个芯片;第二个要求是经济的双向通讯,基站命令用125KHz低频发送,高频响应,用低频发送成本逐渐降低;第三个要求是通讯距离在2米以上,其应答器有高度的输入灵敏度,在3毫伏左右;工作在有噪声的环境下,因为在一般环境下有很多的噪音干扰,所以在设计系统的时候要求有高度的灵敏度非常重要;此外就是消除天线的方向性,因为控
[汽车电子]
智能无线通信对推进汽车安全系统解决方案
25-基于单片机的多路彩灯设计
具体仿真功能: ①开始/停止按键控制流水灯的启动和停止; ②自动/手动按键用于切换自动模式与手动模式; ③手动按键用于切换手动模式下的流水灯模式。 设计介绍 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 ST
[单片机]
25-基于<font color='red'>单片机</font>的多路彩灯设计
基于C89C58RD+单片机与VS1003实现MP3播放器设计
引 言 随着电子技术的发展, MP3 播放器是目前市场上流行的消费类数码产品之一, 具有大容量、高音质、小巧便携等特点而倍受广大消费者的青睐 。本文采用ETC 公司的微控制器ST C89C58RD+ , 结合解码芯片VS1003、USB 接口芯片CH375、LCD 等外围设备设计并实现了MP3 播放器。主要功能有: 播放VS1003 支持的所有音频文件, 包括MP3, WMA, WAV 文件 ,且音质非常好, 具有按键控制播放上一首/ 下一首、音量增减等, 可通过LCD 显示歌曲名字和播放状态信息等功能。 1 硬件系统设计 系统工作原理框图如图1 所示。系统启动后, 单片机通过USB 接口芯片CH375, 从U 盘中获取MP3
[单片机]
基于C89C58RD+<font color='red'>单片机</font>与VS1003实现MP3播放器设计
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved